diff options
Diffstat (limited to 'cmdtest')
-rwxr-xr-x | cmdtest | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -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() |