diff options
author | Mathieu Lirzin <mthl@gnu.org> | 2017-09-20 00:08:59 +0200 |
---|---|---|
committer | Mathieu Lirzin <mthl@gnu.org> | 2017-09-20 00:08:59 +0200 |
commit | 7508174f4a6c19eeda89a7e18b8d1398fe85ccf0 (patch) | |
tree | 2938ba28267cfc6d6cba0b763f80e4b32ce49b03 /t/strictness-override.sh | |
parent | c2757b974cb4c182333859edb45a01194550bc0e (diff) | |
parent | ced195a8556b68eab3dd0887e07a97c6ae4917bf (diff) | |
download | automake-7508174f4a6c19eeda89a7e18b8d1398fe85ccf0.tar.gz |
Merge branch 'minor'
Diffstat (limited to 't/strictness-override.sh')
-rw-r--r-- | t/strictness-override.sh | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/t/strictness-override.sh b/t/strictness-override.sh new file mode 100644 index 000000000..6a775b36e --- /dev/null +++ b/t/strictness-override.sh @@ -0,0 +1,123 @@ +#! /bin/sh +# Copyright (C) 2011-2017 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 <https://www.gnu.org/licenses/>. + +# The strictness specified in Makefile.am:AUTOMAKE_OPTIONS should +# override that specified in configure.ac:AM_INIT_AUTOMAKE, and both +# should override the strictness specified on the command line. +# NOTE: the current semantics might not be the best one (even if it has +# been in place for quite a long time); see also Automake bug #7673. +# Update this test if the semantics are changed. + +. test-init.sh + +# We want complete control over automake options. +AUTOMAKE=$am_original_AUTOMAKE + +cat > Makefile.am <<'END' +AUTOMAKE_OPTIONS = +END + +set_strictness () +{ + set +x + sed <$2 >$2-t -e "s|^\\(AUTOMAKE_OPTIONS\\) *=.*|\\1 = $1|" \ + -e "s|^\\(AM_INIT_AUTOMAKE\\).*|\\1([$1])|" + mv -f $2-t $2 + set -x + cat $2 +} + +ok () +{ + $AUTOMAKE -Werror $* +} + +ko () +{ + AUTOMAKE_fails $* + grep 'required file.*README' stderr +} + +$ACLOCAL + +# Leave out only one of the required files, to avoid too much +# repetition in the error messages. +touch INSTALL NEWS AUTHORS ChangeLog COPYING + +rm -rf autom4te*.cache +set_strictness '' Makefile.am +set_strictness '' configure.ac +ko --gnu +ko +ok --foreign + +rm -rf autom4te*.cache +set_strictness 'gnu' Makefile.am +set_strictness '' configure.ac +ko --gnu +ko +ko --foreign + +rm -rf autom4te*.cache +set_strictness '' Makefile.am +set_strictness 'gnu' configure.ac +ko --gnu +ko +ko --foreign + +rm -rf autom4te*.cache +set_strictness 'foreign' Makefile.am +set_strictness '' configure.ac +ok --gnu +ok +ok --foreign + +rm -rf autom4te*.cache +set_strictness '' Makefile.am +set_strictness 'foreign' configure.ac +ok --gnu +ok +ok --foreign + +rm -rf autom4te*.cache +set_strictness 'gnu' Makefile.am +set_strictness 'gnu' configure.ac +ko --gnu +ko +ko --foreign + +rm -rf autom4te*.cache +set_strictness 'foreign' Makefile.am +set_strictness 'foreign' configure.ac +ok --gnu +ok +ok --foreign + +rm -rf autom4te*.cache +set_strictness 'foreign' Makefile.am +set_strictness 'gnu' configure.ac +ok --gnu +ok +ok --foreign + +rm -rf autom4te*.cache +set_strictness 'gnu' Makefile.am +set_strictness 'foreign' configure.ac +ko --gnu +ko +ko --foreign + +: |