diff options
-rw-r--r-- | meta/lib/oeqa/core/utils/concurrencytest.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/meta/lib/oeqa/core/utils/concurrencytest.py b/meta/lib/oeqa/core/utils/concurrencytest.py index fac59f765a..01c39830f9 100644 --- a/meta/lib/oeqa/core/utils/concurrencytest.py +++ b/meta/lib/oeqa/core/utils/concurrencytest.py | |||
@@ -77,14 +77,17 @@ class ProxyTestResult: | |||
77 | # a very basic TestResult proxy, in order to modify add* calls | 77 | # a very basic TestResult proxy, in order to modify add* calls |
78 | def __init__(self, target): | 78 | def __init__(self, target): |
79 | self.result = target | 79 | self.result = target |
80 | self.failed_tests = 0 | ||
80 | 81 | ||
81 | def _addResult(self, method, test, *args, exception = False, **kwargs): | 82 | def _addResult(self, method, test, *args, exception = False, **kwargs): |
82 | return method(test, *args, **kwargs) | 83 | return method(test, *args, **kwargs) |
83 | 84 | ||
84 | def addError(self, test, err = None, **kwargs): | 85 | def addError(self, test, err = None, **kwargs): |
86 | self.failed_tests += 1 | ||
85 | self._addResult(self.result.addError, test, err, exception = True, **kwargs) | 87 | self._addResult(self.result.addError, test, err, exception = True, **kwargs) |
86 | 88 | ||
87 | def addFailure(self, test, err = None, **kwargs): | 89 | def addFailure(self, test, err = None, **kwargs): |
90 | self.failed_tests += 1 | ||
88 | self._addResult(self.result.addFailure, test, err, exception = True, **kwargs) | 91 | self._addResult(self.result.addFailure, test, err, exception = True, **kwargs) |
89 | 92 | ||
90 | def addSuccess(self, test, **kwargs): | 93 | def addSuccess(self, test, **kwargs): |
@@ -96,6 +99,9 @@ class ProxyTestResult: | |||
96 | def addUnexpectedSuccess(self, test, **kwargs): | 99 | def addUnexpectedSuccess(self, test, **kwargs): |
97 | self._addResult(self.result.addUnexpectedSuccess, test, **kwargs) | 100 | self._addResult(self.result.addUnexpectedSuccess, test, **kwargs) |
98 | 101 | ||
102 | def wasSuccessful(self): | ||
103 | return self.failed_tests == 0 | ||
104 | |||
99 | def __getattr__(self, attr): | 105 | def __getattr__(self, attr): |
100 | return getattr(self.result, attr) | 106 | return getattr(self.result, attr) |
101 | 107 | ||
@@ -287,10 +293,10 @@ def fork_for_tests(concurrency_num, suite): | |||
287 | # as per default in parent code | 293 | # as per default in parent code |
288 | subunit_client.buffer = True | 294 | subunit_client.buffer = True |
289 | subunit_result = AutoTimingTestResultDecorator(subunit_client) | 295 | subunit_result = AutoTimingTestResultDecorator(subunit_client) |
290 | process_suite.run(ExtraResultsEncoderTestResult(subunit_result)) | 296 | unittest_result = process_suite.run(ExtraResultsEncoderTestResult(subunit_result)) |
291 | if ourpid != os.getpid(): | 297 | if ourpid != os.getpid(): |
292 | os._exit(0) | 298 | os._exit(0) |
293 | if newbuilddir: | 299 | if newbuilddir and unittest_result.wasSuccessful(): |
294 | removebuilddir(newbuilddir) | 300 | removebuilddir(newbuilddir) |
295 | except: | 301 | except: |
296 | # Don't do anything with process children | 302 | # Don't do anything with process children |