From 96bcb72a3638172371bcf785c98753c2763f5c15 Mon Sep 17 00:00:00 2001 From: Aroy-Art Date: Sat, 12 Apr 2025 13:37:23 +0200 Subject: [PATCH 1/2] Python Scripts: fix disk name identifer --- PythonScripts/test_disk.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/PythonScripts/test_disk.py b/PythonScripts/test_disk.py index 4a3c3a2..2e126f8 100644 --- a/PythonScripts/test_disk.py +++ b/PythonScripts/test_disk.py @@ -58,16 +58,27 @@ def get_device_info(device): output = subprocess.run( f"sudo smartctl -i {device}", shell=True, capture_output=True, text=True ).stdout + model = serial = "unknown" + for line in output.splitlines(): - if any(x in line for x in ["Device Model", "Model Family", "Model Number"]): + if any(x in line for x in ["Device Model", "Model Number", "Product"]): model = line.split(":", 1)[-1].strip().replace(" ", "_") - elif "Serial Number" in line: + elif "Vendor:" in line and model == "unknown": + vendor = line.split(":", 1)[-1].strip().replace(" ", "_") + model = vendor # temporary, could be combined later + elif "Serial Number" in line or "Serial number" in line: serial = line.split(":", 1)[-1].strip() + elif "Logical Unit id" in line and serial == "unknown": + serial = line.split()[-1].strip() + + timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") + if model == "unknown" or serial == "unknown": print("Failed to extract model or serial. Using timestamp for filename.") - return f"drive_test_{datetime.now().strftime('%Y%m%d_%H%M%S')}.log" - return f"{model}_{serial}_test.log" + return f"drive_test_{timestamp}.log" + + return f"{model}_{serial}_test_{timestamp}.log" def show_smart_info(device, log_file): From dae37954b386e43435f9b42470b41af3302ec6fa Mon Sep 17 00:00:00 2001 From: Aroy-Art Date: Sat, 12 Apr 2025 13:40:21 +0200 Subject: [PATCH 2/2] Python Scripts: set longer rwa test --- PythonScripts/test_disk.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PythonScripts/test_disk.py b/PythonScripts/test_disk.py index 2e126f8..ad03a6c 100644 --- a/PythonScripts/test_disk.py +++ b/PythonScripts/test_disk.py @@ -121,7 +121,7 @@ def fill_random(device, log_file): print("Random data write complete.") -def run_fio(device, rw_mode, log_file, bs="4k", runtime=30): +def run_fio(device, rw_mode, log_file, bs="4k", runtime=60): print(f"Running fio test: {rw_mode}") cmd = ( f"sudo fio --name={rw_mode}_test " @@ -163,7 +163,7 @@ def main(): run_fio(device, "read", log_file) run_fio(device, "randread", log_file) run_fio(device, "randwrite", log_file) - run_fio(device, "randread", log_file, bs="512", runtime=10) # IOPS test + run_fio(device, "randread", log_file, bs="512", runtime=30) # IOPS test print(f"\nTest completed. Results saved to {log_filename}")