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-equal is equivalent to:

(test-assert [test-name] (equal? 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-equal (pk "t") #t #t)

Leading to:

    ;;; ("t")

    ;;; ("t")

Have a nice day
Tomas Volf


Same exact deal as in bug reports 72372, 72373, and 72375.

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