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
#! /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/>.
# Ensure 'make dist' fails when help2man replacement man pages are created.
#
# The assumption here is the following: if the developer uses help2man to
# generate man pages from --help output, then these man pages may not be
# stored in VCS. However, they should be distributed, so that the end user
# that receives the tarball doesn't have to install help2man. If they are
# not distributed, then the developer should make help2man a prerequisite
# to building the package from a tarball, e.g., with a configure check for
# help2man that errors out if it is unavailable. In both cases it is
# sufficient to check only distributed man pages.
#
# Idea of this whole shenanigan is to allow somebody to check out sources from
# a VCS and build and install them without needing help2man installed. The
# installed man pages will be bogus in this case. Typically, this happens
# when developers ask users to try out a fix from VCS; the developers themselves
# will usually have help2man installed (or should install it).
. ./defs || Exit 1
cat > Makefile.am << 'END'
dist_man_MANS = $(srcdir)/foo.1 bar.1
dist_bin_SCRIPTS = foo bar
$(srcdir)/foo.1:
$(HELP2MAN) --output=$@ $(srcdir)/foo
bar.1:
$(HELP2MAN) --output=$(srcdir)/bar.1 $(srcdir)/bar
END
cat >>configure.ac <<'END'
AM_MISSING_PROG([HELP2MAN], [help2man])
AC_OUTPUT
END
cat > foo <<'END'
#! /bin/sh
while test $# -gt 0; do
case $1 in
-h | --help) echo "usage: $0 [OPTIONS]..."; exit 0;;
-v | --version) echo "$0 1.0"; exit 0;;
esac
shift
done
END
cp foo bar
chmod +x foo bar
mkdir bin
cat > bin/help2man <<'END'
#! /bin/sh
# Fake help2man script that lets 'missing' think it is not installed.
exit 127
END
chmod +x bin/help2man
PATH=`pwd`/bin$PATH_SEPARATOR$PATH
grep_error_messages()
{
grep ' man pages contain.*missing help2man.* replacement text' stderr \
&& grep 'install help2man' stderr \
&& grep 'regenerate the man pages' stderr \
|| Exit 1
}
$ACLOCAL
$AUTOMAKE
$AUTOCONF
./configure
$MAKE
$MAKE dist 2>stderr && { cat stderr >&2; Exit 1; }
cat stderr >&2
grep_error_messages
$MAKE distcheck 2>stderr && { cat stderr >&2; Exit 1; }
cat stderr >&2
grep_error_messages
$MAKE distclean
mkdir build
cd build
../configure
$MAKE
$MAKE dist 2>stderr && { cat stderr >&2; Exit 1; }
cat stderr >&2
grep_error_messages
$MAKE distcheck 2>stderr && { cat stderr >&2; Exit 1; }
cat stderr >&2
grep_error_messages
: