Rev 3200: Get rid of ~1000 useless log files out of 10.000 tests in /tmp. in file:///v/home/vila/src/bzr/bugs/123363-tmp-pollution/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Tue Jan 29 08:21:26 GMT 2008
At file:///v/home/vila/src/bzr/bugs/123363-tmp-pollution/
------------------------------------------------------------
revno: 3200
revision-id:v.ladeuil+lp at free.fr-20080129082119-gerd998iwffytp6i
parent: pqm at pqm.ubuntu.com-20080123180146-9pkott489spjwv8q
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 123363-tmp-pollution
timestamp: Tue 2008-01-29 09:21:19 +0100
message:
Get rid of ~1000 useless log files out of 10.000 tests in /tmp.
* bzrlib/tests/test_selftest.py:
(TestRunner.test_skipped_log_deleted,
TestRunner.test_not_aplicable_log_deleted,
TestRunner.test_known_failure_log_deleted): Add tests checking
that the log is deleted for skipped, not applicable and known
failures tests.
* bzrlib/tests/__init__.py:
(ExtendedTestResult.addError, ExtendedTestResult.addFailure,
ExtendedTestResult.addSuccess): Keep log only on true failures and
errors.
modified:
bzrlib/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/test_selftest.py test_selftest.py-20051202044319-c110a115d8c0456a
-------------- next part --------------
=== modified file 'bzrlib/tests/__init__.py'
--- a/bzrlib/tests/__init__.py 2008-01-23 16:25:18 +0000
+++ b/bzrlib/tests/__init__.py 2008-01-29 08:21:19 +0000
@@ -275,6 +275,7 @@
elif isinstance(err[1], UnavailableFeature):
return self.addNotSupported(test, err[1].args[0])
else:
+ self._cleanupLogFile(test)
unittest.TestResult.addError(self, test, err)
self.error_count += 1
self.report_error(test, err)
@@ -291,6 +292,7 @@
if isinstance(err[1], KnownFailure):
return self._addKnownFailure(test, err)
else:
+ self._cleanupLogFile(test)
unittest.TestResult.addFailure(self, test, err)
self.failure_count += 1
self.report_failure(test, err)
@@ -310,6 +312,7 @@
self._formatTime(benchmark_time),
test.id()))
self.report_success(test)
+ self._cleanupLogFile(test)
unittest.TestResult.addSuccess(self, test)
def _testConcluded(self, test):
@@ -317,7 +320,7 @@
Called regardless of whether it succeded, failed, etc.
"""
- self._cleanupLogFile(test)
+ pass
def _addKnownFailure(self, test, err):
self.known_failure_count += 1
@@ -1310,6 +1313,8 @@
import bzrlib.trace
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)
=== modified file 'bzrlib/tests/test_selftest.py'
--- a/bzrlib/tests/test_selftest.py 2008-01-21 15:16:38 +0000
+++ b/bzrlib/tests/test_selftest.py 2008-01-29 08:21:19 +0000
@@ -1221,6 +1221,12 @@
revision_id = workingtree.get_parent_ids()[0]
self.assertEndsWith(output_string.rstrip(), revision_id)
+ 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"""
@@ -1234,10 +1240,55 @@
test = LogTester('test_success')
result = self.run_test_runner(runner, 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)
+ self.assertLogDeleted(test)
+
+ def test_skipped_log_deleted(self):
+ """Skipped tests have their log deleted"""
+
+ class LogTester(TestCase):
+
+ def test_skipped(self):
+ self.log('this will be removed\n')
+ raise tests.TestSkipped()
+
+ sio = cStringIO.StringIO()
+ runner = 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(TestCase):
+
+ def test_not_applicable(self):
+ self.log('this will be removed\n')
+ raise tests.TestNotApplicable()
+
+ sio = cStringIO.StringIO()
+ runner = 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(TestCase):
+
+ def test_known_failure(self):
+ self.log('this will be removed\n')
+ raise tests.KnownFailure()
+
+ sio = cStringIO.StringIO()
+ runner = TextTestRunner(stream=sio)
+ test = LogTester('test_known_failure')
+ result = self.run_test_runner(runner, test)
+
+ self.assertLogDeleted(test)
def test_fail_log_kept(self):
"""Failed tests have their log kept"""
More information about the bazaar-commits
mailing list