From: Akim Demaille Date: Wed, 10 Jun 2009 18:14:52 +0000 (+0200) Subject: deterministic test suite. X-Git-Tag: v2.7.90~861 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/8893145a0c033d69338ed005533c95b84b20cb51?ds=inline deterministic test suite. Some consistency checks on symbols are performed after all the symbols were read, by an iteration over the symbol table. This traversal is nondeterministic, which can be a problem for test cases. Avoid this. Addresses another form of nondeterminism reported by Joel E. Denny. http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00023.html * tests/input.at (Numbered tokens): Split the hexadecimal/decimal test in two. Use different file names for the three tests to make the maintenance easier. --- diff --git a/ChangeLog b/ChangeLog index 30e94263..4fe1becb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2009-06-10 Akim Demaille + + deterministic test suite. + Some consistency checks on symbols are performed after all the + symbols were read, by an iteration over the symbol table. This + traversal is nondeterministic, which can be a problem for test + cases. + Avoid this. + Addresses another form of nondeterminism reported by Joel E. Denny. + http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00023.html + + * tests/input.at (Numbered tokens): Split the hexadecimal/decimal + test in two. + Use different file names for the three tests to make the + maintenance easier. + 2009-06-10 Akim Demaille gnulib: update. diff --git a/gnulib b/gnulib index 31d31543..5a1286a9 160000 --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit 31d3154399f8c679ba23afb0f6bef03b73d4c741 +Subproject commit 5a1286a9f8597c0063a82645b55f3e97433fc521 diff --git a/tests/input.at b/tests/input.at index 6de0e1a3..bf40ab4b 100644 --- a/tests/input.at +++ b/tests/input.at @@ -675,24 +675,33 @@ AT_CLEANUP AT_SETUP([Numbered tokens]) -AT_DATA_GRAMMAR([input.y], -[[%token HEXADECIMAL_1 0xabcdef - DECIMAL_1 11259375 -%token HEXADECIMAL_2 0XFEDCBA - DECIMAL_2 16702650 +AT_DATA_GRAMMAR([1.y], +[[%token DECIMAL 11259375 + HEXADECIMAL 0xabcdef %% -start: HEXADECIMAL_1 HEXADECIMAL_2 +start: DECIMAL; +]]) + +AT_BISON_CHECK([1.y], [1], [], +[[1.y:10.10-20: user token number 11259375 redeclaration for HEXADECIMAL +1.y:9.8-14: previous declaration for DECIMAL +]]) + + +AT_DATA_GRAMMAR([2.y], +[[%token HEXADECIMAL 0xabcdef + DECIMAL 11259375 %% +start: HEXADECIMAL; ]]) -AT_BISON_CHECK([input.y], [1], [], -[[input.y:10.12-20: user token number 11259375 redeclaration for DECIMAL_1 -input.y:9.8-20: previous declaration for HEXADECIMAL_1 -input.y:12.12-20: user token number 16702650 redeclaration for DECIMAL_2 -input.y:11.8-20: previous declaration for HEXADECIMAL_2 +AT_BISON_CHECK([2.y], [1], [], +[[2.y:10.10-16: user token number 11259375 redeclaration for DECIMAL +2.y:9.8-18: previous declaration for HEXADECIMAL ]]) -AT_DATA_GRAMMAR([input.y], + +AT_DATA_GRAMMAR([3.y], [[%token TOO_LARGE_DEC 999999999999999999999 TOO_LARGE_HEX 0xFFFFFFFFFFFFFFFFFFF %% @@ -700,9 +709,9 @@ start: TOO_LARGE_DEC TOO_LARGE_HEX %% ]]) -AT_BISON_CHECK([input.y], [1], [], -[[input.y:9.22-42: integer out of range: `999999999999999999999' -input.y:10.24-44: integer out of range: `0xFFFFFFFFFFFFFFFFFFF' +AT_BISON_CHECK([3.y], [1], [], +[[3.y:9.22-42: integer out of range: `999999999999999999999' +3.y:10.24-44: integer out of range: `0xFFFFFFFFFFFFFFFFFFF' ]]) AT_CLEANUP