X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=runtest.in;h=364ba4a86abcae14d77ef7e234544b154c41443d;hb=4348577bc8beda1443f137e82ce088c300404916;hp=4bdcb49ea2403ab4dbdb16a9427368c383be6337;hpb=4d62ca97577bdafa20ce64d8811d1bdf4a7d3004;p=platform%2Fupstream%2Fautomake.git diff --git a/runtest.in b/runtest.in index 4bdcb49..364ba4a 100644 --- a/runtest.in +++ b/runtest.in @@ -1,6 +1,6 @@ #!@AM_TEST_RUNNER_SHELL@ # -# Copyright (C) 2012 Free Software Foundation, Inc. +# Copyright (C) 2012-2013 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 @@ -16,7 +16,6 @@ # along with this program. If not, see . # Run an Automake test from the command line. -# Usage: set -e; set -u @@ -24,6 +23,39 @@ set -e; set -u : ${AM_PROVE_CMD='prove'} : ${AM_PROVEFLAGS='--merge --verbose'} : ${srcdir='@srcdir@'} +: ${abs_srcdir='@abs_srcdir@'} +: ${abs_builddir='@abs_builddir@'} +: ${PATH_SEPARATOR='@PATH_SEPARATOR@'} + +# For sourcing of extra "shell libraries" by our test scripts. As per +# POSIX, sourcing a file with '.' will cause it to be looked up in $PATH +# in case it is given with a relative name containing no slashes. +if test "$srcdir" != .; then + PATH=$abs_srcdir/t/ax$PATH_SEPARATOR$PATH +fi +PATH=$abs_builddir/t/ax$PATH_SEPARATOR$PATH +export PATH + +# For use by the testsuite framework. The Automake test harness +# define this, so we better do the same. +export srcdir + +# Some testsuite-influential variables should be overridable from the +# test scripts, but not from the environment. +# Keep this in sync with the 'Makefile.am:AM_TESTS_ENVIRONMENT'. +for v in \ + required \ + am_test_protocol \ + am_serial_tests \ + am_test_prefer_config_shell \ + am_original_AUTOMAKE \ + am_original_ACLOCAL \ + am_test_lib_sourced \ + test_lib_sourced \ +; do + eval "$v= && unset $v" || exit 1 +done +unset v error () { echo "$0: $*" >&2; exit 255; } @@ -45,12 +77,12 @@ while test $# -gt 0; do ;; -o) test $# -gt 1 || error "missing argument for option '$1'" - shell_opts="-o $2" + shell_opts="$shell_opts -o $2" shift ;; -*) # Assume it is an option to pass through to the shell. - shell_opts=$1;; + shell_opts="$shell_opts $1";; *) break;; esac @@ -62,12 +94,6 @@ 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 @@ -80,5 +106,14 @@ case $tst in ;; esac -wrapper "$AM_TEST_RUNNER_SHELL" $shell_opts "$tst" "$@" +case $tst in + *.sh) + exec $AM_TEST_RUNNER_SHELL $shell_opts "$tst" ${1+"$@"} ;; + *.tap) + exec "$AM_PROVE_CMD" $AM_PROVEFLAGS -e \ + "$AM_TEST_RUNNER_SHELL $shell_opts" "$tst" ${1+"$@"} ;; + *) + error "test '$tst' has an unrecognized extension" ;; +esac + error "dead code reached"