tests: move 'runtest' into the top-level directory
authorStefano Lattarini <stefano.lattarini@gmail.com>
Sat, 7 Jul 2012 10:08:05 +0000 (12:08 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Sat, 7 Jul 2012 10:28:40 +0000 (12:28 +0200)
Move our wrapper script 'runtest' (meant to allow the execution of
Automake test cases from the command line) from the 't/ax/' directory
to the top-level one.  This makes the script easier to find and to
invoke.  Much more importantly, our DejaGNU-checking test cases won't
try anymore to use that script instead of the 'runtest' program provided
by DejaGNU (that happened because '$(srcdir)/t/ax/' is automatically
added early to the $PATH variable in our test cases), which was causing
spurious SKIPs.

* t/ax/runtest.in: Move ...
* runtest.in: ... here.
* Makefile.am, t/README, .gitignore: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
.gitignore
Makefile.am
runtest.in [new file with mode: 0644]
t/README
t/ax/runtest.in [deleted file]

index 4eec957ad0e312c3e1796c14d671a4a8ddf83eaf..b7eee5c4fc9d199fa7e5fe767dc93a4a3311ee26 100644 (file)
@@ -11,6 +11,7 @@
 /configure.lineno
 /aclocal
 /automake
+/runtest
 /doc/.dirstamp
 /doc/automake*.info
 /doc/automake*.info-[0-9]
@@ -37,7 +38,6 @@
 /t/wrap/automake-1.*
 /defs-static
 /t/testsuite-part.am
-/t/ax/runtest
 /t/*-w.tap
 /t/*-w.sh
 /t/depcomp-*.tap
index 9ef2f48c4e1cd4550374220eb3c47be8482781ea..27644815834405719d9a1d0d656a7b781cc13efa 100644 (file)
@@ -400,16 +400,16 @@ defs-static: defs-static.in Makefile
 EXTRA_DIST += defs-static.in
 CLEANFILES += defs-static
 
-t/ax/runtest: t/ax/runtest.in Makefile
+runtest: runtest.in Makefile
        $(AM_V_at)rm -f $@ $@-t
-       $(AM_V_GEN)in=t/ax/runtest.in \
+       $(AM_V_GEN)in=runtest.in \
          && $(MKDIR_P) t/ax \
-         && $(do_subst) <$(srcdir)/t/ax/runtest.in >$@-t \
+         && $(do_subst) <$(srcdir)/runtest.in >$@-t \
          && chmod a+x $@-t
        $(generated_file_finalize)
-EXTRA_DIST += t/ax/runtest.in
-CLEANFILES += t/ax/runtest
-noinst_SCRIPTS = t/ax/runtest
+EXTRA_DIST += runtest.in
+CLEANFILES += runtest
+noinst_SCRIPTS = runtest
 
 # If two test scripts have the same basename, they will end up sharing
 # the same log file, leading to all sort of undefined and undesired
diff --git a/runtest.in b/runtest.in
new file mode 100644 (file)
index 0000000..31f8e01
--- /dev/null
@@ -0,0 +1,62 @@
+#!@AM_TEST_RUNNER_SHELL@
+#
+# Copyright (C) 2012 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Run an Automake test from the command line.
+# Usage:
+
+set -e; set -u
+
+: ${AM_TEST_RUNNER_SHELL='@AM_TEST_RUNNER_SHELL@'}
+: ${AM_PROVE_CMD='prove'}
+: ${AM_PROVEFLAGS='--merge --verbose'}
+: ${srcdir='@srcdir@'}
+
+error () { echo "$0: $*" >&2; exit 255; }
+
+# Some shell flags should be passed over to the test scripts.
+#while test $# -gt 0; do
+#  case $1 in
+#    --help) echo "Usage: $0 [SHELL-OPTIONS] TEST [TEST-OPTIONS]"; exit $?;;
+#    -*)
+#  esac
+#done
+
+test $# -gt 0 || error "missing argument"
+
+tst=$1; shift
+
+case $tst in
+   *.sh) wrapper () { exec "$@"; };;
+  *.tap) wrapper () { exec "$AM_PROVE_CMD" $AM_PROVEFLAGS -e "$@"; };;
+      *) error "test '$tst' has an unrecognized extension";;
+esac
+
+case $tst in
+  /*) ;;
+   *) if test -f ./$tst; then
+        tst=./$tst
+      # Support for VPATH build.
+      elif test -f $srcdir/$tst; then
+        tst=$srcdir/$tst
+      else
+        error "could not find test '$tst'"
+      fi
+      ;;
+esac
+
+wrapper "$AM_TEST_RUNNER_SHELL" "$tst" "$@"
+error "dead code reached"
index 1039d1093682929c3e4e5b0660f28c55865300f5..25fd7353c07c22ccee69f382afb9660cba72313f 100644 (file)
--- a/t/README
+++ b/t/README
@@ -73,10 +73,10 @@ About the tests
   with the '.tap' suffix use the TAP protocol.
 
   If you want to run a test by hand, you should be able to do so using the
-  'runtest' script:
+  'runtest' script provided in the Automake distribution:
 
-      ./t/ax/runtest t/nogzip.sh
-      ./t/ax/runtest t/add-missing.tap
+      ./runtest t/nogzip.sh
+      ./runtest t/add-missing.tap
 
   This will run the test using the correct shell, and should also work in
   VPATH builds.  Note that, to run the TAP tests this way, you'll need to
diff --git a/t/ax/runtest.in b/t/ax/runtest.in
deleted file mode 100644 (file)
index 31f8e01..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#!@AM_TEST_RUNNER_SHELL@
-#
-# Copyright (C) 2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Run an Automake test from the command line.
-# Usage:
-
-set -e; set -u
-
-: ${AM_TEST_RUNNER_SHELL='@AM_TEST_RUNNER_SHELL@'}
-: ${AM_PROVE_CMD='prove'}
-: ${AM_PROVEFLAGS='--merge --verbose'}
-: ${srcdir='@srcdir@'}
-
-error () { echo "$0: $*" >&2; exit 255; }
-
-# Some shell flags should be passed over to the test scripts.
-#while test $# -gt 0; do
-#  case $1 in
-#    --help) echo "Usage: $0 [SHELL-OPTIONS] TEST [TEST-OPTIONS]"; exit $?;;
-#    -*)
-#  esac
-#done
-
-test $# -gt 0 || error "missing argument"
-
-tst=$1; shift
-
-case $tst in
-   *.sh) wrapper () { exec "$@"; };;
-  *.tap) wrapper () { exec "$AM_PROVE_CMD" $AM_PROVEFLAGS -e "$@"; };;
-      *) error "test '$tst' has an unrecognized extension";;
-esac
-
-case $tst in
-  /*) ;;
-   *) if test -f ./$tst; then
-        tst=./$tst
-      # Support for VPATH build.
-      elif test -f $srcdir/$tst; then
-        tst=$srcdir/$tst
-      else
-        error "could not find test '$tst'"
-      fi
-      ;;
-esac
-
-wrapper "$AM_TEST_RUNNER_SHELL" "$tst" "$@"
-error "dead code reached"