[MERGE] fix up test_bench_history more
Andrew Bennetts
andrew at canonical.com
Wed Aug 23 05:19:43 BST 2006
Aaron Bentley wrote:
[...]
> > Only problem I see is that it won't work on an installed bzr.
> > So if we can check for that (say by catching NotBranchError, and just
> > raising TestSkipped).
> >
> > +1 either way. And seems trivial enough for 0.10.
>
> Thanks. Merged, with the suggested skip.
Actually, I bumped into a further problem -- if the format of the bzr branch
isn't recognised, then this still breaks. Also, Martin pointed out to me that
there's a _get_bzr_source_tree function that already either finds the
workingtree or returns None, so rather than reinventing it ad hoc I've updated
the test to use it. I also had to relax the regex assertion because if there is
no workingtree, then there's no revision, so the output we're compariing will
look a bit different. The regex issue also affected
test_assigned_benchmark_file_stores_date.
I've attached a bundle with these changes.
-Andrew.
-------------- next part --------------
# Bazaar revision bundle v0.8
#
# message:
# Relax test_assigned_benchmark_file_stores_date's regexp the same way we relaxed test_bench_history's.
# committer: Andrew Bennetts <andrew.bennetts at canonical.com>
# date: Wed 2006-08-23 13:52:52.331000090 +1000
=== modified file bzrlib/tests/test_selftest.py
--- bzrlib/tests/test_selftest.py
+++ bzrlib/tests/test_selftest.py
@@ -38,6 +38,7 @@
import bzrlib.errors as errors
from bzrlib import symbol_versioning
from bzrlib.trace import note
+from bzrlib.version import _get_bzr_source_tree
class SelftestTests(TestCase):
@@ -587,7 +588,8 @@
output_string = output.getvalue()
# if you are wondering about the regexp please read the comment in
# test_bench_history (bzrlib.tests.test_selftest.TestRunner)
- self.assertContainsRe(output_string, "--date [0-9.]+ \S")
+ # XXX: what comment? -- Andrew Bennetts
+ self.assertContainsRe(output_string, "--date [0-9.]+")
def test_benchhistory_records_test_times(self):
result_stream = StringIO()
@@ -705,20 +707,19 @@
self.assertTrue(result.wasSuccessful())
def test_bench_history(self):
- import bzrlib.branch
- try:
- branch = bzrlib.branch.Branch.open_containing(__file__)[0]
- except errors.NotBranchError:
- raise TestSkipped(
- 'Test must be run in a bzr.dev tree, not an installed copy.')
+ # tests that the running the benchmark produces a history file
+ # containing a timestamp and the revision id of the bzrlib source which
+ # was tested.
+ workingtree = _get_bzr_source_tree()
test = TestRunner('dummy_test')
output = StringIO()
runner = TextTestRunner(stream=self._log_file, bench_history=output)
result = self.run_test_runner(runner, test)
output_string = output.getvalue()
- self.assertContainsRe(output_string, "--date [0-9.]+ \S")
- revision_id = branch.last_revision()
- self.assertEndsWith(output_string.rstrip(), revision_id)
+ self.assertContainsRe(output_string, "--date [0-9.]+")
+ if workingtree is not None:
+ revision_id = workingtree.last_revision()
+ self.assertEndsWith(output_string.rstrip(), revision_id)
class TestTestCase(TestCase):
=== modified file bzrlib/version.py // last-changed:andrew.bennetts at canonical.c
... om-20060823034154-94b7cb9126bade61
--- bzrlib/version.py
+++ bzrlib/version.py
@@ -63,5 +63,5 @@
try:
from bzrlib.workingtree import WorkingTree
return WorkingTree.open_containing(__file__)[0]
- except errors.NotBranchError:
+ except (errors.NotBranchError, errors.UnknownFormatError):
return None
# revision id: andrew.bennetts at canonical.com-20060823035252-470ec76fa9d07b15
# sha1: 7a82543689bbdf5d61ec302288bb0927c4e815d6
# inventory sha1: 5ab016efb40a4c6779af705df34c48fad0654cf4
# parent ids:
# andrew.bennetts at canonical.com-20060823034154-94b7cb9126bade61
# base id: pqm at pqm.ubuntu.com-20060822222325-10c74ceeec1708fc
# properties:
# branch-nick: test tweaks
# message:
# Make test_bench_history and _get_bzr_source_tree tolerant of UnknownFormatError for the bzr workingtree.
# committer: Andrew Bennetts <andrew.bennetts at canonical.com>
# date: Wed 2006-08-23 13:41:54.766000032 +1000
=== modified file bzrlib/tests/test_selftest.py // encoding:base64
LS0tIGJ6cmxpYi90ZXN0cy90ZXN0X3NlbGZ0ZXN0LnB5CisrKyBienJsaWIvdGVzdHMvdGVzdF9z
ZWxmdGVzdC5weQpAQCAtMzgsNiArMzgsNyBAQAogaW1wb3J0IGJ6cmxpYi5lcnJvcnMgYXMgZXJy
b3JzCiBmcm9tIGJ6cmxpYiBpbXBvcnQgc3ltYm9sX3ZlcnNpb25pbmcKIGZyb20gYnpybGliLnRy
YWNlIGltcG9ydCBub3RlCitmcm9tIGJ6cmxpYi52ZXJzaW9uIGltcG9ydCBfZ2V0X2J6cl9zb3Vy
Y2VfdHJlZQogCiAKIGNsYXNzIFNlbGZ0ZXN0VGVzdHMoVGVzdENhc2UpOgpAQCAtNzA1LDIwICs3
MDYsMTkgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3VsdC53YXNTdWNjZXNzZnVsKCkp
CiAKICAgICBkZWYgdGVzdF9iZW5jaF9oaXN0b3J5KHNlbGYpOgotICAgICAgICBpbXBvcnQgYnpy
bGliLmJyYW5jaAotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBicmFuY2ggPSBienJsaWIuYnJh
bmNoLkJyYW5jaC5vcGVuX2NvbnRhaW5pbmcoX19maWxlX18pWzBdCi0gICAgICAgIGV4Y2VwdCBl
cnJvcnMuTm90QnJhbmNoRXJyb3I6Ci0gICAgICAgICAgICByYWlzZSBUZXN0U2tpcHBlZCgKLSAg
ICAgICAgICAgICAgICAnVGVzdCBtdXN0IGJlIHJ1biBpbiBhIGJ6ci5kZXYgdHJlZSwgbm90IGFu
IGluc3RhbGxlZCBjb3B5LicpCisgICAgICAgICMgdGVzdHMgdGhhdCB0aGUgcnVubmluZyB0aGUg
YmVuY2htYXJrIHByb2R1Y2VzIGEgaGlzdG9yeSBmaWxlCisgICAgICAgICMgY29udGFpbmluZyBh
IHRpbWVzdGFtcCBhbmQgdGhlIHJldmlzaW9uIGlkIG9mIHRoZSBienJsaWIgc291cmNlIHdoaWNo
CisgICAgICAgICMgd2FzIHRlc3RlZC4KKyAgICAgICAgd29ya2luZ3RyZWUgPSBfZ2V0X2J6cl9z
b3VyY2VfdHJlZSgpCiAgICAgICAgIHRlc3QgPSBUZXN0UnVubmVyKCdkdW1teV90ZXN0JykKICAg
ICAgICAgb3V0cHV0ID0gU3RyaW5nSU8oKQogICAgICAgICBydW5uZXIgPSBUZXh0VGVzdFJ1bm5l
cihzdHJlYW09c2VsZi5fbG9nX2ZpbGUsIGJlbmNoX2hpc3Rvcnk9b3V0cHV0KQogICAgICAgICBy
ZXN1bHQgPSBzZWxmLnJ1bl90ZXN0X3J1bm5lcihydW5uZXIsIHRlc3QpCiAgICAgICAgIG91dHB1
dF9zdHJpbmcgPSBvdXRwdXQuZ2V0dmFsdWUoKQotICAgICAgICBzZWxmLmFzc2VydENvbnRhaW5z
UmUob3V0cHV0X3N0cmluZywgIi0tZGF0ZSBbMC05Ll0rIFxTIikKLSAgICAgICAgcmV2aXNpb25f
aWQgPSBicmFuY2gubGFzdF9yZXZpc2lvbigpCi0gICAgICAgIHNlbGYuYXNzZXJ0RW5kc1dpdGgo
b3V0cHV0X3N0cmluZy5yc3RyaXAoKSwgcmV2aXNpb25faWQpCisgICAgICAgIHNlbGYuYXNzZXJ0
Q29udGFpbnNSZShvdXRwdXRfc3RyaW5nLCAiLS1kYXRlIFswLTkuXSsiKQorICAgICAgICBpZiB3
b3JraW5ndHJlZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHJldmlzaW9uX2lkID0gd29ya2lu
Z3RyZWUubGFzdF9yZXZpc2lvbigpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVuZHNXaXRoKG91
dHB1dF9zdHJpbmcucnN0cmlwKCksIHJldmlzaW9uX2lkKQogCiAKIGNsYXNzIFRlc3RUZXN0Q2Fz
ZShUZXN0Q2FzZSk6Cgo=
=== modified file bzrlib/version.py // encoding:base64
LS0tIGJ6cmxpYi92ZXJzaW9uLnB5CisrKyBienJsaWIvdmVyc2lvbi5weQpAQCAtNjMsNSArNjMs
NSBAQAogICAgIHRyeToKICAgICAgICAgZnJvbSBienJsaWIud29ya2luZ3RyZWUgaW1wb3J0IFdv
cmtpbmdUcmVlCiAgICAgICAgIHJldHVybiBXb3JraW5nVHJlZS5vcGVuX2NvbnRhaW5pbmcoX19m
aWxlX18pWzBdCi0gICAgZXhjZXB0IGVycm9ycy5Ob3RCcmFuY2hFcnJvcjoKKyAgICBleGNlcHQg
KGVycm9ycy5Ob3RCcmFuY2hFcnJvciwgZXJyb3JzLlVua25vd25Gb3JtYXRFcnJvcik6CiAgICAg
ICAgIHJldHVybiBOb25lCgo=
# revision id: andrew.bennetts at canonical.com-20060823034154-94b7cb9126bade61
# sha1: 094dc0b01ccedf88caf436b17b94c523cfcdfd34
# inventory sha1: d749655be94532643de1764eab1173fb9ccae6e9
# parent ids:
# pqm at pqm.ubuntu.com-20060822222325-10c74ceeec1708fc
# properties:
# branch-nick: test tweaks
More information about the bazaar
mailing list