2011-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
+ tests: hard error in case of internal failures or signal caught
+ * tests/defs: Exit with status 99 (hard error) rather than
+ 1 (failure) on unexpected/internal errors, or when a signal
+ is caught by the client script.
+
Tests defs: don't let useless variables leak in test scripts.
* tests/defs ($priv_check_temp, $overwrite_status, $ro_dir_temp,
$create_status, $r2h, $libtool_found, $gettext_found, $aclocaldir,
# Ensure we are running from the right directory.
test -f ./defs-static || {
echo "$0: ./defs-static: not found in current directory" >&2
- exit 1
+ exit 99
}
# Source the shell sanitization and variables' definitions.
# Ensure $testsrcdir is set correctly.
test -f "$testsrcdir/defs-static.in" || {
echo "$me: $testsrcdir/defs-static.in not found, check \$testsrcdir" >&2
- exit 1
+ exit 99
}
# Ensure $testbuilddir is set correctly.
test -f "$testbuilddir/defs-static" || {
echo "$me: $testbuilddir/defs-static not found, check \$testbuilddir" >&2
- exit 1
+ exit 99
}
# Unset some MAKE... variables that may cause $MAKE to act like a
# Skip this test case if the user is root.
# We try to append to a read-only file to detect this.
priv_check_temp=priv-check.$$
- touch $priv_check_temp || exit 1
- chmod a-w $priv_check_temp || exit 1
+ touch $priv_check_temp || exit 99
+ chmod a-w $priv_check_temp || exit 99
(echo foo >> $priv_check_temp) >/dev/null 2>&1
overwrite_status=$?
rm -f $priv_check_temp
# Skip this test case if read-only directories aren't supported
# (e.g., under DOS.)
ro_dir_temp=ro_dir.$$
- mkdir $ro_dir_temp || exit 1
- chmod a-w $ro_dir_temp || exit 1
+ mkdir $ro_dir_temp || exit 99
+ chmod a-w $ro_dir_temp || exit 99
(: > $ro_dir_temp/probe) >/dev/null 2>/dev/null
create_status=$?
rm -rf $ro_dir_temp
exit $exit_status
' 0
for signal in 1 2 13 15; do
- trap 'signal='$signal'; { Exit 1; }' $signal
+ trap 'signal='$signal'; { Exit 99; }' $signal
done
signal=0
fi
# Copy in some files we need.
for file in install-sh missing depcomp; do
- cp "$top_testsrcdir/lib/$file" . || Exit 1
+ cp "$top_testsrcdir/lib/$file" . || Exit 99
done
# Build appropriate environment in test directory. Eg create