From 080efd9ddc40a8951d4423e95ab3dcdc8a9c6467 Mon Sep 17 00:00:00 2001 From: matt Date: Sun, 18 Oct 2026 04:34:31 -0700 Subject: [PATCH] jenkinsfile - change from reset after 10 unsuccessful to 5 identical tests, eliminate other counter --- api/ble.py | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/api/ble.py b/api/ble.py index 90c486c..cd4c533 100644 --- a/api/ble.py +++ b/api/ble.py @@ -275,7 +275,6 @@ def test(test_count = 0, bt_usb_id = None) -> None: return -1 log.info(f"Ensuring BLE active...") test_loop_count = 0 - reset_count = 0 found_macs = scan_macs() log.info("Found these MACs on a scan:") log.info(found_macs) @@ -290,13 +289,25 @@ def test(test_count = 0, bt_usb_id = None) -> None: log.info("Starting BLE test...") log.info(f" Scanning MACs: {mac_list}") test_list = mac_list + # History buffer – keep the last N snapshots (N=5) + history = deque(maxlen=5) + prev_list_snapshot = None while not test_result: - if test_loop_count > 10: + # Check if the failed list has been the same for 5 loops + if prev_list_snapshot is not None and passed_list == prev_list_snapshot: + # List unchanged – add to history + history.append(passed_list) + else: + # List changed – reset history + history.clear() + history.append(current_list) + if len(history) == 5 and all(lst == history[0] for lst in history): + log.warning(f"Last 5 tests have been identical, resetting adapter") reset_adapter() - reset_count = reset_count + 1 - test_loop_count = 0 - log.warning("Too many test loops - resetting adapter") - log.info(f" Test run {test_count} loop {reset_count}.{test_loop_count} start. Initializing run...") + history.clear() + prev_list_snapshot = current_list + + log.info(f" Test run: {test_count} - loop {test_loop_count} start. Initializing run...") test_run_results = sensor_data_query(test_list) test_loop_count = test_loop_count + 1 for test_run_result in test_run_results: @@ -377,16 +388,11 @@ if __name__ == "__main__": test_count = test_count + 1 this_test_result = [] log.info(f"Starting test run {test_count} of {count}") - try: - test_label = f"Test {test_count} result" - this_test_result = { - "test_label": test_label, - "test_result": test(test_count = test_count, bt_usb_id = current_usb_id) - } - except Exception as e: - log.error(f"Test failed brah - {e}") - if "org.freedesktop.DBus.Error.AccessDenied" in e: - reset_adapter() + test_label = f"Test {test_count} result" + this_test_result = { + "test_label": test_label, + "test_result": test(test_count = test_count, bt_usb_id = current_usb_id) + } test_results.append(this_test_result) # Show test results log.info("Test run completed! Summary:")