automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Separate checks on target overriding into multiple test scripts.


From: Stefano Lattarini
Subject: [PATCH] Separate checks on target overriding into multiple test scripts.
Date: Thu, 25 Nov 2010 11:45:32 +0100
User-agent: KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )

Separate checks on target overriding into multiple test scripts.

* tests/overrid.test: Deleted, it's 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.
---
 ChangeLog                         |   11 ++++++
 tests/Makefile.am                 |    6 +++-
 tests/Makefile.in                 |    6 +++-
 tests/overrid.test                |   67 -------------------------------------
 tests/override-conditional-1.test |   56 +++++++++++++++++++++++++++++++
 tests/override-conditional-2.test |   41 ++++++++++++++++++++++
 tests/override-html.test          |   35 +++++++++++++++++++
 tests/override-suggest-local.test |   45 +++++++++++++++++++++++++
 8 files changed, 198 insertions(+), 69 deletions(-)
 delete mode 100755 tests/overrid.test
 create mode 100755 tests/override-conditional-1.test
 create mode 100755 tests/override-conditional-2.test
 create mode 100755 tests/override-html.test
 create mode 100755 tests/override-suggest-local.test

-*-*-*-

It is this comment in the old `overrid.test' that suggested me a
better organization and separation of the checks was in order:

 # 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

The patch is based off of maint, and intended for master; OK to apply?

Regards,
   Stefano
From ef1a629fa4405e7554543717f50f9b5fe1e9c0f4 Mon Sep 17 00:00:00 2001
From: Stefano Lattarini <address@hidden>
Date: Wed, 24 Nov 2010 15:01:31 +0100
Subject: [PATCH] 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.
---
 ChangeLog                         |   11 ++++++
 tests/Makefile.am                 |    6 +++-
 tests/Makefile.in                 |    6 +++-
 tests/overrid.test                |   67 -------------------------------------
 tests/override-conditional-1.test |   56 +++++++++++++++++++++++++++++++
 tests/override-conditional-2.test |   41 ++++++++++++++++++++++
 tests/override-html.test          |   35 +++++++++++++++++++
 tests/override-suggest-local.test |   45 +++++++++++++++++++++++++
 8 files changed, 198 insertions(+), 69 deletions(-)
 delete mode 100755 tests/overrid.test
 create mode 100755 tests/override-conditional-1.test
 create mode 100755 tests/override-conditional-2.test
 create mode 100755 tests/override-html.test
 create mode 100755 tests/override-suggest-local.test

diff --git a/ChangeLog b/ChangeLog
index ffbeb69..67dddad 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2010-11-25  Stefano Lattarini  <address@hidden>
+
+       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  <address@hidden>
 
        Tests: consistently use "|| Exit 1" after ". ./defs".
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 5f1ab9e..dbed2c1 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 140b178..863d9bb 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/overrid.test b/tests/overrid.test
deleted file mode 100755
index df453ca..0000000
--- a/tests/overrid.test
+++ /dev/null
@@ -1,67 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003, 2004, 2006  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/>.
-
-# Make sure automake -Woverride suggests using TARGET-local instead
-# of TARGET when possible.
-
-. ./defs || Exit 1
-
-set -e
-
-cat >> configure.in << 'END'
-AM_CONDITIONAL([COND], [:])
-END
-
-cat > Makefile.am << 'END'
-install:
-       :
-installcheck:
-       :
-html:
-       :
-clean-am:
-       :
-
-if COND
-ps: mine
-       :
-endif
-END
-
-$ACLOCAL
-$AUTOMAKE -Wno-override
-AUTOMAKE_fails
-grep ':.*install-local' stderr && Exit 1 # There is no such thing as 
install-local
-grep ':.*installcheck-local' stderr
-grep ':.*html-local' stderr
-# Make sure overriding *-am targets suggest using *-local, not *-am.
-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 '@address@hidden: mine' Makefile.in
-grep '@address@hidden: ps-am' Makefile.in
diff --git a/tests/override-conditional-1.test 
b/tests/override-conditional-1.test
new file mode 100755
index 0000000..fe0bbba
--- /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 <http://www.gnu.org/licenses/>.
+
+# 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 '@address@hidden: *foobar' Makefile.in
+grep '@address@hidden: *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 0000000..132b841
--- /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 <http://www.gnu.org/licenses/>.
+
+# 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 0000000..baece42
--- /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 <http://www.gnu.org/licenses/>.
+
+# 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/override-suggest-local.test 
b/tests/override-suggest-local.test
new file mode 100755
index 0000000..851393a
--- /dev/null
+++ b/tests/override-suggest-local.test
@@ -0,0 +1,45 @@
+#! /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/>.
+
+# Make sure automake -Woverride suggests using TARGET-local instead
+# of TARGET when possible.
+
+. ./defs || Exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+install:
+       :
+installcheck:
+       :
+html:
+       :
+clean-am:
+       :
+END
+
+$ACLOCAL
+$AUTOMAKE -Wno-override
+AUTOMAKE_fails
+grep ':.*install-local' stderr && Exit 1 # There is no such thing as 
install-local
+grep ':.*installcheck-local' stderr
+grep ':.*html-local' stderr
+# Make sure overriding *-am targets suggest using *-local, not *-am.
+grep ':.*clean-am-local' stderr && Exit 1
+grep ':.*clean-local' stderr
+
+:
-- 
1.7.1


reply via email to

[Prev in Thread] Current Thread [Next in Thread]