[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