* tests/init.sh (compare): My previous change was wrong.
Don't clobber "$?". Spotted by Stefano Lattarini and Pádraig Brady.
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)
# 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.