summaryrefslogtreecommitdiff
path: root/tests/warnopts.test
diff options
context:
space:
mode:
authorAlexandre Duret-Lutz <adl@gnu.org>2002-07-16 21:46:59 +0000
committerAlexandre Duret-Lutz <adl@gnu.org>2002-07-16 21:46:59 +0000
commit91c2a87f2419bd8604138fd8bc885f68d16ff434 (patch)
tree03874b7079ac3b607dbe410f30128b9978c92315 /tests/warnopts.test
parente5b84c370e3fa886123f265942c57bad8cfa5679 (diff)
downloadautomake-91c2a87f2419bd8604138fd8bc885f68d16ff434.tar.gz
* lib/Automake/Channels.pm (dup_channel_setup,
drop_channel_setup): New functions. (@EXPORT): Add them. * automake.in (generate_makefile): Call dup_channel_setup and drop_channel_setup. (process_option_list): Recognize --warnings and -W options. * automake.texi (Options): Document them. * tests/pluseq5.test: Check that -Wno-obsolete will disable the warning. * tests/warnopts.test: New file. * tests/Makefile.am (TESTS): Add warnopts.test.
Diffstat (limited to 'tests/warnopts.test')
-rwxr-xr-xtests/warnopts.test54
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/warnopts.test b/tests/warnopts.test
new file mode 100755
index 000000000..3857f8b64
--- /dev/null
+++ b/tests/warnopts.test
@@ -0,0 +1,54 @@
+#! /bin/sh
+
+# Make sure that we can enable or disable warnings on a per-file basis.
+
+. $srcdir/defs || exit 1
+
+set -e
+
+
+cat >>configure.in <<END
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
+
+mkdir sub
+
+# These two Makefile contain the same errors, but have different
+# warnings disabled.
+
+cat >Makefile.am <<END
+AUTOMAKE_OPTIONS = -Wno-obsolete
+INCLUDES = -Ifoo
+foo_SOURCES = unused
+SUBDIRS = sub
+END
+
+cat >sub/Makefile.am <<END
+AUTOMAKE_OPTIONS = -Wno-unused
+INCLUDES = -Ifoo
+foo_SOURCES = unused
+END
+
+$ACLOCAL
+$AUTOMAKE 2>stderr && exit 1
+cat stderr
+# The expected diagnostic is
+# Makefile.am:3: unused variable: `foo_SOURCES'
+# sub/Makefile.am:2: `INCLUDES' is the old name for `AM_CPPFLAGS'
+grep '^Makefile.am:.*foo_SOURCES' stderr
+grep '^sub/Makefile.am:.*INCLUDES' stderr
+grep '^sub/Makefile.am:.*foo_SOURCES' stderr && exit 1
+grep '^Makefile.am:.*INCLUDES' stderr && exit 1
+# Only two lines of warnings.
+test `wc -l < stderr` = 2
+
+# If we add a global -Wnone, all warnings should disappear.
+cat >configure.in <<END
+AC_INIT([warnopts], [1.0])
+AM_INIT_AUTOMAKE([-Wnone])
+AC_CONFIG_FILES([Makefile sub/Makefile])
+AC_OUTPUT
+END
+$ACLOCAL
+$AUTOMAKE