From 060f900858667cf9dd7966aefa4ec45b76e3417f Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Fri, 24 Feb 2012 08:33:05 +0000 Subject: Add --keep option --- cmdtest | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'cmdtest') diff --git a/cmdtest b/cmdtest index d2889d7..bf21f6f 100755 --- a/cmdtest +++ b/cmdtest @@ -51,17 +51,18 @@ class CommandTester(cliapp.Application): 'run only TEST (can be given many times)', metavar='TEST') self.settings.boolean(['timings'], 'report how long each test takes') + self.settings.boolean(['keep', 'k'], 'keep temporary data on failure') def process_args(self, dirnames): self.setup_ttystatus() - td = self.load_tests(dirnames) - self.ts['tests'] = td.tests - self.timings = {} self.timings[ALL_TESTS] = {} suite_started = time.time() + td = self.load_tests(dirnames) + self.ts['tests'] = td.tests + errors = 0 self.setup_tempdir() self.run_script(ALL_TESTS, td.setup_once) @@ -78,7 +79,11 @@ class CommandTester(cliapp.Application): self.run_script(test.name, td.teardown) self.timings[test.name][COMPLETE_TEST] = time.time() - started self.run_script(ALL_TESTS, td.teardown_once) - self.cleanup_tempdir() + + keep_tempdir = errors and self.settings['keep'] + if not keep_tempdir: + self.cleanup_tempdir() + self.timings[ALL_TESTS][COMPLETE_TEST] = time.time() - suite_started ok = len(td.tests) - errors @@ -86,6 +91,9 @@ class CommandTester(cliapp.Application): self.output.write('%d/%d tests OK, %d failures\n' % (ok, len(td.tests), errors)) + if keep_tempdir: + self.output.write('Test work area: %s\n' % self.tempdir) + if self.settings['timings']: self.report_timings() -- cgit v1.2.1