Rev 5555: Work in progress to show mgz. in file:///home/vila/src/bzr/bugs/683505-test-no-log/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Wed Dec 1 14:17:31 GMT 2010
At file:///home/vila/src/bzr/bugs/683505-test-no-log/
------------------------------------------------------------
revno: 5555
revision-id: v.ladeuil+lp at free.fr-20101201141731-dd84hq8l0x5zf1ok
parent: pqm at pqm.ubuntu.com-20101130054940-74uuru7wuvgla2oz
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 683505-test-no-log
timestamp: Wed 2010-12-01 15:17:31 +0100
message:
Work in progress to show mgz.
-------------- next part --------------
=== modified file 'bzrlib/tests/__init__.py'
--- a/bzrlib/tests/__init__.py 2010-11-19 23:03:19 +0000
+++ b/bzrlib/tests/__init__.py 2010-12-01 14:17:31 +0000
@@ -2984,7 +2984,7 @@
strict=strict,
result_decorators=result_decorators,
)
- runner.stop_on_failure=stop_on_failure
+ runner.stop_on_failure = stop_on_failure
# built in decorator factories:
decorators = [
random_order(random_seed, runner),
=== modified file 'bzrlib/tests/test_selftest.py'
--- a/bzrlib/tests/test_selftest.py 2010-11-19 23:03:19 +0000
+++ b/bzrlib/tests/test_selftest.py 2010-12-01 14:17:31 +0000
@@ -26,6 +26,7 @@
import unittest
import warnings
+import testtools
from testtools import (
ExtendedToOriginalDecorator,
MultiTestResult,
@@ -2010,14 +2011,15 @@
class SelfTestHelper(object):
- def run_selftest(self, **kwargs):
+ def run_selftest(self, expected_retcode=True, **kwargs):
"""Run selftest returning its output."""
output = StringIO()
old_transport = bzrlib.tests.default_transport
old_root = tests.TestCaseWithMemoryTransport.TEST_ROOT
tests.TestCaseWithMemoryTransport.TEST_ROOT = None
try:
- self.assertEqual(True, tests.selftest(stream=output, **kwargs))
+ retcode = tests.selftest(stream=output, **kwargs)
+ self.assertEqual(expected_retcode, retcode)
finally:
bzrlib.tests.default_transport = old_transport
tests.TestCaseWithMemoryTransport.TEST_ROOT = old_root
@@ -2169,12 +2171,13 @@
_test_needs_features = [features.subunit]
- def run_subunit_stream(self, test_name):
+ def run_subunit_stream(self, test_name, expected_retcode):
from subunit import ProtocolTestCase
def factory():
return TestUtil.TestSuite([_get_test(test_name)])
- stream = self.run_selftest(runner_class=tests.SubUnitBzrRunner,
- test_suite_factory=factory)
+ stream = self.run_selftest(expected_retcode=expected_retcode,
+ runner_class=tests.SubUnitBzrRunner,
+ test_suite_factory=factory)
test = ProtocolTestCase(stream)
result = testtools.TestResult()
test.run(result)
@@ -2182,18 +2185,25 @@
return content, result
def test_fail_has_log(self):
- content, result = self.run_subunit_stream('test_fail')
+ content, result = self.run_subunit_stream('test_fail', False)
self.assertEqual(1, len(result.failures))
self.assertContainsRe(content, '(?m)^log$')
self.assertContainsRe(content, 'this test will fail')
def test_error_has_log(self):
- content, result = self.run_subunit_stream('test_error')
+ import pdb; pdb.set_trace()
+ if testtools.__version__ >= (0, 9, 8):
+ # Starting with version 0.9.8, an error makes the overall run fails
+ expected_retcode = True
+ else:
+ expected_retcode = False
+ content, result = self.run_subunit_stream('test_error',
+ expected_retcode)
self.assertContainsRe(content, '(?m)^log$')
self.assertContainsRe(content, 'this test errored')
def test_skip_has_no_log(self):
- content, result = self.run_subunit_stream('test_skip')
+ content, result = self.run_subunit_stream('test_skip', True)
self.assertNotContainsRe(content, '(?m)^log$')
self.assertNotContainsRe(content, 'this test will be skipped')
self.assertEqual(['reason'], result.skip_reasons.keys())
@@ -2204,7 +2214,7 @@
## self.assertFalse('log' in test.getDetails())
def test_missing_feature_has_no_log(self):
- content, result = self.run_subunit_stream('test_missing_feature')
+ content, result = self.run_subunit_stream('test_missing_feature', True)
self.assertNotContainsRe(content, '(?m)^log$')
self.assertNotContainsRe(content, 'missing the feature')
self.assertEqual(['_MissingFeature\n'], result.skip_reasons.keys())
@@ -2215,7 +2225,7 @@
## self.assertFalse('log' in test.getDetails())
def test_xfail_has_no_log(self):
- content, result = self.run_subunit_stream('test_xfail')
+ content, result = self.run_subunit_stream('test_xfail', True)
self.assertNotContainsRe(content, '(?m)^log$')
self.assertNotContainsRe(content, 'test with expected failure')
self.assertEqual(1, len(result.expectedFailures))
@@ -2224,7 +2234,7 @@
self.assertNotContainsRe(result_content, 'test with expected failure')
def test_unexpected_success_has_log(self):
- content, result = self.run_subunit_stream('test_unexpected_success')
+ content, result = self.run_subunit_stream('test_unexpected_success', False)
self.assertContainsRe(content, '(?m)^log$')
self.assertContainsRe(content, 'test with unexpected success')
self.expectFailure('subunit treats "unexpectedSuccess"'
@@ -2236,7 +2246,7 @@
## self.assertTrue('log' in test.getDetails())
def test_success_has_no_log(self):
- content, result = self.run_subunit_stream('test_success')
+ content, result = self.run_subunit_stream('test_success', True)
self.assertEqual(1, result.testsRun)
self.assertNotContainsRe(content, '(?m)^log$')
self.assertNotContainsRe(content, 'this test succeeds')
More information about the bazaar-commits
mailing list