audit.py 906 B

123456789101112131415161718192021222324252627282930
  1. from colorama import Fore
  2. class Audit:
  3. '''
  4. Audits frameworks for inconsistencies
  5. '''
  6. def __init__(self, benchmarker):
  7. self.benchmarker = benchmarker
  8. self.log = benchmarker.config.log
  9. def start_audit(self):
  10. for lang in self.benchmarker.metadata.gather_languages():
  11. for test_dir in self.benchmarker.metadata.gather_language_tests(
  12. lang):
  13. self.audit_test_dir(test_dir)
  14. def audit_test_dir(self, test_dir):
  15. warnings = 0
  16. self.log('Auditing %s:' % test_dir, color=Fore.BLUE)
  17. if not self.benchmarker.metadata.has_file(test_dir, 'README.md'):
  18. self.log('README.md file is missing')
  19. warnings += 1
  20. if warnings:
  21. self.log('(%s) warning(s)' % warnings, color=Fore.YELLOW)
  22. else:
  23. self.log('No problems to report', color=Fore.GREEN)