From b4a9c152c4b1724e5cc8941ff2e1afc558b36c45 Mon Sep 17 00:00:00 2001 From: xickomesquita Date: Mon, 20 Apr 2026 23:36:37 -0300 Subject: [PATCH] fix: handle test series names with multiple dashes in fix_series The previous code assumed the series name had exactly one dash (e.g. 'TestData-7'). When the name contained more dashes (e.g. 'TestData-foo-7'), `int(parts[0].split('-')[1])` raised a ValueError. Now extracts the numeric part from the last segment, with a safe fallback to 0 on any parse error. --- .../barista/doctype/test_suite/run_test.py | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/barista/barista/doctype/test_suite/run_test.py b/barista/barista/doctype/test_suite/run_test.py index 95622ca..b79f0bd 100644 --- a/barista/barista/doctype/test_suite/run_test.py +++ b/barista/barista/doctype/test_suite/run_test.py @@ -217,7 +217,15 @@ def fix_series(): max_test_data_series = frappe.db.sql_list( """select ifnull(max(name),'TestData-0') from `tabTest Data`;""") if len(max_test_data_series): - max_test_data_series = int(max_test_data_series[0].split('-')[1]) + try: + # Extract the numeric part after the last dash + parts = max_test_data_series[0].split('-') + if len(parts) > 1 and parts[-1].isdigit(): + max_test_data_series = int(parts[-1]) + else: + max_test_data_series = 0 + except (ValueError, IndexError): + max_test_data_series = 0 if len(test_data_series) == 0: frappe.db.sql( f"""Insert into `tabSeries` (name,current) values ('TestData-',{max_test_data_series});""", auto_commit=1) @@ -230,7 +238,15 @@ def fix_series(): max_test_case_series = frappe.db.sql_list( """select ifnull(max(name),'TestCase-0') from `tabTest Case`;""") if len(max_test_case_series): - max_test_case_series = int(max_test_case_series[0].split('-')[1]) + try: + # Extract the numeric part after the last dash + parts = max_test_case_series[0].split('-') + if len(parts) > 1 and parts[-1].isdigit(): + max_test_case_series = int(parts[-1]) + else: + max_test_case_series = 0 + except (ValueError, IndexError): + max_test_case_series = 0 if len(test_case_series) == 0: frappe.db.sql( f"""Insert into `tabSeries` (name,current) values ('TestCase-',{max_test_case_series});""", auto_commit=1)