unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#72380: srfi-64: test-end does not uninstall runner if on-final was modified
@ 2024-07-30 19:51 Tomas Volf
  2024-10-01 22:34 ` Taylan Kammer
  0 siblings, 1 reply; 2+ messages in thread
From: Tomas Volf @ 2024-07-30 19:51 UTC (permalink / raw)
  To: 72380

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





^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#72380: srfi-64: test-end does not uninstall runner if on-final was modified
  2024-07-30 19:51 bug#72380: srfi-64: test-end does not uninstall runner if on-final was modified Tomas Volf
@ 2024-10-01 22:34 ` Taylan Kammer
  0 siblings, 0 replies; 2+ messages in thread
From: Taylan Kammer @ 2024-10-01 22:34 UTC (permalink / raw)
  To: Tomas Volf, 72380

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 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
>
>
Don't know how to most easily fix this upstream due to the convoluted code, but works fine with my implementation of SRFI-64.

- Taylan






^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-10-01 22:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-30 19:51 bug#72380: srfi-64: test-end does not uninstall runner if on-final was modified Tomas Volf
2024-10-01 22:34 ` Taylan Kammer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).