summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Saunier <thibault.saunier@collabora.com>2014-01-24 16:38:12 +0100
committerThibault Saunier <thibault.saunier@collabora.com>2014-02-12 11:23:25 +0100
commit1a9119cb3366e3bf078cf4950df9d3fb0b421ed4 (patch)
tree5b0758fda25abcebbbe4273f5f2329f6ef7da6e6
parent2520f4f110b078e903d902eae87a67b3c74ed445 (diff)
validate: tools: Add a --fatal-error option to the launcher
-rw-r--r--validate/tools/launcher/baseclasses.py12
-rw-r--r--validate/tools/launcher/main.py6
2 files changed, 9 insertions, 9 deletions
diff --git a/validate/tools/launcher/baseclasses.py b/validate/tools/launcher/baseclasses.py
index 5f21591..4316fe1 100644
--- a/validate/tools/launcher/baseclasses.py
+++ b/validate/tools/launcher/baseclasses.py
@@ -335,10 +335,11 @@ class TestsManager(Loggable):
for test in self.tests:
if self._is_test_wanted(test):
self.reporter.before_test(test)
- if test.run() != Result.PASSED and\
- self.options.forever:
- return test.result
+ res = test.run()
self.reporter.after_test()
+ if res != Result.PASSED and (self.options.forever or
+ self.options.fatal_error):
+ return test.result
return Result.PASSED
@@ -375,12 +376,10 @@ class _TestsLauncher(Loggable):
for f in os.listdir(os.path.join(d, "apps")):
if f.endswith(".py"):
execfile(os.path.join(d, "apps", f), env)
- print f
testers = [i() for i in get_subclasses(TestsManager, env)]
for tester in testers:
if tester.init() is True:
- print tester
self.testers.append(tester)
else:
self.warning("Can not init tester: %s -- PATH is %s"
@@ -422,7 +421,8 @@ class _TestsLauncher(Loggable):
def _run_tests(self):
for tester in self.testers:
res = tester.run_tests()
- if self.options.forever and res != Result.PASSED:
+ if res != Result.PASSED and (self.options.forever or
+ self.options.fatal_error):
return False
return True
diff --git a/validate/tools/launcher/main.py b/validate/tools/launcher/main.py
index bf878c3..f4d1df5 100644
--- a/validate/tools/launcher/main.py
+++ b/validate/tools/launcher/main.py
@@ -45,9 +45,9 @@ def main():
parser.add_option("-f", "--forever", dest="forever",
action="store_true", default=False,
help="Keep running tests until one fails")
- #parser.add_option("-F", "--fatal-error", dest="fatal_error",
- #action="store_true", default=False,
- #help="Stop on first fail")
+ parser.add_option("-F", "--fatal-error", dest="fatal_error",
+ action="store_true", default=False,
+ help="Stop on first fail")
parser.add_option('--xunit-file', action='store',
dest='xunit_file', metavar="FILE",
default=None,