Subject: bug#72377: srfi-64: test-eq evaluates test-name multiple times

From: Taylan Kammer <[email-masked]>
Date: Wed, 2 Oct 2024 00:22:19 +0200

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 that test-eq is equivalent to:
>
>> (test-assert [test-name] (eq? expected test-expr))
> Hence the test-assert's requirement to evaluate test-name only once applies.
>
> However the test-name is evaluated multiple times:
>
>     (use-modules (srfi srfi-64))
>     (test-begin "x")
>     (test-eq (pk "t") #t #t)
>
> Leading to:
>
>     ;;; ("t")
>
>     ;;; ("t")
>
> Have a nice day
> Tomas Volf
>
>
Same exact deal as in bug reports 72372, 72373, 72375, and 72376.

Fixing 72375 would fix this one too, as test-eq, test-eqv, and test-equal share a helper procedure, and the bug is in that helper procedure.

Already fixed in my implementation.

- Taylan