Hash :
5b44ce39
Author :
Date :
2012-02-23T13:07:57
tests: quote 'like this', not `like this', as per GCS recommendation This patch converts the automake testsuite and related files, to the use of new quoting format 'like this' or "like this" rather than `like this'. This is done for consistency with the new recommendations in the GNU Coding Standards, and, well, because I've come to actually prefer the '...' and "..." quoting formats over the `...' one. * tests/README: Update quoting format throughout. Remove some "excessive" use of quoting, and throw in minor rewording where appropriate. * tests/Makefile.am: Likewise, for comments. * tests/CheckListOfTests.am: Likewise. * tests/defs-static.in: Likewise. * tests/defs: Likewise. * tests/trivial-test-driver: Likewise. * Many tests/*.tap, tests/*.test and tests/*.sh files: Likewise, and for the diagnostic and informational messages as well. * tests/gen-testsuite-part: Likewise, and for the generated tests as well.
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
: