From: Stefano Lattarini Date: Wed, 24 Nov 2010 14:01:31 +0000 (+0100) Subject: Separate checks on target overriding into multiple test scripts. X-Git-Tag: ng-0.5a~315^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=39a6752f0a0bf9678299f30ec00d0279ef77c8fe;p=thirdparty%2Fautomake.git Separate checks on target overriding into multiple test scripts. * tests/overrid.test: Deleted, its contents separated into ... * tests/override-suggest-local.test: ... this new test ... * tests/override-html.test: ... and this new test ... * tests/override-conditional-1.test: ... and this new test ... * tests/override-conditional-2.test: ... and this new test (still xfailing). * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated. --- diff --git a/ChangeLog b/ChangeLog index 2cbce3be1..c61c39cdf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2010-11-25 Stefano Lattarini + + Separate checks on target overriding into multiple test scripts. + * tests/overrid.test: Deleted, its contents separated into ... + * tests/override-suggest-local.test: ... this new test ... + * tests/override-html.test: ... and this new test ... + * tests/override-conditional-1.test: ... and this new test ... + * tests/override-conditional-2.test: ... and this new test (still + xfailing). + * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated. + 2010-11-21 Stefano Lattarini Tests: consistently use "|| Exit 1" after ". ./defs". diff --git a/tests/Makefile.am b/tests/Makefile.am index 5f1ab9e13..dbed2c114 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -21,6 +21,7 @@ all.test \ auxdir2.test \ cond17.test \ gcj6.test \ +override-conditional-2.test \ txinfo5.test include $(srcdir)/parallel-tests.am @@ -542,7 +543,10 @@ output11.test \ output12.test \ output13.test \ output-order.test \ -overrid.test \ +override-conditional-1.test \ +override-conditional-2.test \ +override-html.test \ +override-suggest-local.test \ parallel-am.test \ parallel-am2.test \ parallel-am3.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 140b17816..863d9bb9f 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -277,6 +277,7 @@ all.test \ auxdir2.test \ cond17.test \ gcj6.test \ +override-conditional-2.test \ txinfo5.test parallel_tests = \ @@ -809,7 +810,10 @@ output11.test \ output12.test \ output13.test \ output-order.test \ -overrid.test \ +override-conditional-1.test \ +override-conditional-2.test \ +override-html.test \ +override-suggest-local.test \ parallel-am.test \ parallel-am2.test \ parallel-am3.test \ diff --git a/tests/override-conditional-1.test b/tests/override-conditional-1.test new file mode 100755 index 000000000..fe0bbba6a --- /dev/null +++ b/tests/override-conditional-1.test @@ -0,0 +1,56 @@ + +#! /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 . + +# Test for conditionally-defined overrides. + +. ./defs || Exit 1 + +set -e + +cat >> configure.in << 'END' +AM_CONDITIONAL([COND], [test x"$cond" = x"yes"]) +AC_OUTPUT +END + +cat > Makefile.am << 'END' +foobar: + : > $@ +if COND +ps: foobar + : +endif +END + +$ACLOCAL +$AUTOMAKE -Wno-override + +# "ps:" should be output in two conditions +test `grep '[^-]ps:' Makefile.in | wc -l` = 2 +grep '@COND_TRUE@ps: *foobar' Makefile.in +grep '@COND_FALSE@ps: *ps-am' Makefile.in + +$AUTOCONF + +./configure cond=no +$MAKE ps +test ! -r foobar + +./configure cond=yes +$MAKE ps +test -f foobar + +: diff --git a/tests/override-conditional-2.test b/tests/override-conditional-2.test new file mode 100755 index 000000000..132b84129 --- /dev/null +++ b/tests/override-conditional-2.test @@ -0,0 +1,41 @@ +#! /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 . + +# Test that conditional overrides are diagnosed. +# This test is still xfailing; see the FIXME in Automake::Rule::define. +# Once that is fixed, the test should succeed. + +. ./defs || Exit 1 + +set -e + +cat >> configure.in << 'END' +AM_CONDITIONAL([COND], [:]) +END + +cat > Makefile.am << 'END' +if COND +all: + : +endif +END + +$ACLOCAL + +AUTOMAKE_fails +grep ':.*overrides.*all' stderr + +: diff --git a/tests/override-html.test b/tests/override-html.test new file mode 100755 index 000000000..baece427b --- /dev/null +++ b/tests/override-html.test @@ -0,0 +1,35 @@ +#! /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 . + +# Test that overriding `html' target causes only one "html:" rule to +# be output. + +. ./defs || Exit 1 + +set -e + +cat > Makefile.am << 'END' +html: + : +END + +$ACLOCAL +$AUTOMAKE -Wno-override + +# Overriding `html' should cause only one "html:" rule to be output. +test `grep '^html:' Makefile.in | wc -l` = 1 + +: diff --git a/tests/overrid.test b/tests/override-suggest-local.test similarity index 59% rename from tests/overrid.test rename to tests/override-suggest-local.test index df453ca9d..851393a30 100755 --- a/tests/overrid.test +++ b/tests/override-suggest-local.test @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc. +# 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 @@ -21,10 +21,6 @@ set -e -cat >> configure.in << 'END' -AM_CONDITIONAL([COND], [:]) -END - cat > Makefile.am << 'END' install: : @@ -34,11 +30,6 @@ html: : clean-am: : - -if COND -ps: mine - : -endif END $ACLOCAL @@ -51,17 +42,4 @@ grep ':.*html-local' stderr grep ':.*clean-am-local' stderr && Exit 1 grep ':.*clean-local' stderr -# Conditional overrides ought to be diagnosed, but it can't be done yet. -# See the FIXME in Automake::Rule::define. Once this is fixed, the grep below -# will fail. If you see the failure, it means you fixed Automake. Well done! -# Just strip out the next '&& Exit 1' and this comment. -grep ':.*overrides.*ps' stderr && Exit 1 - -# Test for another issue. Overriding html: should cause only one -# html: rule to be output. -test `grep '^html:' Makefile.in | wc -l` = 1 - -# ps: should be output in two conditions -test `grep '[^-]ps:' Makefile.in | wc -l` = 2 -grep '@COND_TRUE@ps: mine' Makefile.in -grep '@COND_FALSE@ps: ps-am' Makefile.in +: