Hello,
I think I found a bug in (srfi srfi-64) module shipped with GNU Guile.
The specification says the following about the count argument to the test-begin
form:
> The optional count must match the number of test-cases executed by this
> group. (Nested test groups count as a single test case for this count.)
Thus I believe that following should *not* call on-bad-count-function.
(use-modules (srfi srfi-64))
(let ((r (test-runner-null)))
(test-runner-current r)
(test-runner-on-bad-count! r (λ (runner actual-count expected-count)
(pk (test-runner-group-stack runner))
(pk actual-count expected-count)))
(test-begin "x" 1)
(test-begin "y" 3)
(test-assert #t)
(test-assert #t)
(test-assert #t)
(test-end)
(test-end))
However as we can see it does:
;;; (("x"))
;;; (3 1)
Have a nice day
Tomas Volf