Hello,
I think I found a bug in (srfi srfi-64) module shipped with GNU Guile.
The specification for test-end says:
> Additionally, if the matching test-begin installed a new test-runner, then the
> test-end will uninstall it, after reporting the accumulated test results in an
> implementation-defined manner.
However in following example it fails to do so:
(use-modules (srfi srfi-64))
(pk (eq? #f (test-runner-current)))
(test-begin "x")
(test-runner-on-final! (test-runner-current) (λ (_) #t))
(test-end)
(pk (eq? #f (test-runner-current)))
Resulting in:
;;; (#t)
%%%% Starting test x (Writing full log to "x.log")
;;; (#f)
I see no provision in the specification that would justify this.
Have a nice day
Tomas Volf