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 100 101 102 103 104 105 106 107 108 109
#!/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/>.
# Check silent-rules mode for C++.
# This test requires the GNU C++ compiler; keep it in sync with sister
# test 'silentcxx.test', which should work with generic compilers.
required=g++
. ./defs || Exit 1
mkdir sub
cat >>configure.ac <<'EOF'
AM_SILENT_RULES
AC_PROG_CXX
AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
EOF
cat > Makefile.am <<'EOF'
# Need generic and non-generic rules.
bin_PROGRAMS = foo1 foo2
foo1_SOURCES = foo.cpp baz.cxx quux.cc
foo2_SOURCES = $(foo1_SOURCES)
foo2_CXXFLAGS = $(AM_CXXFLAGS)
SUBDIRS = sub
EOF
cat > sub/Makefile.am <<'EOF'
AUTOMAKE_OPTIONS = subdir-objects
# Need generic and non-generic rules.
bin_PROGRAMS = bar1 bar2
bar1_SOURCES = bar.cpp
bar2_SOURCES = $(bar1_SOURCES)
bar2_CXXFLAGS = $(AM_CXXFLAGS)
EOF
cat > foo.cpp <<'EOF'
using namespace std; /* C compilers fail on this. */
int main() { return 0; }
EOF
# Let's try out other extensions too.
echo 'class Baz { public: int i; };' > baz.cxx
echo 'class Quux { public: bool b; };' > quux.cc
cp foo.cpp sub/bar.cpp
$ACLOCAL
$AUTOMAKE --add-missing
$AUTOCONF
# Sanity check: make sure the cache variable we force is really used
# by configure.
$FGREP am_cv_CXX_dependencies_compiler_type configure
# Force gcc ("fast") depmode.
# This apparently useless "for" loop is here to simplify the syncing
# with sister test 'silentcxx.test'.
for config_args in \
am_cv_CXX_dependencies_compiler_type=gcc
do
./configure $config_args --enable-silent-rules
$MAKE >stdout || { cat stdout; Exit 1; }
cat stdout
$EGREP ' (-c|-o)' stdout && Exit 1
grep 'mv ' stdout && Exit 1
grep 'CXX .*foo\.' stdout
grep 'CXX .*baz\.' stdout
grep 'CXX .*quux\.' stdout
grep 'CXX .*bar\.' stdout
grep 'CXXLD .*foo1' stdout
grep 'CXXLD .*bar1' stdout
grep 'CXXLD .*foo2' stdout
grep 'CXXLD .*bar2' stdout
# Ensure a clean rebuild.
$MAKE clean
$MAKE V=1 >stdout || { cat stdout; Exit 1; }
cat stdout
grep ' -c ' stdout
grep ' -o ' stdout
$EGREP '(CC|CXX|LD) ' stdout && Exit 1
# Ensure a clean reconfiguration/rebuild.
$MAKE clean
$MAKE maintainer-clean
done
: