[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 08/10] Add more tests about AUTOMAKE_OPTIONS.
From: |
stefano . lattarini |
Subject: |
[PATCH 08/10] Add more tests about AUTOMAKE_OPTIONS. |
Date: |
Thu, 23 Dec 2010 12:27:44 +0100 |
From: Stefano Lattarini <address@hidden>
In view of soon-to-follow refactorings (still in the pursuit of a
fix for Automake bug#7669 a.k.a. PR/547), we add some more tests
on AUTOMAKE_OPTIONS support, to prevent obvious regressions.
* tests/amopts-indirect.test: New test.
* tests/amopts-location.test: Likewise.
* tests/Makefile.am (TESTS): Update.
---
ChangeLog | 10 +++++
tests/Makefile.am | 2 +
tests/Makefile.in | 2 +
tests/amopts-indirect.test | 53 +++++++++++++++++++++++++++++
tests/amopts-location.test | 80 ++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 147 insertions(+), 0 deletions(-)
create mode 100755 tests/amopts-indirect.test
create mode 100755 tests/amopts-location.test
diff --git a/ChangeLog b/ChangeLog
index 69deb04..67e7be0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2010-12-20 Stefano Lattarini <address@hidden>
+ Add more tests about AUTOMAKE_OPTIONS.
+ In view of soon-to-follow refactorings (still in the pursuit of a
+ fix for Automake bug#7669 a.k.a. PR/547), we add some more tests
+ on AUTOMAKE_OPTIONS support, to prevent obvious regressions.
+ * tests/amopts-indirect.test: New test.
+ * tests/amopts-location.test: Likewise.
+ * tests/Makefile.am (TESTS): Update.
+
+2010-12-20 Stefano Lattarini <address@hidden>
+
Warnings win over strictness in AM_INIT_AUTOMAKE.
This change ensures that, for what concerns the options specified
in AM_INIT_AUTOMAKE, explicitly-defined warnings always take
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 307cf5f..3ced8e5 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -134,6 +134,8 @@ alpha2.test \
amassign.test \
ammissing.test \
amopt.test \
+amopts-indirect.test \
+amopts-location.test \
amsubst.test \
ansi.test \
ansi2.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 2e265c2..cec24e4 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -397,6 +397,8 @@ alpha2.test \
amassign.test \
ammissing.test \
amopt.test \
+amopts-indirect.test \
+amopts-location.test \
amsubst.test \
ansi.test \
ansi2.test \
diff --git a/tests/amopts-indirect.test b/tests/amopts-indirect.test
new file mode 100755
index 0000000..dccc888
--- /dev/null
+++ b/tests/amopts-indirect.test
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 2010 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 that AUTOMAKE_OPTIONS support indirections.
+
+. ./defs || Exit 1
+
+set -e
+
+# We want complete control over automake options.
+AUTOMAKE=$original_AUTOMAKE
+
+cat > configure.in <<END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE([-Wall -Werror gnu])
+AC_CONFIG_FILES([Makefile])
+END
+
+cat > Makefile.am <<'END'
+AUTOMAKE_OPTIONS = $(foo) foreign
+AUTOMAKE_OPTIONS += ${bar}
+foo = $(foo1)
+foo1 = ${foo2}
+foo2 = -Wnone
+foo2 += $(foo3)
+foo3 = -Wno-error
+bar = -Wportability
+## This will give a warning with `-Wportability'
+zardoz :=
+## This would give a warning with `-Woverride'.
+install:
+END
+
+$ACLOCAL
+AUTOMAKE_run 0
+grep '^Makefile\.am:.*:=.*not portable' stderr
+grep README stderr && Exit 1
+$EGREP '(install|override)' stderr && Exit 1
+
+:
diff --git a/tests/amopts-location.test b/tests/amopts-location.test
new file mode 100755
index 0000000..7c3fbc6
--- /dev/null
+++ b/tests/amopts-location.test
@@ -0,0 +1,80 @@
+#! /bin/sh
+# Copyright (C) 2010 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 that errors about AUTOMAKE_OPTIONS refers to correct
+# locations.
+
+. ./defs || Exit 1
+
+set -e
+
+cat > Makefile.am <<'END'
+# comment \
+# continued
+include Makefile0.am
+END
+
+cat > Makefile0.am <<'END'
+#1
+#2
+#3
+include Makefile1.am
+END
+
+cat > Makefile1.am <<'END'
+AUTOMAKE_OPTIONS = tar-pax
+# comment
+END
+
+cat > Makefile2.am <<'END'
+## automake comment
+bar:
+ :
+line = \
+continued
+AUTOMAKE_OPTIONS = tar-ustar
+END
+
+cat > Makefile3.am <<'END'
+quux = a
+AUTOMAKE_OPTIONS =
+quux += b
+AUTOMAKE_OPTIONS += tar-v7
+zardoz = 1
+END
+
+cat >>configure.in <<'END'
+AC_CONFIG_FILES([Makefile2 Makefile3])
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+
+grep '^Makefile1\.am:1:.*tar-pax' stderr
+grep '^Makefile2\.am:6:.*tar-ustar' stderr
+grep '^Makefile3\.am:2:.*tar-v7' stderr
+grep '^Makefile\.am:3:.*Makefile0\.am.*included from here' stderr
+grep '^Makefile0\.am:4:.*Makefile1\.am.*included from here' stderr
+
+cat stderr \
+ | grep -v '^Makefile\.am:3:' \
+ | grep -v '^Makefile0\.am:4:' \
+ | grep -v '^Makefile1\.am:1:' \
+ | grep -v '^Makefile2\.am:6:' \
+ | grep -v '^Makefile3\.am:2:' \
+ | grep . && Exit 1
+
+:
--
1.7.2.3
- [PATCH 0/10] Explicit warning levels must always take precedence over those implied by the strictness, stefano . lattarini, 2010/12/23
- [PATCH 02/10] New test on silent-rules mode and portability warnings., stefano . lattarini, 2010/12/23
- [PATCH 03/10] Warnings win over strictness on command line., stefano . lattarini, 2010/12/23
- [PATCH 01/10] Add new tests on strictness and warnings precedence and overriding., stefano . lattarini, 2010/12/23
- [PATCH 05/10] Remove global/local distinction for automake options., stefano . lattarini, 2010/12/23
- [PATCH 04/10] Refactoring: new $automake_remake_options global variable., stefano . lattarini, 2010/12/23
- [PATCH 06/10] Cleanup in module Automake::Options., stefano . lattarini, 2010/12/23
- [PATCH 07/10] Warnings win over strictness in AM_INIT_AUTOMAKE., stefano . lattarini, 2010/12/23
- [PATCH 08/10] Add more tests about AUTOMAKE_OPTIONS.,
stefano . lattarini <=
- [PATCH 09/10] Change signature of 'Automake::Options::process_option_list()'., stefano . lattarini, 2010/12/23
- [PATCH 10/10] Warnings win over strictness in AUTOMAKE_OPTIONS., stefano . lattarini, 2010/12/23
- [PATCH 11/10] Update NEWS about the warnings-over-strictness precedence., Stefano Lattarini, 2010/12/24
- [PATCH 12/10] More checks on warnings/strictness in precedence ("metawarnings")., Stefano Lattarini, 2010/12/24