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