From 926b32b574d7efdecc98ae373ea55dd9971ed398 Mon Sep 17 00:00:00 2001 From: 2Shirt <2xShirt@gmail.com> Date: Wed, 28 Sep 2022 00:30:31 -0700 Subject: [PATCH] Clean badblocks results to remove backspaces --- scripts/wk/cfg/hw.py | 1 + scripts/wk/hw/surface_scan.py | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/scripts/wk/cfg/hw.py b/scripts/wk/cfg/hw.py index 0790cf63..d0d1efb1 100644 --- a/scripts/wk/cfg/hw.py +++ b/scripts/wk/cfg/hw.py @@ -20,6 +20,7 @@ BADBLOCKS_REGEX = re.compile( r'^Pass completed, (\d+) bad blocks found. .(\d+)/(\d+)/(\d+) errors', re.IGNORECASE, ) +BADBLOCKS_RESULTS_REGEX = re.compile(r'^(.*?)\x08.*\x08(.*)') BADBLOCKS_SKIP_REGEX = re.compile(r'^(Checking|\[)', re.IGNORECASE) CPU_CRITICAL_TEMP = 99 CPU_FAILURE_TEMP = 90 diff --git a/scripts/wk/hw/surface_scan.py b/scripts/wk/hw/surface_scan.py index f6452bc5..50e7eecd 100644 --- a/scripts/wk/hw/surface_scan.py +++ b/scripts/wk/hw/surface_scan.py @@ -8,6 +8,7 @@ from subprocess import STDOUT from wk.cfg.hw import ( BADBLOCKS_LARGE_DISK, BADBLOCKS_REGEX, + BADBLOCKS_RESULTS_REGEX, BADBLOCKS_SKIP_REGEX, TEST_MODE_BADBLOCKS_LIMIT, ) @@ -33,6 +34,11 @@ def check_surface_scan_results(test_obj, log_path) -> None: if not line or BADBLOCKS_SKIP_REGEX.match(line): # Skip continue + + # Clean line by removing backspaces/etc + line = BADBLOCKS_RESULTS_REGEX.sub(r'\1 \2', line) + + # Add to report match = BADBLOCKS_REGEX.search(line) if match: if all(s == '0' for s in match.groups()):