]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
* automake.in (handle_tests): Rewrite XFAIL_TESTS just like
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Thu, 29 Mar 2007 23:02:05 +0000 (23:02 +0000)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Thu, 29 Mar 2007 23:02:05 +0000 (23:02 +0000)
TESTS, appending $(EXEEXT), so that matching continues to work
on w32.
* NEWS: Mention this.
* doc/automake.texi (EXEEXT, Extending): Update.
* tests/check7.test: New test.
* tests/Makefile.am: Adjust.
Bug report by Ed Hartnett.

ChangeLog
NEWS
automake.in
doc/automake.texi
doc/stamp-vti
doc/version.texi
tests/Makefile.am
tests/Makefile.in
tests/check7.test [new file with mode: 0755]

index 811bc9a53e97fcc9b059ff5d1fe936d962f07e66..4579c052190abf214b626224600196d6afd4e70c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2007-03-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * automake.in (handle_tests): Rewrite XFAIL_TESTS just like
+       TESTS, appending $(EXEEXT), so that matching continues to work
+       on w32.
+       * NEWS: Mention this.
+       * doc/automake.texi (EXEEXT, Extending): Update.
+       * tests/check7.test: New test.
+       * tests/Makefile.am: Adjust.
+       Bug report by Ed Hartnett.
+
 2007-03-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Again search
diff --git a/NEWS b/NEWS
index 19ee8b3b55ad738edf0feb4801b49971948b1336..95b6cfe76a1e776655e8eafdd185a41adfefe972 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,6 +25,10 @@ Bugs fixed in 1.10a:
 
   - Fix output of dummy dependency files in presence of post-processed
     Makefile.in's again, but also cope with long lines.
+
+  - $(EXEEXT) is automatically appended to filenames of XFAIL_TESTS
+    that have been declared as programs in the same Makefile.
+    This is for consistency with the analogous change to TESTS in 1.10.
 \f
 New in 1.10:
 
index 1f8bcef94852744283b98bd1ee714340b458e6d9..9d045593e5b9b3d5ed7030ca3282c274c9808931 100755 (executable)
@@ -4605,7 +4605,10 @@ sub handle_tests
       $output_rules .= &file_contents ('check', new Automake::Location);
 
       # Tests that are known programs should have $(EXEEXT) appended.
+      # For matching purposes, we need to adjust XFAIL_TESTS as well.
       append_exeext { exists $known_programs{$_[0]} } 'TESTS';
+      append_exeext { exists $known_programs{$_[0]} } 'XFAIL_TESTS'
+        if (var ('XFAIL_TESTS'));
     }
 }
 
index debc51b04586d60871339eadc7e225c016b25566..3ca707c453a1e1b848cd31c78baf667c71b4244d 100644 (file)
@@ -14,7 +14,7 @@ This manual is for @acronym{GNU} Automake (version @value{VERSION},
 Makefiles from template files.
 
 Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -6572,10 +6572,10 @@ bin_PROGRAMS = liver$(EXEEXT)
 The targets Automake generates are likewise given the @samp{$(EXEEXT)}
 extension.
 
-The variable @code{TESTS} (@pxref{Tests}) is also rewritten if it
-contains filenames that have been declared as programs in the same
-@file{Makefile}.  (This is mostly useful when some programs from
-@code{check_PROGRAMS} are listed in @code{TESTS}.)
+The variables @code{TESTS}, @code{XFAIL_TESTS} (@pxref{Tests}) are also
+rewritten if it contains filenames that have been declared as programs
+in the same @file{Makefile}.  (This is mostly useful when some programs
+from @code{check_PROGRAMS} are listed in @code{TESTS}.)
 
 However, Automake cannot apply this rewriting to @command{configure}
 substitutions.  This means that if you are conditionally building a
@@ -9055,9 +9055,9 @@ resort to handwritten rules or even handwritten @file{Makefile}s.
 @node Extending
 @section Extending Automake Rules
 
-With some minor exceptions (like @code{_PROGRAMS} variables being
-rewritten to append @samp{$(EXEEXT)}), the contents of a
-@file{Makefile.am} is copied to @file{Makefile.in} verbatim.
+With some minor exceptions (like @code{_PROGRAMS} variables, @code{TESTS},
+or @code{XFAIL_TESTS}) being rewritten to append @samp{$(EXEEXT)}), the
+contents of a @file{Makefile.am} is copied to @file{Makefile.in} verbatim.
 
 @cindex copying semantics
 
index e57627b226988de6380f2a0fc1a15bc7a905c426..5bacab1f92626c9a25d5a47c4ea97510cdc37474 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 27 January 2007
-@set UPDATED-MONTH January 2007
+@set UPDATED 30 March 2007
+@set UPDATED-MONTH March 2007
 @set EDITION 1.10a
 @set VERSION 1.10a
index e57627b226988de6380f2a0fc1a15bc7a905c426..5bacab1f92626c9a25d5a47c4ea97510cdc37474 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 27 January 2007
-@set UPDATED-MONTH January 2007
+@set UPDATED 30 March 2007
+@set UPDATED-MONTH March 2007
 @set EDITION 1.10a
 @set VERSION 1.10a
index 1177fc72d66d079cfc572b5ae18c3f08fc77192d..afa698b2383bea1189894706f11b6415950cb82e 100644 (file)
@@ -87,6 +87,7 @@ check3.test \
 check4.test \
 check5.test \
 check6.test \
+check7.test \
 checkall.test \
 clean.test \
 clean2.test \
index 9a895a810e850ba9a8de904a4b8c6eb409579bf1..7ca66fbfa89ee2e5d9d535027da013bb58572de6 100644 (file)
@@ -220,6 +220,7 @@ check3.test \
 check4.test \
 check5.test \
 check6.test \
+check7.test \
 checkall.test \
 clean.test \
 clean2.test \
diff --git a/tests/check7.test b/tests/check7.test
new file mode 100755 (executable)
index 0000000..3a2c695
--- /dev/null
@@ -0,0 +1,70 @@
+#! /bin/sh
+# Copyright (C) 2007  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake 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.
+#
+# GNU Automake 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 Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check EXEEXT extension for XFAIL_TESTS.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+TESTS = $(XFAIL_TESTS)
+XFAIL_TESTS = a b c d
+check_PROGRAMS = a c d
+check_SCRIPTS = b
+
+print-xfail-tests:
+       @echo BEG: $(XFAIL_TESTS) :END
+END
+
+cat >>b <<'END'
+#! /bin/sh
+exit 1
+END
+chmod a+x b
+
+cat >>a.c <<'END'
+#include <stdlib.h>
+int main() { return EXIT_FAILURE; }
+END
+
+cp a.c c.c
+cp a.c d.c
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+$MAKE check
+EXEEXT=.bin $MAKE -e print-xfail-tests >foo
+cat foo
+grep 'BEG: a.bin b c.bin d.bin :END' foo
+
+$MAKE distclean
+mkdir build
+cd build
+../configure
+$MAKE check