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
Afficher les réponses par date
Hi Blake,
I will update the tests to reflect the changes in the parser. Thank you for reporting this.
Marc-André Bélanger
On 2022-08-30 03:54, blake@reproduciblemedia.com wrote:
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
Gambit-list mailing list Gambit-list@iro.umontreal.ca https://mailman.iro.umontreal.ca/cgi-bin/mailman/listinfo/gambit-list