summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2020-04-25 15:27:03 +0200
committerGiampaolo Rodola <g.rodola@gmail.com>2020-04-25 15:27:03 +0200
commitcd592b4b1190d34d15ae5c559c15e7797cad14c8 (patch)
tree1e6c1fd7248573464114fe61bde58d5d39a4d090
parentcbc8eab58918a888a4876efddda294b805718664 (diff)
downloadpsutil-cd592b4b1190d34d15ae5c559c15e7797cad14c8.tar.gz
refact
-rwxr-xr-xpsutil/tests/runner.py28
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)