diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2011-12-04 00:23:02 +0100 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2011-12-05 23:11:04 +0100 |
commit | e62654578b3aa1ddafd8faf85b65d9702f49fba3 (patch) | |
tree | f6ab370e1d31389220acc5678f55d4097dc78686 /selftest/subunithelper.py | |
parent | 5643d37a000971070b22af7c2710f66b49b57eff (diff) | |
download | samba-e62654578b3aa1ddafd8faf85b65d9702f49fba3.tar.gz samba-e62654578b3aa1ddafd8faf85b65d9702f49fba3.tar.bz2 samba-e62654578b3aa1ddafd8faf85b65d9702f49fba3.zip |
selftest: Add --flapping argument to filter-subunit.
Diffstat (limited to 'selftest/subunithelper.py')
-rw-r--r-- | selftest/subunithelper.py | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/selftest/subunithelper.py b/selftest/subunithelper.py index c59b6d002c..c29bdbabf0 100644 --- a/selftest/subunithelper.py +++ b/selftest/subunithelper.py @@ -288,6 +288,8 @@ class FilterOps(testtools.testresult.TestResult): def addFailure(self, test, details=None): test = self._add_prefix(test) xfail_reason = find_in_list(self.expected_failures, test.id()) + if xfail_reason is None: + xfail_reason = find_in_list(self.flapping, test.id()) if xfail_reason is not None: self.xfail_added+=1 self.total_xfail+=1 @@ -308,7 +310,21 @@ class FilterOps(testtools.testresult.TestResult): def addSuccess(self, test, details=None): test = self._add_prefix(test) - self._ops.addSuccess(test, details) + xfail_reason = find_in_list(self.expected_failures, test.id()) + if xfail_reason is not None: + self.uxsuccess_added += 1 + self.total_uxsuccess += 1 + if details is not None: + details = subunit.RemoteError(unicode(details[1]) + xfail_reason.decode("utf-8")) + else: + details = subunit.RemoteError(xfail_reason.decode("utf-8")) + self._ops.addUnexpectedSuccess(test, details) + if self.output: + self._ops.output_msg(self.output) + if self.fail_immediately: + raise ImmediateFail() + else: + self._ops.addSuccess(test, details) self.output = None def skip_testsuite(self, name, reason=None): @@ -319,6 +335,7 @@ class FilterOps(testtools.testresult.TestResult): self.error_added = 0 self.fail_added = 0 self.xfail_added = 0 + self.uxsuccess_added = 0 def end_testsuite(self, name, result, reason=None): xfail = False @@ -346,7 +363,8 @@ class FilterOps(testtools.testresult.TestResult): self._ops.end_testsuite(name, result, reason) def __init__(self, out, prefix=None, expected_failures=None, - strip_ok_output=False, fail_immediately=False): + strip_ok_output=False, fail_immediately=False, + flapping=None): self._ops = out self.seen_output = False self.output = None @@ -355,12 +373,18 @@ class FilterOps(testtools.testresult.TestResult): self.expected_failures = expected_failures else: self.expected_failures = {} + if flapping is not None: + self.flapping = flapping + else: + self.flapping = {} self.strip_ok_output = strip_ok_output self.xfail_added = 0 self.fail_added = 0 + self.uxsuccess_added = 0 self.total_xfail = 0 self.total_error = 0 self.total_fail = 0 + self.total_uxsuccess = 0 self.error_added = 0 self.fail_immediately = fail_immediately |