diff options
author | Lars Wirzenius <liw@liw.fi> | 2012-02-24 08:33:05 +0000 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2012-02-24 08:33:05 +0000 |
commit | 060f900858667cf9dd7966aefa4ec45b76e3417f (patch) | |
tree | 5bcc62c2e5770990ea91a67f9db837ec80008db4 /cmdtest | |
parent | d0ece99c40b64345183ecb1a64aaf3691224ccc5 (diff) | |
download | cmdtest-060f900858667cf9dd7966aefa4ec45b76e3417f.tar.gz |
Add --keep option
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() |