Hash :
8a5096d1
Author :
Date :
2012-04-06T13:12:25
tests: rename 'tests/' => 't/', '*.test' => '*.sh' When we (soon) convert the Automake testsuite to a non-recursive make setup, we'll have to fix the entries of $(TESTS) to be prepended with the subdirectory they are in; this will increase the length of $(TESTS), and thus increase the possibility of exceeding the command-line length limits on some systems (most notably, MinGW/MSYS). See automake bug#7868 for more information. Thus we rename the 'tests/' subdirectory to 't/', and each 'x.test' script in there to 'x.sh'; this way, the $(TESTS) entry 'foo.test' will become 't/foo.sh', which have the same number of characters. * tests/: Rename ... * t/: ... to this. * t/*.test: Rename ... * t/*.sh: ... to this. * t/.gitignore: Removed as obsolete. * t/defs: Adjust. * t/gen-testsuite-part: Likewise. * t/list-of-tests.mk: Likewise. * t/ccnoco.sh: Likewise. * t/ccnoco3.sh: Likewise. * t/self-check-cleanup.tap: Likewise. * t/self-check-dir.tap: Likewise. * t/self-check-me.tap: Likewise. * t/self-check-reexec.tap: Likewise. * README: Likewise. * bootstrap: Likewise * configure.ac: Likewise. * Makefile.am: Likewise. * .gitignore: Likewise. * syntax-check.mk: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
#! /bin/sh
# Copyright (C) 2010-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/>.
# Test that POSIX variable expansion '$(var:str=rpl)' works when used
# with the SCRIPTS primary.
. ./defs || Exit 1
cat >> configure.ac << 'END'
AC_OUTPUT
END
# We have to be careful with 'test -x' commands on MinGW/MSYS, because
# the file system does not actually have execute permission information.
# Instead, that is emulated by looking at the file content, and returning
# 0 if the file starts with, e.g., a COFF header or with '#!'.
# So we need to create actual scripts in the make rules and in the file
# creation below.
cat > Makefile.am << 'END'
t1 = foo1 foo2
t2 = bar1x bar2
t3 = quu-baz
bar1 bar2:
(echo '#!/bin/sh' && echo 'exit 0') > $@
quux.pl:
(echo '#!/bin/perl' && echo '1;') > $@
CLEANFILES = bar1 bar2 quux.pl
# Also try an empty match suffix, to ensure that the ':=' in there is
# not confused by the parser with an unportable assignment operator.
dist_sbin_SCRIPTS = $(t1:=.sh)
libexec_SCRIPTS = $(t2:x=)
nodist_bin_SCRIPTS = $(t3:-baz=x.pl)
check-local: test1 test2
.PHONY: test1 test2
test1:
ls -l
test -f bar1
test -f bar2
test -f quux.pl
test2: distdir
ls -l $(distdir)
## The scripts foo1.sh and foo2.sh should be distributed.
test -f $(distdir)/foo1.sh
test -f $(distdir)/foo2.sh
## The scripts bar1, bar2 and quux.pl shouldn't be distributed.
test ! -r $(distdir)/bar1
test ! -r $(distdir)/bar2
test ! -r $(distdir)/quux.pl
installcheck-local:
ls -l $(prefix)/libexec $(prefix)/bin $(prefix)/sbin
test -f $(prefix)/sbin/foo1.sh
test -x $(prefix)/sbin/foo1.sh
test -f $(prefix)/sbin/foo2.sh
test -x $(prefix)/sbin/foo2.sh
test -f $(prefix)/libexec/bar1
test -x $(prefix)/libexec/bar1
test -f $(prefix)/libexec/bar2
test -x $(prefix)/libexec/bar2
test -f $(prefix)/bin/quux.pl
test -x $(prefix)/bin/quux.pl
END
cat > foo1.sh <<'END'
#!/bin/sh
exit 0
END
cp foo1.sh foo2.sh
$ACLOCAL
$AUTOCONF
$AUTOMAKE
cwd=`pwd` || Exit 1
./configure --prefix="$cwd/_inst"
$MAKE
$MAKE test1 test2
$MAKE install
$MAKE installcheck
$MAKE distcheck
: