diff options
author | Mischa Untaga <99098079+MischaU8@users.noreply.github.com> | 2025-01-13 16:25:32 +0100 |
---|---|---|
committer | Mischa Untaga <99098079+MischaU8@users.noreply.github.com> | 2025-01-13 16:25:32 +0100 |
commit | ac7722d18a78afd5d60ec47909ccf919e1fb59a1 (patch) | |
tree | 7e4724784da9c085d9ac3ad2e764fd0512f86e68 | |
parent | 4f90ba1a7c6bcd9a6a878a54ab621bc98006f0f9 (diff) | |
download | fuzzer-ac7722d18a78afd5d60ec47909ccf919e1fb59a1.tar.gz |
add error id, ignore unrecognized chunks
-rwxr-xr-x | errors2csv.py | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/errors2csv.py b/errors2csv.py index b432e72..6cabad3 100755 --- a/errors2csv.py +++ b/errors2csv.py @@ -1,12 +1,13 @@ #!/usr/bin/env python3 import csv +import hashlib import shlex -unique_errors = set() +fieldnames = ['ID', 'ERROR', 'MSG', 'STACK', 'STEP', 'ACTIVE', 'STATE', 'ACTION', 'ARGS', 'SETUP', 'DATA', 'DUMP'] +key_fieldsnames = ['ERROR', 'STATE', 'MSG'] +unique_errors = set() with open('errors.txt', 'r') as f, open('errors.csv', 'w', newline='') as csvfile: - fieldnames = ['ERROR', 'MSG', 'STACK', 'STEP', 'ACTIVE', 'STATE', 'ACTION', 'ARGS', 'SETUP', 'DATA', 'DUMP'] - key_fieldsnames = ['ERROR', 'STATE', 'MSG'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames) writer.writeheader() @@ -14,15 +15,15 @@ with open('errors.txt', 'r') as f, open('errors.csv', 'w', newline='') as csvfil line = line.strip() if line.startswith("Loading") or line.startswith("INFO:"): continue - # print(line) data = {} for keyval in shlex.split(line): - # print(keyval) - key, val = keyval.split("=", 2) - # print("key", key) - # print("val", val) - data[key] = val + try: + key, val = keyval.split("=", 2) + data[key] = val + except ValueError: + pass error_key = "_".join([data.get(key, '') for key in key_fieldsnames]) if error_key not in unique_errors: unique_errors.add(error_key) + data['ID'] = hashlib.sha256(error_key.encode()).hexdigest()[:8] writer.writerow(data) |