mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
tests: factor the generation of files without the final eol
AFAICT Autotest 2.69 still does not support AT_DATA without the final eol. * tests/local.at (AT_DATA_NO_FINAL_EOL): New. * tests/input.at: Use it.
This commit is contained in:
@@ -2173,18 +2173,13 @@ AT_CLEANUP
|
||||
# Bison used to accept character literals that were empty or contained
|
||||
# too many characters.
|
||||
|
||||
# FIXME: AT_DATA or some variant of AT_DATA may eventually permit
|
||||
# the final newline to be omitted. See the threads starting at
|
||||
# <http://lists.gnu.org/archive/html/bison-patches/2009-07/msg00019.html>.
|
||||
|
||||
AT_SETUP([[Bad character literals]])
|
||||
|
||||
AT_DATA([empty.y],
|
||||
AT_DATA_NO_FINAL_EOL([empty.y],
|
||||
[[%%
|
||||
start: '';
|
||||
start: '
|
||||
]])
|
||||
AT_PERL_REQUIRE([[-e "print 'start: \'';" >> empty.y]])
|
||||
start: ']])
|
||||
|
||||
AT_BISON_CHECK([-fcaret empty.y], [1], [],
|
||||
[[empty.y:2.8-9: warning: empty character literal [-Wother]
|
||||
@@ -2204,12 +2199,11 @@ empty.y:4.8: warning: empty character literal [-Wother]
|
||||
| ^
|
||||
]])
|
||||
|
||||
AT_DATA([two.y],
|
||||
AT_DATA_NO_FINAL_EOL([two.y],
|
||||
[[%%
|
||||
start: 'ab';
|
||||
start: 'ab
|
||||
]])
|
||||
AT_PERL_REQUIRE([[-e "print 'start: \'ab';" >> two.y]])
|
||||
start: 'ab]])
|
||||
|
||||
AT_BISON_CHECK([two.y], [1], [],
|
||||
[[two.y:2.8-11: warning: extra characters in character literal [-Wother]
|
||||
@@ -2219,12 +2213,11 @@ two.y:4.8-10: error: missing "'" at end of file
|
||||
two.y:4.8-10: warning: extra characters in character literal [-Wother]
|
||||
]])
|
||||
|
||||
AT_DATA([three.y],
|
||||
AT_DATA_NO_FINAL_EOL([three.y],
|
||||
[[%%
|
||||
start: 'abc';
|
||||
start: 'abc
|
||||
]])
|
||||
AT_PERL_REQUIRE([[-e "print 'start: \'abc';" >> three.y]])
|
||||
start: 'abc]])
|
||||
|
||||
AT_BISON_CHECK([three.y], [1], [],
|
||||
[[three.y:2.8-12: warning: extra characters in character literal [-Wother]
|
||||
|
||||
@@ -47,6 +47,21 @@ m4_define([AT_SETUP_STRIP],
|
||||
])
|
||||
|
||||
|
||||
# AT_DATA_NO_FINAL_EOL(FILE, CONTENT)
|
||||
# -----------------------------------
|
||||
# Same as AT_DATA, except that CONTENT has no the final end of line.
|
||||
#
|
||||
# FIXME: AT_DATA or some variant of AT_DATA may eventually permit
|
||||
# the final newline to be omitted. See the threads starting at
|
||||
# <http://lists.gnu.org/archive/html/bison-patches/2009-07/msg00019.html>.
|
||||
m4_define([AT_DATA_NO_FINAL_EOL],
|
||||
[AT_DATA([$1], [$2
|
||||
])
|
||||
AT_PERL_REQUIRE([[-pi -e 'chomp if eof' $1]])
|
||||
])
|
||||
|
||||
|
||||
|
||||
## ------------- ##
|
||||
## Basic tests. ##
|
||||
## ------------- ##
|
||||
|
||||
Reference in New Issue
Block a user