diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2020-04-25 15:27:03 +0200 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2020-04-25 15:27:03 +0200 |
commit | cd592b4b1190d34d15ae5c559c15e7797cad14c8 (patch) | |
tree | 1e6c1fd7248573464114fe61bde58d5d39a4d090 | |
parent | cbc8eab58918a888a4876efddda294b805718664 (diff) | |
download | psutil-cd592b4b1190d34d15ae5c559c15e7797cad14c8.tar.gz |
refact
-rwxr-xr-x | psutil/tests/runner.py | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/psutil/tests/runner.py b/psutil/tests/runner.py index 2f47d3c5..16d0d9b2 100755 --- a/psutil/tests/runner.py +++ b/psutil/tests/runner.py @@ -164,34 +164,38 @@ class Runner: def __init__(self): self.loader = SuiteLoader() self.failed_tnames = set() + if APPVEYOR: + self.runner = TextTestRunner(verbosity=VERBOSITY) + else: + self.runner = ColouredRunner(verbosity=VERBOSITY) - def _save_last_failed(self): + def _write_last_failed(self): if self.failed_tnames: with open(FAILED_TESTS_FNAME, 'wt') as f: for tname in self.failed_tnames: f.write(tname + '\n') - def _run(self, suite): - if APPVEYOR: - runner = TextTestRunner(verbosity=VERBOSITY) - else: - runner = ColouredRunner(verbosity=VERBOSITY) - try: - result = runner.run(suite) - except (KeyboardInterrupt, SystemExit) as err: - print("received %s" % err.__class__.__name__, file=sys.stderr) - result = runner.result + def _save_result(self, result): if not result.wasSuccessful(): for t in result.errors + result.failures: tname = t[0].id() self.failed_tnames.add(tname) + + def _run(self, suite): + try: + result = self.runner.run(suite) + except (KeyboardInterrupt, SystemExit): + result = self.runner.result + result.printErrors() + return sys.exit(1) + self._save_result(result) return result def _finalize(self, success): if success: safe_rmpath(FAILED_TESTS_FNAME) else: - self._save_last_failed() + self._write_last_failed() print_color("FAILED", "red") sys.exit(1) |