Subject: bug#72371: srfi-64: test marked for skip and as expected failure has wrong result-kind in on-test-begin-function

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

Hello,

I think I found a bug in (srfi srfi-64) module shipped with GNU Guile.

The specification says the following regarding the test-result-kind:

> If we've started on a new test, but don't have a result yet, then the result
> kind is 'xfail if the test is expected to fail, 'skip if the test is supposed
> to be skipped, or #f otherwise.

Thus I believe that following should print `xfail':

    (use-modules (srfi srfi-64))
    (test-begin "x")

    (test-runner-on-test-begin! (test-runner-current)
      (λ (runner)
        (pk (test-result-kind))))

    (test-skip 1)
    (test-expect-fail 1)
    (test-assert #t)

    (test-end)

However it does not:

    ;;; (skip)

Have a nice day
Tomas Volf