summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMischa Untaga <99098079+MischaU8@users.noreply.github.com>2025-01-13 16:25:32 +0100
committerMischa Untaga <99098079+MischaU8@users.noreply.github.com>2025-01-13 16:25:32 +0100
commitac7722d18a78afd5d60ec47909ccf919e1fb59a1 (patch)
tree7e4724784da9c085d9ac3ad2e764fd0512f86e68
parent4f90ba1a7c6bcd9a6a878a54ab621bc98006f0f9 (diff)
downloadfuzzer-ac7722d18a78afd5d60ec47909ccf919e1fb59a1.tar.gz
add error id, ignore unrecognized chunks
-rwxr-xr-xerrors2csv.py19
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)