Hi Gambiteers,
Just want to inform you of a bug that appears to have been introduced by recent
extensions to the SIX reader.
Building the most recent commit e98430b7626286d536840d01e13537ad99e527f4 in an
isolated guix container initiated with only the gcc-toolchain, and configured
with:
./configure --enable-single-host --enable-march=native --enable-dynamic-clib
--enable-targets=js --prefix=/home/scribble/state/work/gambit/install
"make" succeeds without issue, but the following test fails during "make check"
> *** FAILED 09-io/six.scm WITH EXIT CODE HI=1 LO=0
> "unit-tests/09-io/six.scm"@197.1: FAILED (check-equal? (str->obj "\\import 1") '((six.infix (six.import (six.literal 1))))) > GOT ((six.infix (six.import (six.identifier 1))))
> "unit-tests/09-io/six.scm"@198.1: FAILED (check-equal? (str->obj "\\import 1, 2") '((six.infix (six.import (|six.x,y| (six.literal 1) (six.literal 2)))))) GOT ((six.infix (six.import (|six.x,y| (six.identifier 1) (six.identifier 2)))))
> "unit-tests/09-io/six.scm"@199.1: FAILED (check-equal? (str->obj "\\import 1, 2;Z") '((six.infix (six.import (|six.x,y| (six.literal 1) (six.literal 2)))) Z)) GOT ((six.infix #!void) Z)
> "unit-tests/09-io/six.scm"@200.1: FAILED (check-equal? (str->obj "\\{ import 1 , 2 ; }") '((six.infix (six.compound (six.import (|six.x,y| (six.literal 1) (six.literal 2))))))) GOT #<datum-parsing-exception #2>
> "unit-tests/09-io/six.scm"@201.1: FAILED (check-equal? (str->obj "\\{ import 1 , 2 ; }Z") '((six.infix (six.compound (six.import (|six.x,y| (six.literal 1) (six.literal 2))))) Z)) GOT #<datum-parsing-exception #3>
> "unit-tests/09-io/six.scm"@203.1: FAILED (check-equal? (str->obj "\\from 0 import 1") '((six.infix (six.from-import (six.literal 0) (six.literal 1))))) GOT ((six.infix (six.from-import (six.identifier 0) (six.identifier 1))))
> "unit-tests/09-io/six.scm"@204.1: FAILED (check-equal? (str->obj "\\from 0 import 1, 2") '((six.infix (six.from-import (six.literal 0) (|six.x,y| (six.literal 1) (six.literal 2)))))) GOT ((six.infix (six.from-import (six.identifier 0) (|six.x,y| (six.identifier 1) (six.identifier 2)))))
> "unit-tests/09-io/six.scm"@205.1: FAILED (check-equal? (str->obj "\\from 0 import 1, 2;Z") '((six.infix (six.from-import (six.literal 0) (|six.x,y| (six.literal 1) (six.literal 2)))) Z)) GOT ((six.infix #!void) Z)
> "unit-tests/09-io/six.scm"@206.1: FAILED (check-equal? (str->obj "\\{ from 0 import 1, 2 ; }") '((six.infix (six.compound (six.from-import (six.literal 0) (|six.x,y| (six.literal 1) (six.literal 2))))))) GOT #<datum-parsing-exception #4>
> "unit-tests/09-io/six.scm"@207.1: FAILED (check-equal? (str->obj "\\{ from 0 import 1, 2 ; }Z") '((six.infix (six.compound (six.from-import (six.literal 0) (|six.x,y| (six.literal 1) (six.literal 2))))) Z)) GOT #<datum-parsing-exception #5>
> "unit-tests/09-io/six.scm"@209.1: FAILED (check-equal? (str->obj "\\from 0 import *") '((six.infix (six.from-import-* (six.literal 0))))) GOT ((six.infix (six.from-import-* (six.identifier 0))))
> "unit-tests/09-io/six.scm"@210.1: FAILED (check-equal? (str->obj "\\from 0 import *;Z") '((six.infix (six.from-import-* (six.literal 0))) Z)) GOT ((six.infix (six.from-import-* (six.identifier 0))))
> "unit-tests/09-io/six.scm"@211.1: FAILED (check-equal? (str->obj "\\{ from 0 import * ; }") '((six.infix (six.compound (six.from-import-* (six.literal 0)))))) GOT ((six.infix (six.from-import-* (six.identifier 0))))
> "unit-tests/09-io/six.scm"@212.1: FAILED (check-equal? (str->obj "\\{ from 0 import * ; }Z") '((six.infix (six.compound (six.from-import-* (six.literal 0)))) Z)) GOT ((six.infix (six.from-import-* (six.identifier 0))))
> [286| 1] 100% ################ 9.5s
> FAILED 1 UNIT TESTS OUT OF 287 (.3%)
After re-cloning and then reverting to commit 69fb3aa5a601524f2e88b522e3f14598e5d69625
(chosen because its the first in a series not mentioning SIX), everything builds
and succeeds fine.
Happy hacking!
Blake