Rev 6234: (gz) Merge from 2.4 branch alternative fix for testtools output failures in file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/

Patch Queue Manager pqm at pqm.ubuntu.com
Wed Oct 26 18:54:26 UTC 2011


At file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 6234 [merge]
revision-id: pqm at pqm.ubuntu.com-20111026185426-dj45600glpvn5vlt
parent: pqm at pqm.ubuntu.com-20111026180526-lrxjatjv7i45pytx
parent: gzlist at googlemail.com-20111026180700-wghj77rqnc6vy3u0
committer: Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Wed 2011-10-26 18:54:26 +0000
message:
  (gz) Merge from 2.4 branch alternative fix for testtools output failures
   (Martin Packman)
modified:
  bzrlib/tests/test_selftest.py  test_selftest.py-20051202044319-c110a115d8c0456a
  doc/en/release-notes/bzr-2.4.txt bzr2.4.txt-20110114053217-k7ym9jfz243fddjm-1
=== modified file 'bzrlib/tests/test_selftest.py'
--- a/bzrlib/tests/test_selftest.py	2011-10-18 10:42:59 +0000
+++ b/bzrlib/tests/test_selftest.py	2011-10-26 16:48:58 +0000
@@ -30,7 +30,6 @@
 from testtools import (
     ExtendedToOriginalDecorator,
     MultiTestResult,
-    __version__ as testtools_version,
     )
 from testtools.content import Content
 from testtools.content_type import ContentType
@@ -1063,31 +1062,20 @@
                 self.expectFailure("No absolute truth", self.assertTrue, True)
         runner = tests.TextTestRunner(stream=StringIO())
         result = self.run_test_runner(runner, Test("test_truth"))
-        if testtools_version[:3] <= (0, 9, 11):
-            self.assertContainsRe(runner.stream.getvalue(),
-                "=+\n"
-                "FAIL: \\S+\.test_truth\n"
-                "-+\n"
-                "(?:.*\n)*"
-                "No absolute truth\n"
-                "(?:.*\n)*"
-                "-+\n"
-                "Ran 1 test in .*\n"
-                "\n"
-                "FAILED \\(failures=1\\)\n\\Z")
-        else:
-            self.assertContainsRe(runner.stream.getvalue(),
-                "=+\n"
-                "FAIL: \\S+\.test_truth\n"
-                "-+\n"
-                "Empty attachments:\n"
-                "  log\n"
-                "\n"
-                "reason: {{{No absolute truth}}}\n"
-                "-+\n"
-                "Ran 1 test in .*\n"
-                "\n"
-                "FAILED \\(failures=1\\)\n\\Z")
+        self.assertContainsRe(runner.stream.getvalue(),
+            "=+\n"
+            "FAIL: \\S+\.test_truth\n"
+            "-+\n"
+            "(?:.*\n)*"
+            "\\s*(?:Text attachment: )?reason"
+            "(?:\n-+\n|: {{{)"
+            "No absolute truth"
+            "(?:\n-+\n|}}}\n)"
+            "(?:.*\n)*"
+            "-+\n"
+            "Ran 1 test in .*\n"
+            "\n"
+            "FAILED \\(failures=1\\)\n\\Z")
 
     def test_result_decorator(self):
         # decorate results
@@ -1252,14 +1240,11 @@
             lambda trace=False: "ascii")
         result = self.run_test_runner(tests.TextTestRunner(stream=out),
             FailureWithUnicode("test_log_unicode"))
-        if testtools_version[:3] > (0, 9, 11):
-            self.assertContainsRe(out.getvalue(), "log: {{{\d+\.\d+  \\\\u2606}}}")
-        else:
-            self.assertContainsRe(out.getvalue(),
-                "Text attachment: log\n"
-                "-+\n"
-                "\d+\.\d+  \\\\u2606\n"
-                "-+\n")
+        self.assertContainsRe(out.getvalue(),
+            "(?:Text attachment: )?log"
+            "(?:\n-+\n|: {{{)"
+            "\d+\.\d+  \\\\u2606"
+            "(?:\n-+\n|}}}\n)")
 
 
 class SampleTestCase(tests.TestCase):
@@ -1744,16 +1729,16 @@
         result = self._run_test('test_fail')
         self.assertEqual(1, len(result.failures))
         result_content = result.failures[0][1]
-        if testtools_version < (0, 9, 12):
-            self.assertContainsRe(result_content, 'Text attachment: log')
+        self.assertContainsRe(result_content,
+            '(?m)^(?:Text attachment: )?log(?:$|: )')
         self.assertContainsRe(result_content, 'this was a failing test')
 
     def test_error_has_log(self):
         result = self._run_test('test_error')
         self.assertEqual(1, len(result.errors))
         result_content = result.errors[0][1]
-        if testtools_version < (0, 9, 12):
-            self.assertContainsRe(result_content, 'Text attachment: log')
+        self.assertContainsRe(result_content,
+            '(?m)^(?:Text attachment: )?log(?:$|: )')
         self.assertContainsRe(result_content, 'this test errored')
 
     def test_skip_has_no_log(self):
@@ -1778,7 +1763,8 @@
         result = self._run_test('test_xfail')
         self.assertEqual(1, len(result.expectedFailures))
         result_content = result.expectedFailures[0][1]
-        self.assertNotContainsRe(result_content, 'Text attachment: log')
+        self.assertNotContainsRe(result_content,
+            '(?m)^(?:Text attachment: )?log(?:$|: )')
         self.assertNotContainsRe(result_content, 'test with expected failure')
 
     def test_unexpected_success_has_log(self):
@@ -2193,7 +2179,8 @@
         self.assertNotContainsRe(content, 'test with expected failure')
         self.assertEqual(1, len(result.expectedFailures))
         result_content = result.expectedFailures[0][1]
-        self.assertNotContainsRe(result_content, 'Text attachment: log')
+        self.assertNotContainsRe(result_content,
+            '(?m)^(?:Text attachment: )?log(?:$|: )')
         self.assertNotContainsRe(result_content, 'test with expected failure')
 
     def test_unexpected_success_has_log(self):

=== modified file 'doc/en/release-notes/bzr-2.4.txt'
--- a/doc/en/release-notes/bzr-2.4.txt	2011-10-26 16:44:52 +0000
+++ b/doc/en/release-notes/bzr-2.4.txt	2011-10-26 18:07:00 +0000
@@ -75,6 +75,9 @@
    suite.  This can include new facilities for writing tests, fixes to 
    spurious test failures and changes to the way things should be tested.
 
+* Accept both old and new style testtools output in selftest tests.
+  (Jelmer Vernooij, Martin Packman, #815423)
+
 * Fix the race for TestingThreadingTCPServer in
   test_server_crash_while_responding. (Vincent Ladeuil, #869366)
 




More information about the bazaar-commits mailing list