diff options
author | juraj.linkes <juraj.linkes@pantheon.tech> | 2018-11-16 17:28:56 +0100 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2018-11-26 19:54:25 +0000 |
commit | abec0129b17797170d59521e0ad8b5f6d5853643 (patch) | |
tree | e3f3d18d768b759f2c0a91743ca2ec6aa8babcc6 /test/framework.py | |
parent | 2152e1cf8b3420d94ba31fe25853977ad945f35a (diff) |
Split non-parallel testsuite
Split one big suite into smaller suites when not running tests in
parallel. This results in all tests being executed in one iteration.
Change-Id: I0d3d357a95d9cc596b606d5911a5819e8ffdeee5
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
Diffstat (limited to 'test/framework.py')
-rw-r--r-- | test/framework.py | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/test/framework.py b/test/framework.py index ca15202f905..54b7a2dfa5e 100644 --- a/test/framework.py +++ b/test/framework.py @@ -1020,7 +1020,7 @@ class VppTestResult(unittest.TestResult): core_crash_test_cases_info = set() current_test_case_info = None - def __init__(self, stream, descriptions, verbosity): + def __init__(self, stream, descriptions, verbosity, runner): """ :param stream File descriptor to store where to report test results. Set to the standard error stream by default. @@ -1033,6 +1033,7 @@ class VppTestResult(unittest.TestResult): self.descriptions = descriptions self.verbosity = verbosity self.result_string = None + self.runner = runner def addSuccess(self, test): """ @@ -1216,9 +1217,16 @@ class VppTestResult(unittest.TestResult): """ Print errors from running the test case """ - self.stream.writeln() - self.printErrorList('ERROR', self.errors) - self.printErrorList('FAIL', self.failures) + if len(self.errors) > 0 or len(self.failures) > 0: + self.stream.writeln() + self.printErrorList('ERROR', self.errors) + self.printErrorList('FAIL', self.failures) + + # ^^ that is the last output from unittest before summary + if not self.runner.print_summary: + devnull = unittest.runner._WritelnDecorator(open(os.devnull, 'w')) + self.stream = devnull + self.runner.stream = devnull def printErrorList(self, flavour, errors): """ @@ -1248,7 +1256,7 @@ class VppTestRunner(unittest.TextTestRunner): def __init__(self, keep_alive_pipe=None, descriptions=True, verbosity=1, result_pipe=None, failfast=False, buffer=False, - resultclass=None): + resultclass=None, print_summary=True): # ignore stream setting here, use hard-coded stdout to be in sync # with prints from VppTestCase methods ... @@ -1257,7 +1265,16 @@ class VppTestRunner(unittest.TextTestRunner): resultclass) KeepAliveReporter.pipe = keep_alive_pipe - VppTestResult.test_framework_result_pipe = result_pipe + self.orig_stream = self.stream + self.resultclass.test_framework_result_pipe = result_pipe + + self.print_summary = print_summary + + def _makeResult(self): + return self.resultclass(self.stream, + self.descriptions, + self.verbosity, + self) def run(self, test): """ @@ -1269,6 +1286,9 @@ class VppTestRunner(unittest.TextTestRunner): faulthandler.enable() # emit stack trace to stderr if killed by signal result = super(VppTestRunner, self).run(test) + if not self.print_summary: + self.stream = self.orig_stream + result.stream = self.orig_stream return result |