def report_result(self, bus, test, result, *data): assert result in self.ALLOWED_RESULTS, ( "%r test result not understood" % (result, )) if self.ignore_result(test, result): return description = (test.standard_form() if hasattr(test, "standard_form") else repr(test)) result_text, _, color = self.DESCRIPTIONS[result] message = "%s ... %s" % (description, color(result_text)) self.output([message]) self.counts[result] += 1 if len(data) > 0: self.output( ("", "=" * 60, "%s: %s" % (result_text, description), "-" * 60, ) + tuple(data) + ("-" * 60, ))
def format_counts(self, terse=False): parts = [] char_count = 0 total_name = "T" if terse else "Tests" char_count += len("%i %s" % (self.total, total_name)) parts.append("%s %s" % (C.bold(str(self.total)), total_name)) for name, count in self.counts.items(): if count == 0: continue terse_desc, singular, plural, color = self.DESCRIPTIONS[name] if terse: desc = terse_desc elif count == 1: desc = singular else: desc = plural char_count += len(", %i %s" % (count, desc)) parts.append(", " + color("%i %s" % (count, desc))) char_count += 1 return "%s." % "".join(parts), char_count