diff --git a/module/srfi/srfi-64/testing.scm b/module/srfi/srfi-64/testing.scm index d686662bf..37792cd0f 100644 --- a/module/srfi/srfi-64/testing.scm +++ b/module/srfi/srfi-64/testing.scm @@ -433,8 +433,9 @@ (%test-runner-fail-list! r (car (%test-runner-fail-save r))) (%test-runner-fail-save! r (cdr (%test-runner-fail-save r))) (%test-runner-count-list! r (cdr count-list)) - (if (null? (test-runner-group-stack r)) - ((test-runner-on-final r) r))))) + (cond ((null? (test-runner-group-stack r)) + ((test-runner-on-final r) r) + (test-runner-current #f)))))) (define-syntax test-group (syntax-rules () diff --git a/test-suite/tests/srfi-64-test.scm b/test-suite/tests/srfi-64-test.scm index 264c86f47..ca0b58943 100644 --- a/test-suite/tests/srfi-64-test.scm +++ b/test-suite/tests/srfi-64-test.scm @@ -483,6 +483,7 @@ '(("x" "x") ("y") () () ("y") (2 1 0 0 1)) (triv-runner (lambda () + (test-begin "a then b") (test-begin "a") (test-skip "y") (test-assert "x" #t) ; PASS @@ -491,6 +492,7 @@ (test-begin "b") (test-assert "x" #t) ; PASS (test-assert "y" #f) ; FAIL + (test-end) (test-end)))) (test-equal @@ -498,6 +500,7 @@ '(("x" "x") () () () ("y" "y") (2 0 0 0 2)) (triv-runner (lambda () + (test-begin "a then b") (test-skip "y") (test-begin "a") (test-assert "x" #t) ; PASS @@ -506,6 +509,7 @@ (test-begin "b") (test-assert "x" #t) ; PASS (test-assert "y" #f) ; SKIP + (test-end) (test-end)))) (test-end);6.3 @@ -809,8 +813,8 @@ (test-assert "x" #t) (test-begin "a") (test-assert #t) - (test-end) - (test-assert "y" #f)))) + (test-assert "y" #f) + (test-end)))) (test-end) ; 8.8