Subject: srfi-64: test-eq evaluates test-name multiple times

From: Tomas Volf <[email-masked]>
Date: Tue, 30 Jul 2024 21:51:57 +0200

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