tests: diff -u is not portable

Reported by Didier Godefroy
<http://lists.gnu.org/archive/html/bug-bison/2012-10/msg00006.html>.

* tests/existing.at (AT_LALR1_DIFF_CHECK): Skip if diff -u does not
work.
This commit is contained in:
Akim Demaille
2012-10-05 08:54:15 +02:00
parent 10b009fa50
commit a1a77e1fcc
2 changed files with 5 additions and 2 deletions

2
NEWS
View File

@@ -4,7 +4,7 @@ GNU Bison NEWS
** Bug fixes ** Bug fixes
Bugs in the test suite have been fixed. Bugs and portability issues in the test suite have been fixed.
Some errors in translations have been addressed, and --help now directs Some errors in translations have been addressed, and --help now directs
users to the appropriate place to report them. users to the appropriate place to report them.

View File

@@ -35,7 +35,10 @@ dnl time comes, just use sed to drop the line numbers. For now, as LR(1)
dnl support is rapidly evolving, let's keep that information to be careful. dnl support is rapidly evolving, let's keep that information to be careful.
dnl However, we don't do diffs for canonical LR(1) because the diff is huge. dnl However, we don't do diffs for canonical LR(1) because the diff is huge.
m4_pushdef([AT_LALR1_DIFF_CHECK], m4_pushdef([AT_LALR1_DIFF_CHECK],
[AT_CHECK([[sed 's/^%define lr.type .*$//' input.y > input-lalr.y]]) [dnl We need diff -u, which is not portable.
AT_CHECK([diff -u /dev/null /dev/null || exit 77], [0], [ignore])
AT_CHECK([[sed 's/^%define lr.type .*$//' input.y > input-lalr.y]])
AT_BISON_CHECK([[--report=all input-lalr.y]], [[0]], [ignore], [ignore]) AT_BISON_CHECK([[--report=all input-lalr.y]], [[0]], [ignore], [ignore])
AT_CHECK([[diff -u input-lalr.output input.output \ AT_CHECK([[diff -u input-lalr.output input.output \
| sed -n '/^@@/,$p' | sed 's/^ $//']], | sed -n '/^@@/,$p' | sed 's/^ $//']],