Mercurial > hg > octave-lyh > gnulib-hg
changeset 16329:e0223be18e82
test-framework-sh: Fix test failure with AIX 7.1 diff.
* tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
in column 1, like 'diff -c' does.
* tests/test-init.sh (test_compare): Don't repeat the test from init.sh
whether 'diff -u' is used. Instead, test whether the output contains
some '@' character.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sat, 28 Jan 2012 23:29:16 +0100 |
parents | e8f946a4eba3 |
children | ebf9253dd5e0 |
files | ChangeLog tests/init.sh tests/test-init.sh |
diffstat | 3 files changed, 22 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2012-01-28 Bruno Haible <bruno@clisp.org> + + test-framework-sh: Fix test failure with AIX 7.1 diff. + * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space + in column 1, like 'diff -c' does. + * tests/test-init.sh (test_compare): Don't repeat the test from init.sh + whether 'diff -u' is used. Instead, test whether the output contains + some '@' character. + 2012-01-28 Paul Eggert <eggert@cs.ucla.edu> strtoimax: eliminate need for stdint.h, inttypes.h checks
--- a/tests/init.sh +++ b/tests/init.sh @@ -255,7 +255,10 @@ return 2 } -if diff_out_=`exec 2>/dev/null; diff -u "$0" "$0" < /dev/null`; then +if diff_out_=`exec 2>/dev/null; diff -u "$0" "$0" < /dev/null` \ + && diff -u Makefile "$0" 2>/dev/null | grep '^[+]#!' >/dev/null; then + # diff accepts the -u option and does not (like AIX 7 'diff') produce an + # extra space on column 1 of every content line. if test -z "$diff_out_"; then compare_ () { diff -u "$@"; } else
--- a/tests/test-init.sh +++ b/tests/test-init.sh @@ -50,20 +50,19 @@ case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac compare empty in >out 2>err && fail=1 - # Remove the TAB-date suffix on each --- and +++ line, - # for both the expected and the actual output files. - # Also remove the @@ line, since Solaris 5.10 and GNU diff formats differ: - # -@@ -0,0 +1 @@ - # +@@ -1,0 +1,1 @@ - cat <<\EOF > exp + # Compare against expected output only if compare is using diff -u. + if grep @ out >/dev/null; then + # Remove the TAB-date suffix on each --- and +++ line, + # for both the expected and the actual output files. + # Also remove the @@ line, since Solaris 5.10 and GNU diff formats differ: + # -@@ -0,0 +1 @@ + # +@@ -1,0 +1,1 @@ + sed 's/ .*//;/^@@/d' out > k && mv k out + cat <<\EOF > exp --- empty +++ in +xyz EOF - sed 's/ .*//;/^@@/d' out > k && mv k out - - # Compare against expected output only if compare is using diff -u. - if diff -u out out < /dev/null > /dev/null 2>&1; then compare exp out || fail=1 fi case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac