#!/usr/bin/env python3 import glob import subprocess import os import re reportdir = "reports/" class bcolors: HEADER = '\033[95m' OKBLUE = '\033[94m' OKGREEN = '\033[92m' WARNING = '\033[93m' FAIL = '\033[91m' ENDC = '\033[0m' BOLD = '\033[1m' UNDERLINE = '\033[4m' print("Testing crashfiles") FNULL = open(os.devnull, "w") crashfiles = [] crashfiles.extend(glob.glob("*")) pattern = re.compile("^(leak-|timeout-|crash-)\w+$") filecounter = 1 FNULL = open(os.devnull, 'w') for filename in crashfiles: if not pattern.match(filename): continue fuzzer_retval = subprocess.call(["./check-input.sh", filename, "batchmode"], stdout=FNULL, stderr=subprocess.STDOUT) if fuzzer_retval == 0: print(bcolors.FAIL, "[", filecounter, "]", filename,"- not reproducable", bcolors.ENDC) else: print(bcolors.OKGREEN, "[", filecounter, "]", filename, "- reproducable", bcolors.ENDC) filecounter = filecounter + 1