On 30.07.2024 21:51, Tomas Volf wrote: > 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
Looks like a bug indeed. I believe I was able to fix it in my implementation with this commit: https://codeberg.org/taylan/scheme-srfis/commit/c49e367fbf292c6ee66ff435c7daa1f4ae5a47fa An equivalent fix could be applied to the upstream reference implementation / current Guile implementation. - Taylan