diff --git a/nixos/lib/test-driver/src/test_driver/driver.py b/nixos/lib/test-driver/src/test_driver/driver.py index 56f29ffe24f1..49b6692bf422 100644 --- a/nixos/lib/test-driver/src/test_driver/driver.py +++ b/nixos/lib/test-driver/src/test_driver/driver.py @@ -188,6 +188,8 @@ class Driver: sys.exit(1) except RequestedAssertionFailed: exc_type, exc, tb = sys.exc_info() + # We manually print the stack frames, keeping only the ones from the test script + # (note: because the script is not a real file, the frame filename is ``) filtered = [ frame for frame in traceback.extract_tb(tb) diff --git a/nixos/lib/test-driver/src/test_driver/errors.py b/nixos/lib/test-driver/src/test_driver/errors.py index 449fef0d30c7..fe072b5185c9 100644 --- a/nixos/lib/test-driver/src/test_driver/errors.py +++ b/nixos/lib/test-driver/src/test_driver/errors.py @@ -15,6 +15,6 @@ class RequestedAssertionFailed(AssertionError): e.g. a failing `t.assertEqual(...)` or `machine.succeed(...)`. This gets special treatment in error reporting: i.e. it gets - `!!!` as prefix just as `MachineError`, but all stack frames that are - not from `testScript` also get removed. + `!!!` as prefix just as `MachineError`, but only stack frames coming + from `testScript` will show up in logs. """