tests: beware of portability issues with wc

On macOS, wc -l always prepends the result with a tab, even when fed
by stdin.  But anyway, we should have used `grep -c -v`, which appears
to be portable according to Autoconf's "Limitations of Usual Tools"
section.
Reported by Denis Excoffier.
https://lists.gnu.org/r/bug-bison/2020-04/msg00009.html

* tests/calc.at (_AT_CHECK_CALC): Use grep's -c instead.
This commit is contained in:
Akim Demaille
2020-04-19 08:05:35 +02:00
parent 0a64b76430
commit 1d0e3ee896
2 changed files with 3 additions and 3 deletions

View File

@@ -763,8 +763,8 @@ AT_JAVA_IF(
[AT_PARSER_CHECK([calc input], 0, [AT_PARAM_IF([m4_n([$3])])], [stderr])])
AT_LANG_MATCH([c\|c++\|java],
[AT_GLR_IF([],
[AT_CHECK([grep -v 'Return for a new token:' stderr | wc -l],
[0],
[AT_CHECK([grep -c -v 'Return for a new token:' stderr],
[ignore],
[m4_n([AT_DEBUG_IF([$4], [0])])])])])
])

View File

@@ -1601,7 +1601,7 @@ $9
# (C90 and C++98) guarantee: 32767. In that case, GCC's -pedantic
# will issue an error.
#
# There is no "" around `wc` since some indent the result.
# There is no "" around `wc` since some wc indent the result.
m4_bmatch([$4], [%define lr.type canonical-lr],
[if test 32767 -lt `wc -l < input.c`; then
CFLAGS=`echo " $CFLAGS " | sed -e 's/ -pedantic / /'`