bug#72378: srfi-64: top-level test-group does not work

Tomas Volf <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <ZqlEXtxqb81geJ_7@ws>
Hello,

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

The test-group is defined as equivalent to:

    (if (not (test-to-skip% suite-name))
      (dynamic-wind
        (lambda () (test-begin suite-name))
        (lambda () decl-or-expr ...)
        (lambda () (test-end suite-name))))

`test-to-skip%' is not defined anywhere (great), however in the text we have
this sentence:

> However, the entire group is skipped if it matched an active test-skip

Since active skip list is mandated to be a property of test runner, in case the
test runner does not exist yet, there cannot be active skip list.  Hence the
group should run.  However:

    (use-modules (srfi srfi-64))
    (test-group "x"
      #t)

Leads to:

    Backtrace:
    In ice-9/boot-9.scm:
      1752:10  6 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
    In unknown file:
               5 (apply-smob/0 #<thunk 7fc490169300>)
    In ice-9/boot-9.scm:
        724:2  4 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
    In ice-9/eval.scm:
        619:8  3 (_ #(#(#<directory (guile-user) 7fc49016cc80>)))
    In ice-9/boot-9.scm:
       2836:4  2 (save-module-excursion _)
      4388:12  1 (_)
    In /home/wolf/src/guile-wolfsden/tests/srfi-64/test-group-top-level.srfi64test:
          8:0  0 (_)

    /home/wolf/src/guile-wolfsden/tests/srfi-64/test-group-top-level.srfi64test:8:0: In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f

Have a nice day
Tomas Volf
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.