audit.py 1.0 KB

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