diff options
Diffstat (limited to 't/check-subst.sh')
-rwxr-xr-x | t/check-subst.sh | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/t/check-subst.sh b/t/check-subst.sh new file mode 100755 index 000000000..79d7526a0 --- /dev/null +++ b/t/check-subst.sh @@ -0,0 +1,87 @@ +#! /bin/sh +# Copyright (C) 2008-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/>. + +# Check @substituted@ TESTS. +# Note that in this test, we rely on the .test extension for the +# substituted names: this is necessary for parallel-tests. +# See also sister test 'check-subst-prog.test'. + +. ./defs || Exit 1 + +cat >> configure.ac << 'END' +AC_SUBST([script_tests], ['subst-pass-script.sh subst-xfail-script.sh']) +AC_SUBST([xfail_tests], ['xfail-script.test subst-xfail-script.sh']) +AC_OUTPUT +END + +cat > Makefile.am << 'END' +TESTS = pass-script.test xfail-script.test @script_tests@ +XFAIL_TESTS = @xfail_tests@ +END + +if test "$am_parallel_tests" = yes; then + unindent >> Makefile.am <<'END' + TEST_EXTENSIONS = .sh .test + SH_LOG_COMPILER = $(SHELL) +END +fi + +cat > pass-script.test <<'END' +#! /bin/sh +exit 0 +END +cat > xfail-script.test <<'END' +#! /bin/sh +exit 1 +END +cp pass-script.test subst-pass-script.sh +cp xfail-script.test subst-xfail-script.sh +chmod a+x pass-script.test xfail-script.test + +if test "$am_parallel_tests" != yes; then + chmod a+x subst-pass-script.sh subst-xfail-script.sh +fi + +$ACLOCAL +$AUTOCONF +$AUTOMAKE -a + +for vpath in false : ; do + + if $vpath; then + mkdir build + cd build + srcdir=.. + else + srcdir=. + fi + + $srcdir/configure + $MAKE all + $MAKE check + if test "$am_parallel_tests" = yes; then + ls -l + test -f pass-script.log + test -f xfail-script.log + test -f subst-pass-script.log + test -f subst-xfail-script.log + fi + $MAKE distclean + cd $srcdir + +done + +: |