* 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. Some minor changes in spacing and formatting. ($extra_includes): Variable renamed to ... ($acincludes): ... this one, and extended. --- ChangeLog | 9 +++++++++ tests/defs | 45 ++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 25 deletions(-)
From 3a37802eea8c78e915c2bb458179e1c4a17e2e74 Mon Sep 17 00:00:00 2001 From: Stefano Lattarini <stefano.lattar...@gmail.com> Date: Fri, 12 Nov 2010 15:45:22 +0100 Subject: [PATCH 3/5] Tests defs: some cleanup and minor fixes. * 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. Some minor changes in spacing and formatting. ($extra_includes): Variable renamed to ... ($acincludes): ... this one, and extended. --- ChangeLog | 9 +++++++++ tests/defs | 45 ++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/ChangeLog b/ChangeLog index b23ddc6..5efbcf2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2010-11-12 Stefano Lattarini <stefano.lattar...@gmail.com> + Tests defs: some cleanup and minor fixes. + * 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. + Quote shell metacharacters when looking for `cl' in $required. + Some minor changes in spacing and formatting. + ($extra_includes): Variable renamed to ... + ($acincludes): ... this one, and extended. + Tests defs: new subroutine `skip' for test skipping. * tests/defs.in (skip): New subroutine, causing the running test script to be SKIP'd, possibly with a meaningful message. diff --git a/tests/defs b/tests/defs index 65f08b3..9ff9b5d 100644 --- a/tests/defs +++ b/tests/defs @@ -23,7 +23,7 @@ # 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. @@ -40,13 +40,13 @@ me=`echo "$0" | sed -e 's,.*[\\/],,;s/\.test$//'` # 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 @@ -235,8 +235,8 @@ do # 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 @@ -259,8 +259,8 @@ do # 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 @@ -344,42 +344,37 @@ esac case " $required " in *' libtool '* | *' libtoolize '* | *' gettext '* ) aclocaldir=$testprefix/share/aclocal - extra_includes="" if test -f $aclocaldir/dirlist; then - extra_includes=` + acincludes=` <$aclocaldir/dirlist \ sed 's/#.*//;s/[ ][ ]*$//g' \ | while read dir; do test ! -d "$dir" || echo "-I $dir"; done` else :; fi - + acincludes="-I $top_testsrcdir/m4 $acincludes -I $aclocaldir" + unset aclocaldir libtool_found=no gettext_found=no - for d in $extra_includes $aclocaldir ; do - test "x$d" != x-I || continue - if test -f "$d/libtool.m4"; then - libtool_found=yes - fi - if test -f "$d/gettext.m4"; then - gettext_found=yes - fi + for d in $acincludes; do + test x"$d" = x"-I" && continue + test -f "$d/libtool.m4" && libtool_found=yes + test -f "$d/gettext.m4" && gettext_found=yes done case " $required " in *' libtool '*|*' libtoolize '*) if test $libtool_found != yes; then skip "libtool is required, but libtool.m4 wasn't found in" \ - "directories $aclocaldir $extra_includes" + "directories $acincludes" fi ;; *' gettext '*) if test $gettext_found != yes; then skip "gettext is required, but gettext.m4 wasn't found in" \ - "directories $aclocaldir $extra_includes" + "directories $acincludes" fi ;; esac - ACLOCAL="$ACLOCAL -Wno-syntax -I $top_testsrcdir/m4 $extra_includes -I $aclocaldir" - unset libtool_found gettext_found - unset extra_includes aclocaldir + ACLOCAL="$ACLOCAL -Wno-syntax $acincludes" + unset libtool_found gettext_found acincludes ;; esac @@ -418,14 +413,14 @@ if test "$sh_errexit_works" = yes; then 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 -- 1.7.1