diff --git a/bin/tests/system/isctest/kasp.py b/bin/tests/system/isctest/kasp.py index 1aec27c3f5..501bd5f4a4 100644 --- a/bin/tests/system/isctest/kasp.py +++ b/bin/tests/system/isctest/kasp.py @@ -643,7 +643,9 @@ def check_keys(zone, keys, expected): def _verify_keys(): # check number of keys matches expected. if len(keys) != len(expected): - return False + assert ( + False + ), f"check_keys(): mismatched number of keys, expected {len(expected)}, got {len(keys)}" if len(keys) == 0: return True @@ -662,7 +664,7 @@ def check_keys(zone, keys, expected): expected[i].key = key i += 1 if not found: - return False + assert False, f"check_keys(): key {key} not found" return True diff --git a/bin/tests/system/isctest/run.py b/bin/tests/system/isctest/run.py index c3b37ac059..b26190e4a3 100644 --- a/bin/tests/system/isctest/run.py +++ b/bin/tests/system/isctest/run.py @@ -127,12 +127,22 @@ def perl(script: str, args: Optional[List[str]] = None) -> None: def retry_with_timeout(func, timeout, delay=1, msg=None): start_time = time.time() + exc_msg = None while time.time() < start_time + timeout: - if func(): - return + exc_msg = None + try: + if func(): + return + except AssertionError as exc: + exc_msg = str(exc) time.sleep(delay) + if exc_msg is not None: + isctest.log.error(exc_msg) if msg is None: - msg = f"{func.__module__}.{func.__qualname__} timed out after {timeout} s" + if exc_msg is not None: + msg = exc_msg + else: + msg = f"{func.__module__}.{func.__qualname__} timed out after {timeout} s" assert False, msg