rustls-0.21.2/bogo/check.py (40 lines of code) (raw):

import re import json import fnmatch import sys config = json.load(open('config.json')) test_error_set = set(config['TestErrorMap'].keys()) obsolete_disabled_tests = set() all_tests = set() failing_tests = set() unimpl_tests = set() disabled_tests = set() passed_tests = set() for line in sys.stdin: m = re.match('^(PASSED|UNIMPLEMENTED|FAILED|DISABLED) \((.*)\)$', line.strip()) if m: status, name = m.groups() if name in test_error_set: test_error_set.remove(name) all_tests.add(name) if status == 'FAILED': failing_tests.add(name) elif status == 'UNIMPLEMENTED': unimpl_tests.add(name) elif status == 'DISABLED': disabled_tests.add(name) elif status == 'PASSED': passed_tests.add(name) if disabled_tests: for disabled_glob in sorted(config['DisabledTests'].keys()): tests_matching_glob = fnmatch.filter(disabled_tests, disabled_glob) if not tests_matching_glob: print 'DisabledTests glob', disabled_glob, 'matches no tests' else: print '(DisabledTests unchecked)' print len(all_tests), 'total tests' print len(passed_tests), 'passed' print len(failing_tests), 'tests failing' print len(unimpl_tests), 'tests not supported' if test_error_set: print 'unknown TestErrorMap keys', test_error_set