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 failures    2

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 <l...@gnu.org>

> Hello,
>
> Sunjoong Lee <sunjo...@gmail.com> 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 #<catch-closure 8674460> ...]
   157: 17 [#<procedure 863d8c0 ()>]
  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 #<procedure 8c45840 at
ice-9/boot-9.scm:3646:3 ()>]
  3653: 12 [#<procedure 8c45840 at ice-9/boot-9.scm:3646:3 ()>]
  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 [#<procedure 90dd820 ()>]
  In ice-9/boot-9.scm:
   149: 9 [catch #t ...]
   157: 8 [#<procedure 8ad41b8 ()>]
  In /home/sunjoong/guile/test/srfi-64-test.scm:
    90: 7 [triv-runner #<procedure 91247e0 at
/home/sunjoong/guile/test/srfi-64-test.scm:150:14 ()>]
   150: 6 [#<procedure 91247e0 at
/home/sunjoong/guile/test/srfi-64-test.scm:150:14 ()>]
  In ice-9/boot-9.scm:
   149: 5 [catch #t ...]
   157: 4 [#<procedure 8ad4190 ()>]
  In /home/sunjoong/guile/test/srfi-64-test.scm:
   145: 3 [choke]
  In ice-9/boot-9.scm:
   102: 2 [#<procedure 90981a0 at ice-9/boot-9.scm:97:6 (thrown-k . args)>
out-of-range ...]
  In /home/sunjoong/guile/test/srfi-64-test.scm:
   150: 1 [#<procedure 9124800 at
/home/sunjoong/guile/test/srfi-64-test.scm:150:25 (key . args)>
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 #<catch-closure 8674460> ...]
   157: 17 [#<procedure 863d8c0 ()>]
  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 #<procedure 8c45840 at
ice-9/boot-9.scm:3646:3 ()>]
  3653: 12 [#<procedure 8c45840 at ice-9/boot-9.scm:3646:3 ()>]
  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 [#<procedure 90dd820 ()>]
  In ice-9/boot-9.scm:
   149: 9 [catch #t ...]
   157: 8 [#<procedure 9668280 ()>]
  In /home/sunjoong/guile/test/srfi-64-test.scm:
    90: 7 [triv-runner #<procedure 8c54f00 at
/home/sunjoong/guile/test/srfi-64-test.scm:610:13 ()>]
   613: 6 [#<procedure 8c54f00 at
/home/sunjoong/guile/test/srfi-64-test.scm:610:13 ()>]
  In ice-9/boot-9.scm:
   149: 5 [catch #t ...]
   157: 4 [#<procedure 9668230 ()>]
  In /home/sunjoong/guile/test/srfi-64-test.scm:
   145: 3 [choke]
  In ice-9/boot-9.scm:
   102: 2 [#<procedure 92b9660 at ice-9/boot-9.scm:97:6 (thrown-k . args)>
out-of-range ...]
  In /home/sunjoong/guile/test/srfi-64-test.scm:
   613: 1 [#<procedure 8c54fb0 at
/home/sunjoong/guile/test/srfi-64-test.scm:613:15 (key . args)>
out-of-range ...]
  In unknown file:
     ?: 0 [make-stack #t]
  # of expected passes      50
  # of expected failures    2
  # of unexpected failures  3

In above example, 3 unexpected failures are because of %test-error, I think.
But there are so many backtraces(?).

Reply via email to