automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 5/5] Tests defs: improve messages for skipped tests.


From: Stefano Lattarini
Subject: [PATCH 5/5] Tests defs: improve messages for skipped tests.
Date: Wed, 8 Sep 2010 20:57:19 +0200
User-agent: KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )

* tests/defs.in: Give meaningful messages about the reasons of a
test skip; this is especially useful as this file is run without
verbose xtraces on.  Related reorderings in the code and new
comments.
---
 ChangeLog     |    6 ++++
 tests/defs.in |   80 +++++++++++++++++++++++++++++++++++++++++++++-----------
 2 files changed, 70 insertions(+), 16 deletions(-)

From 644508af7c26667010e50cc2acc42db3febb1f41 Mon Sep 17 00:00:00 2001
From: Stefano Lattarini <address@hidden>
Date: Wed, 8 Sep 2010 18:26:20 +0200
Subject: [PATCH 5/5] Tests defs: improve messages for skipped tests.

* tests/defs.in: Give meaningful messages about the reasons of a
test skip; this is especially useful as this file is run without
verbose xtraces on.  Related reorderings in the code and new
comments.
---
 ChangeLog     |    6 ++++
 tests/defs.in |   80 +++++++++++++++++++++++++++++++++++++++++++++-----------
 2 files changed, 70 insertions(+), 16 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index fb1c7ee..05e0985 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2010-09-08  Stefano Lattarini  <address@hidden>
 
+       Tests defs: improve messages for skipped tests.
+       * tests/defs.in: Give meaningful messages about the reasons of a
+       test skip; this is especially useful as this file is run without
+       verbose xtraces on.  Related reorderings in the code and new
+       comments.
+
        Tests defs: do not print message "Running test $0" anymore.
        * tests/defs.in: Printing the message "=== Running test $0" at
        the beginning of each tests made sense when Automake used the old
diff --git a/tests/defs.in b/tests/defs.in
index 0e0b267..2d07554 100644
--- a/tests/defs.in
+++ b/tests/defs.in
@@ -261,6 +261,7 @@ do
       export GCJ
       echo "$me: running $GCJ --version"
       ( $GCJ --version ) || exit 77
+      echo "$me: running $GCJ -v"
       ( $GCJ -v ) || exit 77
       ;;
     g++)
@@ -297,11 +298,16 @@ do
       (echo foo >> $priv_check_temp) >/dev/null 2>&1
       overwrite_status=$?
       rm -f $priv_check_temp
-      test $overwrite_status = 0 && exit 77
+      if test $overwrite_status = 0; then
+        echo "$me: this test shouldn't be run as root"
+        exit 77
+      fi
       ;;
     perl-threads)
-      # Skip with Devel::Cover: it cannot cope with threads.
-      test "$WANT_NO_THREADS" = yes && exit 77
+      if test x"$WANT_NO_THREADS" = x"yes"; then
+        echo "$me: skip with Devel::Cover: it cannot cope with threads."
+        exit 77
+      fi
       ;;
     python)
       # Python doesn't support --version, it has -V
@@ -317,7 +323,10 @@ do
       (: > $ro_dir_temp/probe) >/dev/null 2>/dev/null
       create_status=$?
       rm -rf $ro_dir_temp
-      test $create_status = 0 && exit 77
+      if test $create_status = 0; then
+        echo "$me: support of read-only directories is required"
+        exit 77
+      fi
       ;;
     rst2html)
       # Try the variants that are tried in check.am.
@@ -326,6 +335,7 @@ do
           echo "$me: running $r2h --version"
           $r2h --version && break 2
         done
+        echo "$me: no proper rst2html program found"
         exit 77
       done
       ;;
@@ -333,13 +343,16 @@ do
       # DejaGnu's runtest program. We rely on being able to specify
       # the program on the runtest command-line. This requires
       # DejaGnu 1.4.3 or later.
-      echo "$me: running runtest --version"
+      echo "$me: running runtest SOMEPROGRAM=someprogram --version"
       (runtest SOMEPROGRAM=someprogram --version) || exit 77
       ;;
     tex)
       # No all versions of Tex support `--version', so we use
       # a configure check.
-      test -n "@TEX@" || exit 77
+      if test x'@TEX@' = x; then
+        echo "$me: TeX is required, but it wasn't found by configure"
+        exit 77
+      fi
       ;;
     texi2dvi-o)
       # Texi2dvi supports `-o' since Texinfo 4.1.
@@ -354,6 +367,37 @@ do
   esac
 done
 
+# Using just `$testbuilddir' for the check here is ok, since the
+# further temporary subdirectory where the test will be run is
+# ensured not to contain any whitespace character.
+case $testbuilddir in
+  *\ *|*\      *)
+    case " $required " in
+      *' libtool '* | *' libtoolize '* )
+        echo "$me: libtool/libtoolized cannot cope correctly"
+        echo "$me: with spaces in the build tree."
+        exit 77
+        ;;
+    esac
+    ;;
+esac
+
+# This test is necessary, although Automake's configure script bails out
+# when $srcdir contains spaces.  This is because $testsrcdir is in not
+# configure-time $srcdir, but is instead configure-time $abs_srcdir, and
+# that is allowed to contain spaces.
+case $testsrcdir in
+  *\ * |*\     *)
+    case " $required " in
+      *' libtool '* | *' libtoolize '* | *' gettext '* )
+        echo "$me: our testsuite setup cannot cope correctly with spaces"
+        echo "$me: in the source tree for libtool/gettext tests."
+        exit 77
+        ;;
+   esac
+   ;;
+esac
+
 # We might need extra macros, e.g., from Libtool or Gettext.
 # Find them on the system.
 # Use `-I $top_testsrcdir/m4' in addition to `--acdir=$top_testsrcdir/m4',
@@ -384,16 +428,20 @@ case " $required " in
       fi
     done
     case " $required " in
-      *' libtool '* | *' libtoolize '* ) test $libtool_found = yes || exit 77;;
-      *' gettext '* ) test $gettext_found = yes || exit 77;;
-    esac
-    # Libtool cannot cope with spaces in the build tree.  Our testsuite setup
-    # cannot cope with spaces in the source tree name for Libtool and gettext
-    # tests.  Using just `$testbuilddir' for the check here is ok, since the
-    # furter temporary subdirectory where the test will be run is ensured not
-    # to contain any space.
-    case $testsrcdir,$testbuilddir in
-      *\ * | *\        *) exit 77;;
+      *' libtool '*|*' libtoolize '*)
+        if test x"$libtool_found" != x"yes"; then
+          echo "$me: libtool/libtoolize is required, but libtool.m4 wasn't"
+          echo "$me: found in directories $aclocaldir $extra_includes"
+          exit 77
+        fi
+        ;;
+      *' gettext '*)
+        if test x"$gettext_found" != x"yes"; then
+          echo "$me: gettext is required, but gettext.m4 wasn't found"
+          echo "$me: in directories $aclocaldir $extra_includes"
+          exit 77
+        fi
+        ;;
     esac
     ACLOCAL="$ACLOCAL -Wno-syntax -I $top_testsrcdir/m4 $extra_includes -I 
$aclocaldir"
     ;;
-- 
1.7.1


reply via email to

[Prev in Thread] Current Thread [Next in Thread]