Commit e06f8a3e authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz
Browse files

work around diagnostic changes in Bison 3.6

Bison <3.6 used to complain about "$undefined", while Bison >=3.6 now
write "invalid token".

* tests/core/parseaut.test, tests/core/parseerr.test,
tests/core/sugar.test: Adjust expected diagnostics to match Bison pre
and post 3.6.
parent 16540869
#!/bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2014-2018 Laboratoire de Recherche et Développement de
# Copyright (C) 2014-2018, 2020 Laboratoire de Recherche et Développement de
# l'Epita (LRDE).
#
# This file is part of Spot, a model checking library.
......@@ -31,7 +31,9 @@ expecterr()
# If autfilt is compiled statically, the '.../lt-' parse of
# its name is not stripped, and the error message show the
# full path.
sed 's:^\.\./\.\./bin/::' $1.err-t >$1.err
# Also work around differences between Bison >=3.6 (invalid token)
# end Bison <3.6 ($undefined).
sed 's:^\.\./\.\./bin/::;s/[$]undefined/invalid token/' $1.err-t >$1.err
cat $1.err
diff $1.err $1.exp
}
......@@ -1226,21 +1228,22 @@ garbage
EOF
se='syntax error, unexpected' # this is just to keep lines short
undefined='invalid token'
expecterr input <<EOF
input:8.11: $se identifier, expecting integer or '}'
input:8.10-12: ignoring this invalid acceptance set
input:11.2: $se identifier
input:11.1-3: ignoring this invalid label
input:21.5-7: $se string, expecting integer
input:25.1: $se \$undefined
input:25.1: $se $undefined
input:32.1-5: $se header name, expecting --END-- or State:
input:28.1-8: initial state 0 has no definition
input:25.1-12: leading garbage was ignored
input:37.1: $se 't'
input:43.1: $se \$undefined
input:56.1: $se \$undefined, expecting State: or end of DSTAR automaton
input:43.1: $se $undefined
input:56.1: $se $undefined, expecting State: or end of DSTAR automaton
input:37.1-39.21: leading garbage was ignored
input:81.1: $se \$undefined
input:81.1: $se $undefined
autfilt: failed to read automaton from input
EOF
......
#! /bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2009, 2010, 2011, 2013, 2014, 2015, 2016 Laboratoire
# Copyright (C) 2009-2016, 2020 Laboratoire
# de Recherche et Développement de l'Epita (LRDE).
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
......@@ -36,7 +36,7 @@ a - b
{a[*9999999999]}
EOF
run 1 ../ltl2text input >output
run 1 ../ltl2text input | sed 's/[$]undefined/invalid token/g' > output
sed 's/$$//' >expected<<\EOF
>>> $
......@@ -53,7 +53,7 @@ ignoring trailing garbage
>>> /2/3/4/5 a + b /6/7/8/
^
syntax error, unexpected $undefined
syntax error, unexpected invalid token
>>> /2/3/4/5 a + b /6/7/8/
^^^^^^^^^^^^^^^^^^^^^^
......@@ -61,7 +61,7 @@ ignoring trailing garbage
>>> a - b
^
syntax error, unexpected $undefined
syntax error, unexpected invalid token
>>> a - b
^^^
......
#! /bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2018, 2019 Laboratoire de Recherche et Développement
# de l'Epita (LRDE).
# Copyright (C) 2018-2020 Laboratoire de Recherche et Développement de
# l'Epita (LRDE).
#
# This file is part of Spot, a model checking library.
#
......@@ -135,11 +135,12 @@ EOF
num="number for square bracket operator"
numoreof="$num or end of formula"
sep="separator for square bracket operator"
undefined='$undefined'
undefined='invalid token'
closingbkt='square bracket operator, expecting closing bracket'
eclosingbkt='expecting closing bracket or closing !]'
ltlfilt -F err.in 2>err && exit 1
sed 's/[$]undefined/invalid token/' err >err2
cat >expect2 <<EOF
ltlfilt:err.in:1: parse error:
>>> F[
......@@ -329,4 +330,4 @@ syntax error, unexpected closing brace
missing right operand for "SVA delay operator"
EOF
diff -u err expect2
diff -u err2 expect2
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment