]> git.lizzy.rs Git - rust.git/blob - src/etc/check-summary.py
Merge pull request #4506 from thestinger/mkdtemp
[rust.git] / src / etc / check-summary.py
1 #!/usr/bin/env python
2 # xfail-license
3
4 import sys
5
6 if __name__ == '__main__':
7     summaries = []
8     def summarise(fname):
9         summary = {}
10         fd = open(fname)
11         for line in fd:
12             status, test = line.strip().split(' ', 1)
13             if not summary.has_key(status):
14                 summary[status] = []
15             summary[status].append(test)
16         summaries.append((fname, summary))
17     def count(t):
18         return sum(map(lambda (f, s): len(s.get(t, [])), summaries))
19     logfiles = sys.argv[1:]
20     map(summarise, logfiles)
21     ok = count('ok')
22     failed = count('failed')
23     ignored = count('ignored')
24     print "summary of %d test runs: %d passed; %d failed; %d ignored" % \
25             (len(logfiles), ok, failed, ignored)
26     print ""
27     if failed > 0:
28         print "failed tests:"
29         for f, s in summaries:
30             failures = s.get('failed', [])
31             if len(failures) > 0:
32                 print "  %s:" % (f)
33             for test in failures:
34                 print "    %s" % (test)