Mercurial > hg > octave-jordi > gnulib-hg
changeset 16178:369182e2c607
init.sh: correct previous change
* tests/init.sh (compare): My previous change was wrong.
Don't clobber "$?". Spotted by Stefano Lattarini and Pádraig Brady.
author | Jim Meyering <meyering@redhat.com> |
---|---|
date | Thu, 22 Dec 2011 13:12:19 +0100 |
parents | dac34dbfc583 |
children | 6061553f9ece |
files | ChangeLog tests/init.sh |
diffstat | 2 files changed, 15 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-12-22 Jim Meyering <meyering@redhat.com> + init.sh: correct previous change + * tests/init.sh (compare): My previous change was wrong. + Don't clobber "$?". Spotted by Stefano Lattarini and Pádraig Brady. + init.sh: avoid unwarranted test failure when using "set -e" * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_. Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
--- a/tests/init.sh +++ b/tests/init.sh @@ -304,11 +304,17 @@ # Otherwise, propagate $? to caller: any diffs have already been printed. compare () { - compare_dev_null_ "$@" || : - case $? in - 0|1) return $?;; - *) compare_ "$@";; - esac + # This looks like it can be factored to use a simple "case $?" + # after unchecked compare_dev_null_ invocation, but that would + # fail in a "set -e" environment. + if compare_dev_null_ "$@"; then + return 0 + else + case $? in + 1) return 1;; + *) compare_ "$@";; + esac + fi } # An arbitrary prefix to help distinguish test directories.