crashtest.py 927 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/usr/bin/env python3
  2. import glob
  3. import subprocess
  4. import os
  5. import re
  6. reportdir = "reports/"
  7. class bcolors:
  8. HEADER = '\033[95m'
  9. OKBLUE = '\033[94m'
  10. OKGREEN = '\033[92m'
  11. WARNING = '\033[93m'
  12. FAIL = '\033[91m'
  13. ENDC = '\033[0m'
  14. BOLD = '\033[1m'
  15. UNDERLINE = '\033[4m'
  16. print("Testing crashfiles")
  17. FNULL = open(os.devnull, "w")
  18. crashfiles = []
  19. crashfiles.extend(glob.glob("*"))
  20. pattern = re.compile("^(leak-|timeout-|crash-)\w+$")
  21. filecounter = 1
  22. FNULL = open(os.devnull, 'w')
  23. for filename in crashfiles:
  24. if not pattern.match(filename):
  25. continue
  26. fuzzer_retval = subprocess.call(["./check-input.sh", filename, "batchmode"], stdout=FNULL, stderr=subprocess.STDOUT)
  27. if fuzzer_retval == 0:
  28. print(bcolors.FAIL, "[", filecounter, "]", filename,"- not reproducable", bcolors.ENDC)
  29. else:
  30. print(bcolors.OKGREEN, "[", filecounter, "]", filename, "- reproducable", bcolors.ENDC)
  31. filecounter = filecounter + 1