mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
tests: post-process stderr to normalize quotes.
* tests/bison.in: Save bison's stderr, and convert gettextized quotes to plain ASCII.
This commit is contained in:
@@ -20,17 +20,29 @@
|
|||||||
abs_top_srcdir='@abs_top_srcdir@'
|
abs_top_srcdir='@abs_top_srcdir@'
|
||||||
abs_top_builddir='@abs_top_builddir@'
|
abs_top_builddir='@abs_top_builddir@'
|
||||||
|
|
||||||
|
: ${PERL=perl}
|
||||||
|
|
||||||
# Use the shipped files, not those installed.
|
# Use the shipped files, not those installed.
|
||||||
BISON_PKGDATADIR=$abs_top_srcdir/data
|
BISON_PKGDATADIR=$abs_top_srcdir/data
|
||||||
export BISON_PKGDATADIR
|
export BISON_PKGDATADIR
|
||||||
$PREBISON "$abs_top_builddir/src/bison" ${1+"$@"}
|
|
||||||
|
trap 'rm -f /tmp/bison.$$.*; exit $status' 0 1 2 13 15
|
||||||
|
$PREBISON "$abs_top_builddir/src/bison" ${1+"$@"} 2>/tmp/bison.$$.err
|
||||||
status=$?
|
status=$?
|
||||||
|
# Protect from gettextized quotes. See quotearg.c's gettext_quote for
|
||||||
|
# the UTF-8 sequences. For context, see
|
||||||
|
# http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html
|
||||||
|
#
|
||||||
|
# In UTF-8 the quoting quote are not ', so bison use them to quote the
|
||||||
|
# ' character. When using ASCII quotes, bison issues "'".
|
||||||
|
$PERL -p \
|
||||||
|
-e "s{\\xe2\\x80\\x98|\\xe2\\x80\\x99|\\xa1\\ae|\\xa1\\xaf}{'}g;" \
|
||||||
|
-e "s{'''}{\"'\"}g;" \
|
||||||
|
/tmp/bison.$$.err >&2
|
||||||
|
|
||||||
# As a special dark magic, if we are actually using this wrapper to
|
# As a special dark magic, if we are actually using this wrapper to
|
||||||
# compile Bison's src/parse-gram.y, post-process the synclines to
|
# compile Bison's src/parse-gram.y, post-process the synclines to
|
||||||
# avoid dependencies on the user's set up (srcdir vs. builddir).
|
# avoid dependencies on the user's set up (srcdir vs. builddir).
|
||||||
PERL=perl
|
|
||||||
|
|
||||||
for i
|
for i
|
||||||
do
|
do
|
||||||
case $i in
|
case $i in
|
||||||
@@ -40,8 +52,8 @@ do
|
|||||||
# post-processes the synclines on y.tab.c itself. Don't let it
|
# post-processes the synclines on y.tab.c itself. Don't let it
|
||||||
# do it. Besides, it leaves "parse-gram.y" as the source,
|
# do it. Besides, it leaves "parse-gram.y" as the source,
|
||||||
# dropping the src/ part.
|
# dropping the src/ part.
|
||||||
perl -pi -e 's{"y\.tab\.}{"src/parse-gram.}g;' \
|
$PERL -pi -e 's{"y\.tab\.}{"src/parse-gram.}g;' \
|
||||||
-e 's{".*/(parse-gram\.y)"}{"src/$1"}g;' \
|
-e 's{".*/(parse-gram\.y)"}{"src/$1"}g;' \
|
||||||
y.tab.[ch]
|
y.tab.[ch]
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|||||||
Reference in New Issue
Block a user