- commit
- 588cd93b65b6b6b7132ecdc21e5d5939c2e14ea8
- parent
- 543cb7041c9fa3237a6d4bd6824ba451aecfbab1
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2019-02-09 10:01
refactor reporter
Diffstat
| M | assamtest/reporter.py | 39 | +++++++++++++++++++++------------------ |
1 files changed, 21 insertions, 18 deletions
diff --git a/assamtest/reporter.py b/assamtest/reporter.py
@@ -33,6 +33,7 @@ class Reporter: 33 33 class SpecReporter(Reporter): 34 34 def __init__(self): 35 35 self.stack = [] -1 36 self.total = 0 36 37 self.stats = { 37 38 'SUCCESS': {}, 38 39 'INFO': {}, @@ -40,7 +41,7 @@ class SpecReporter(Reporter): 40 41 'ERROR': {}, 41 42 } 42 4343 -1 def render_level(self, msg, level, status):-1 44 def _render(self, msg, level, status): 44 45 if status == 'passed': 45 46 char = '✓' 46 47 elif status == 'failed': @@ -58,33 +59,35 @@ class SpecReporter(Reporter): 58 59 def _print(self, msg): 59 60 print(' ' * len(self.stack) + msg) 60 6161 -1 def leave_run(self):62 -1 print()63 -1 for level in ['SUCCESS', 'INFO', 'WARNING', 'ERROR']:64 -1 for status, count in sorted(self.stats[level].items()):65 -1 print(self.render_level('%i %s' % (count, status), level, status))66 -167 -1 if sum(self.stats['ERROR'].values()) != 0:68 -1 return 169 -1 elif sum(sum(l.values()) for l in self.stats.values()) == 0:70 -1 print(colored('No tests found', 'YELLOW'))71 -1 return 572 -173 62 def enter_suite(self, name): 74 63 self._print(name) 75 64 self.stack.append(name) 76 6577 -1 def leave_suite(self, name):78 -1 self.stack.pop()79 -180 66 def test(self, name, err, status, level): -1 67 self.total += 1 81 68 self.stats[level].setdefault(status, 0) 82 69 self.stats[level][status] += 1 83 70 84 71 if level == 'SUCCESS':85 -1 self._print(self.render_level('', level, status) + colored(name, 'DIM'))-1 72 self._print(self._render('', level, status) + colored(name, 'DIM')) 86 73 else:87 -1 self._print(self.render_level(name, level, status))-1 74 self._print(self._render(name, level, status)) 88 75 89 76 if err and str(err): 90 77 self._print(' %s' % err) -1 78 -1 79 def leave_suite(self, name): -1 80 self.stack.pop() -1 81 -1 82 def leave_run(self): -1 83 if self.total == 0: -1 84 print(colored('No tests found', 'YELLOW')) -1 85 return 5 -1 86 -1 87 print() -1 88 for level in ['SUCCESS', 'INFO', 'WARNING', 'ERROR']: -1 89 for status, count in sorted(self.stats[level].items()): -1 90 print(self._render('%i %s' % (count, status), level, status)) -1 91 -1 92 if sum(self.stats['ERROR'].values()) != 0: -1 93 return 1