bug#72380: srfi-64: test-end does not uninstall runner if on-final was modified

Tomas Volf <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <ZqlEXoJwUsoCTOzA@ws>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.