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