summaryrefslogtreecommitdiff
path: root/cmdtest
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2012-02-24 08:33:05 +0000
committerLars Wirzenius <liw@liw.fi>2012-02-24 08:33:05 +0000
commit060f900858667cf9dd7966aefa4ec45b76e3417f (patch)
tree5bcc62c2e5770990ea91a67f9db837ec80008db4 /cmdtest
parentd0ece99c40b64345183ecb1a64aaf3691224ccc5 (diff)
downloadcmdtest-060f900858667cf9dd7966aefa4ec45b76e3417f.tar.gz
Add --keep option
Diffstat (limited to 'cmdtest')
-rwxr-xr-xcmdtest16
1 files changed, 12 insertions, 4 deletions
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()