]> git.saurik.com Git - bison.git/commitdiff
deterministic test suite.
authorAkim Demaille <demaille@gostai.com>
Wed, 10 Jun 2009 18:14:52 +0000 (20:14 +0200)
committerAkim Demaille <demaille@gostai.com>
Wed, 10 Jun 2009 18:15:38 +0000 (20:15 +0200)
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.

ChangeLog
tests/input.at

index a8c6c588ae8b408bd8c238cf30f7726b44b78e41..ad7784888f1707435e082e4c2b9fcd1bf2346f74 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2009-06-10  Akim Demaille  <demaille@gostai.com>
+
+       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  <demaille@gostai.com>
 
        deterministic user-token-number redeclaration errors.
index 8af1d1fabf220b9028c60af17a14f9a96f0f2a55..f62a68d3f2026e572f848bd38f07308aff4f63b7 100644 (file)
@@ -680,24 +680,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
 %%
@@ -705,9 +714,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