Rev 4801: Remove references to _get_log from test_selftest. in http://bazaar.launchpad.net/~lifeless/bzr/subunit
Robert Collins
robertc at robertcollins.net
Sat Dec 5 10:07:47 GMT 2009
At http://bazaar.launchpad.net/~lifeless/bzr/subunit
------------------------------------------------------------
revno: 4801
revision-id: robertc at robertcollins.net-20091205100734-xobmvk2j4yk8kuvw
parent: robertc at robertcollins.net-20091205093203-ag0ns6opjo27tvv0
committer: Robert Collins <robertc at robertcollins.net>
branch nick: subunit
timestamp: Sat 2009-12-05 21:07:34 +1100
message:
Remove references to _get_log from test_selftest.
=== modified file 'bzrlib/tests/__init__.py'
--- a/bzrlib/tests/__init__.py 2009-12-05 09:32:03 +0000
+++ b/bzrlib/tests/__init__.py 2009-12-05 10:07:34 +0000
@@ -798,7 +798,7 @@
(TestNotApplicable, self._do_not_applicable))
self.exception_handlers.insert(0,
(KnownFailure, self._do_known_failure))
- self._log_contents = ''
+ self._log_contents = None
self.addDetail("log", content.Content(content.ContentType("text",
"plain", {"charset": "utf8"}),
lambda:[self._get_log(keep_log_file=True)]))
@@ -1606,10 +1606,6 @@
else:
self._do_skip(result, reason)
- def tearDown(self):
- self._log_contents = ''
- super(TestCase, self).tearDown()
-
def time(self, callable, *args, **kwargs):
"""Run callable and accrue the time it takes to the benchmark time.
@@ -1644,14 +1640,12 @@
self._log_contents.
:return: A string containing the log.
"""
- # flush the log file, to get all content
+ if self._log_contents is not None:
+ return self._log_contents
import bzrlib.trace
if bzrlib.trace._trace_file:
+ # flush the log file, to get all content
bzrlib.trace._trace_file.flush()
- if self._log_contents:
- # XXX: this can hardly contain the content flushed above --vila
- # 20080128
- return self._log_contents
if self._log_file_name is not None:
logfile = open(self._log_file_name)
try:
@@ -1659,6 +1653,7 @@
finally:
logfile.close()
if not keep_log_file:
+ # Permit multiple calls to get_log.
self._log_contents = log_contents
try:
os.remove(self._log_file_name)
@@ -1670,7 +1665,7 @@
raise
return log_contents
else:
- return "DELETED log file to reduce memory footprint"
+ return "No log file content and no log file name."
def requireFeature(self, feature):
"""This test requires a specific feature is available.
=== modified file 'bzrlib/tests/test_selftest.py'
--- a/bzrlib/tests/test_selftest.py 2009-12-05 09:32:03 +0000
+++ b/bzrlib/tests/test_selftest.py 2009-12-05 10:07:34 +0000
@@ -1214,111 +1214,6 @@
self.assertContainsRe(output_string, "--date [0-9.]+")
self.assertLength(1, self._get_source_tree_calls)
- def assertLogDeleted(self, test):
- log = test._get_log()
- self.assertEqual("DELETED log file to reduce memory footprint", log)
- self.assertEqual('', test._log_contents)
- self.assertIs(None, test._log_file_name)
-
- def test_success_log_deleted(self):
- """Successful tests have their log deleted"""
-
- class LogTester(tests.TestCase):
-
- def test_success(self):
- self.log('this will be removed\n')
-
- sio = StringIO()
- runner = tests.TextTestRunner(stream=sio)
- test = LogTester('test_success')
- result = self.run_test_runner(runner, test)
-
- self.assertLogDeleted(test)
-
- def test_skipped_log_deleted(self):
- """Skipped tests have their log deleted"""
-
- class LogTester(tests.TestCase):
-
- def test_skipped(self):
- self.log('this will be removed\n')
- raise tests.TestSkipped()
-
- sio = StringIO()
- runner = tests.TextTestRunner(stream=sio)
- test = LogTester('test_skipped')
- result = self.run_test_runner(runner, test)
-
- self.assertLogDeleted(test)
-
- def test_not_aplicable_log_deleted(self):
- """Not applicable tests have their log deleted"""
-
- class LogTester(tests.TestCase):
-
- def test_not_applicable(self):
- self.log('this will be removed\n')
- raise tests.TestNotApplicable()
-
- sio = StringIO()
- runner = tests.TextTestRunner(stream=sio)
- test = LogTester('test_not_applicable')
- result = self.run_test_runner(runner, test)
-
- self.assertLogDeleted(test)
-
- def test_known_failure_log_deleted(self):
- """Know failure tests have their log deleted"""
-
- class LogTester(tests.TestCase):
-
- def test_known_failure(self):
- self.log('this will be removed\n')
- raise tests.KnownFailure()
-
- sio = StringIO()
- runner = tests.TextTestRunner(stream=sio)
- test = LogTester('test_known_failure')
- result = self.run_test_runner(runner, test)
-
- self.assertLogDeleted(test)
-
- def test_fail_log_shown(self):
- """Failed tests have their log shown"""
-
- class LogTester(tests.TestCase):
-
- def test_fail(self):
- self.log('this will be kept\n')
- self.fail('this test fails')
-
- sio = StringIO()
- runner = tests.TextTestRunner(stream=sio)
- test = LogTester('test_fail')
- result = self.run_test_runner(runner, test)
-
- text = sio.getvalue()
- self.assertContainsRe(text, 'this will be kept')
- self.assertContainsRe(text, 'this test fails')
-
- def test_error_log_shown(self):
- """Tests with errors have their log shown"""
-
- class LogTester(tests.TestCase):
-
- def test_error(self):
- self.log('this will be kept\n')
- raise ValueError('random exception raised')
-
- sio = StringIO()
- runner = tests.TextTestRunner(stream=sio)
- test = LogTester('test_error')
- result = self.run_test_runner(runner, test)
-
- text = sio.getvalue()
- self.assertContainsRe(text, 'this will be kept')
- self.assertContainsRe(text, 'random exception raised')
-
def test_startTestRun(self):
"""run should call result.startTestRun()"""
calls = []
@@ -1488,6 +1383,7 @@
self.assertEqual(set(['original-state']), bzrlib.debug.debug_flags)
def make_test_result(self):
+ """Get a test result that writes to the test log file."""
return tests.TextTestResult(self._log_file, descriptions=0, verbosity=1)
def inner_test(self):
@@ -2681,8 +2577,8 @@
# the test framework
self.assertEquals('always fails', str(e))
# check that there's no traceback in the test log
- self.assertNotContainsRe(self._get_log(keep_log_file=True),
- r'Traceback')
+ log = u"".join(self.getDetails()['log'].iter_text())
+ self.assertNotContainsRe(log, r'Traceback')
def test_run_bzr_user_error_caught(self):
# Running bzr in blackbox mode, normal/expected/user errors should be
@@ -2997,8 +2893,8 @@
tpr.register('bar', 'bbb.aaa.rrr')
tpr.register('bar', 'bBB.aAA.rRR')
self.assertEquals('bbb.aaa.rrr', tpr.get('bar'))
- self.assertContainsRe(self._get_log(keep_log_file=True),
- r'.*bar.*bbb.aaa.rrr.*bBB.aAA.rRR')
+ self.assertThat(u"".join(self.getDetails()['log'].iter_text()),
+ DocTestMatches("...bar...bbb.aaa.rrr...BB.aAA.rRR", ELLIPSIS))
def test_get_unknown_prefix(self):
tpr = self._get_registry()
More information about the bazaar-commits
mailing list