MCPcopy Create free account
hub / github.com/DaveGamble/cJSON / UnityTestSummary

Class UnityTestSummary

tests/unity/auto/unity_test_summary.py:13–113  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11from glob import glob
12
13class UnityTestSummary:
14 def __init__(self):
15 self.report = ''
16 self.total_tests = 0
17 self.failures = 0
18 self.ignored = 0
19
20 def run(self):
21 # Clean up result file names
22 results = []
23 for target in self.targets:
24 results.append(target.replace('\\', '/'))
25
26 # Dig through each result file, looking for details on pass/fail:
27 failure_output = []
28 ignore_output = []
29
30 for result_file in results:
31 lines = list(map(lambda line: line.rstrip(), open(result_file, "r").read().split('\n')))
32 if len(lines) == 0:
33 raise Exception("Empty test result file: %s" % result_file)
34
35 details = self.get_details(result_file, lines)
36 failures = details['failures']
37 ignores = details['ignores']
38 if len(failures) > 0: failure_output.append('\n'.join(failures))
39 if len(ignores) > 0: ignore_output.append('n'.join(ignores))
40 tests,failures,ignored = self.parse_test_summary('\n'.join(lines))
41 self.total_tests += tests
42 self.failures += failures
43 self.ignored += ignored
44
45 if self.ignored > 0:
46 self.report += "\n"
47 self.report += "--------------------------\n"
48 self.report += "UNITY IGNORED TEST SUMMARY\n"
49 self.report += "--------------------------\n"
50 self.report += "\n".join(ignore_output)
51
52 if self.failures > 0:
53 self.report += "\n"
54 self.report += "--------------------------\n"
55 self.report += "UNITY FAILED TEST SUMMARY\n"
56 self.report += "--------------------------\n"
57 self.report += '\n'.join(failure_output)
58
59 self.report += "\n"
60 self.report += "--------------------------\n"
61 self.report += "OVERALL UNITY TEST SUMMARY\n"
62 self.report += "--------------------------\n"
63 self.report += "{total_tests} TOTAL TESTS {failures} TOTAL FAILURES {ignored} IGNORED\n".format(total_tests = self.total_tests, failures=self.failures, ignored=self.ignored)
64 self.report += "\n"
65
66 return self.report
67
68 def set_targets(self, target_array):
69 self.targets = target_array
70

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…