Hi, Ludo’;
A srfi-64-test.scm file is a test suite for the SRFI 64 and you can get it
from http://srfi.schemers.org/srfi-64/srfi-64-test.scm .
51 expected passes and 2 expected failures are normal:
$ guile -L /home/sunjoong/guile/site --use-srfi=64 srfi-64-test.scm
Starting test SRFI 64 - Meta-Test Suite (Writing full log to "SRFI 64
- Meta-Test Suite.log")
# of expected passes 51
# of expected failures2
In above example, /home/sunjoong/guile/site directory is where srfi
directory be in residence and srfi directory contains SRFI
64 implementation.
If it display unexpected(!!) failure, something's wrong.
2012/4/22 Ludovic Courtès
> Hello,
>
> Sunjoong Lee skribis:
>
> > Your implementation fails srfi-64-test.scm, a test suite for the SRFI 64.
>
> Oh, which ones? This is essentially the reference implementation, so it
> shouldn’t fail. But perhaps my copy of srfi-64.scm is older than
> srfi-64-test.scm?
>
>
The reference implementation has a bug at test-error macro and it cause
syntax error like this:
$ guile -L /home/sunjoong/guile/site --use-srfi=64 srfi-64-test.scm
;;; ERROR: Syntax error:
;;; /home/sunjoong/guile/test/srfi-64-test.scm:186:4: source expression
failed to match any pattern in form (%test-error #t (vector-ref (quote #(1
2)) 9))
Starting test SRFI 64 - Meta-Test Suite (Writing full log to "SRFI
64 - Meta-Test Suite.log")
I've noticed that and sent a patch to Per.
Even after fixing this bug, there are some problems;
First, test-error use %test-error but %test-error sets result-kind to skip.
So, the reference implementation fails the test suite for the SRFI 64
whenever not on kawa or mzscheme.
Though it fails srfi-64-test.scm, you may use test-error macro after fixing
above a bug but...
Second, test-apply uses test-with-runner but test-with-runner defined
after test-apply.
Third, test-group is not exported.
At last, you're using make-stack, a Guile's debugging facility.
I think it makes a problem more complex;
$ guile -L /home/sunjoong/guile/site --use-srfi=64 srfi-64-test.scm
Starting test SRFI 64 - Meta-Test Suite (Writing full log to "SRFI
64 - Meta-Test Suite.log")
In ice-9/boot-9.scm:
149: 18 [catch #t # ...]
157: 17 [#]
In unknown file:
?: 16 [catch-closure]
In ice-9/boot-9.scm:
63: 15 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
407: 14 [eval # #]
In ice-9/boot-9.scm:
2111: 13 [save-module-excursion #]
3653: 12 [#]
In unknown file:
?: 11 [load-compiled/vm
"/home/sunjoong/.cache/guile/ccache/2.0-LE-4-2.0/home/sunjoong/guile/test/srfi-64-test.scm.go"]
In /home/sunjoong/guile/test/srfi-64-test.scm:
147: 10 [#]
In ice-9/boot-9.scm:
149: 9 [catch #t ...]
157: 8 [#]
In /home/sunjoong/guile/test/srfi-64-test.scm:
90: 7 [triv-runner #]
150: 6 [#]
In ice-9/boot-9.scm:
149: 5 [catch #t ...]
157: 4 [#]
In /home/sunjoong/guile/test/srfi-64-test.scm:
145: 3 [choke]
In ice-9/boot-9.scm:
102: 2 [#
out-of-range ...]
In /home/sunjoong/guile/test/srfi-64-test.scm:
150: 1 [#
out-of-range ...]
In unknown file:
?: 0 [make-stack #t]
FAIL 2.1.1. Baseline test; PASS with no optional args
FAIL 2.1.2. Baseline test; FAIL with no optional args
FAIL 2.1.3. PASS with a test name and error type
In ice-9/boot-9.scm:
149: 18 [catch #t # ...]
157: 17 [#]
In unknown file:
?: 16 [catch-closure]
In ice-9/boot-9.scm:
63: 15 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
407: 14 [eval # #]
In ice-9/boot-9.scm:
2111: 13 [save-module-excursion #]
3653: 12 [#]
In unknown file:
?: 11 [load-compiled/vm
"/home/sunjoong/.cache/guile/ccache/2.0-LE-4-2.0/home/sunjoong/guile/test/srfi-64-test.scm.go"]
In /home/sunjoong/guile/test/srfi-64-test.scm:
607: 10 [#]
In ice-9/boot-9.scm:
149: 9 [catch #t ...]
157: 8 [#]
In /home/sunjoong/guile/test/srfi-64-test.scm:
90: 7 [triv-runner #]
613: 6 [#]
In ice-9/boot-9.scm:
149: 5 [catch #t ...]
157: 4 [#]
In /home/sunjoong/guile/test/srfi-64-test.scm:
145: 3 [choke]
In ice-9/boot-9.scm:
102: 2 [#
out-of-range ...]
In /home/sunjoong/guile/test/srfi-64-test.scm:
613: 1 [#
out-of-range ...]
In unknown file:
?: 0 [make-stack #t]
# of expected passes 50
# of expected failures2
# of unexpected failures 3
In above example, 3 unexpected failures are because of %test-error, I think.
But there are so many backtraces(?).