automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, yacc-work, updated. v1.11-3


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, yacc-work, updated. v1.11-396-g916b570
Date: Wed, 04 May 2011 17:09:29 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=916b5702472d1282c6ef8895503cfb72a71b8113

The branch, yacc-work has been updated
       via  916b5702472d1282c6ef8895503cfb72a71b8113 (commit)
       via  978b6989d59e31c516421f82fbca64b99d48f741 (commit)
       via  1ada3973ce2ece03695b068477e08253f8d18b5f (commit)
       via  78ea595f035fff5e382df79c95bcf639f53fd12b (commit)
       via  8b3470c0ed6070f6b8d7ce7878284aa0c08aac13 (commit)
       via  305f9120306aab1343da724696aaa88c7f0dd0ab (commit)
       via  d8f365af42b559f1ae46544c2238febfca664f3a (commit)
       via  e9bb4e913957b0388182de7350e198d6fe74bf02 (commit)
       via  214bafdb4f7b97e8897cf8668867a2bbcfc804b2 (commit)
       via  d53f5cd99c0946f77ff473e44db13514cc062837 (commit)
       via  5d1f3f0c14af19df45406386b514008916f7d80b (commit)
       via  9b5a8552fec112499a527a8af8577a9b76144435 (commit)
       via  3b64c7d208952e94c4b6a317cf34e5e650e77fe6 (commit)
       via  9e7c4339cefd512255d30446053a9d84bdb619b1 (commit)
       via  5e5919991ae3992dccc7851cb4af504bba0cc26d (commit)
       via  1cddf4107153300cfb0e321711ddb38eb0d7e96c (commit)
       via  5bbf66bd78066dfe088a8405e6c1755c3a9ab2ba (commit)
       via  e78436cf58d37d8471da0101407ff71d4fdee901 (commit)
       via  82a10984a75107c2b06f71e69c482bbb0c62f84b (commit)
       via  99847a1220b6f3212e73dca10448297f1fc15f3e (commit)
      from  d986a8006ff7ce7fbe6f50b3242167cefa94448b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 916b5702472d1282c6ef8895503cfb72a71b8113
Author: Stefano Lattarini <address@hidden>
Date:   Wed May 4 19:05:00 2011 +0200

    tests defs: use `skip_' for skipping yacc/lex related tests
    
    * tests/defs.in (lex, bison): Use `skip_' to signal test skipping.

commit 978b6989d59e31c516421f82fbca64b99d48f741
Merge: d986a80 1ada397
Author: Stefano Lattarini <address@hidden>
Date:   Wed May 4 18:55:00 2011 +0200

    Merge branch 'maint' into yacc-work
    
    With some edits to `tests/defs.in', and a new ChangeLog entry
    to reflect this.

commit 1ada3973ce2ece03695b068477e08253f8d18b5f
Author: Stefano Lattarini <address@hidden>
Date:   Wed May 4 18:42:11 2011 +0200

    tests defs: allow requirements for compilers (mostly dummy)
    
    Most of the new requirements that are now accepted in `$required'
    as consequence of this patch are still dummy.  They are planned
    to be implemented only in master (or in some derived branch), but
    having them here (even just as no-op) will allow for an easier
    integration/backporting of potential new testcases.
    
    * tests/defs.in (cc, c++, fortran, fortran77): New requirements,
    still dummy.
    (flex): New requirement, picking LEX for configure.
    (lex): New requirement, alias for `flex'.  A more appropriate
    implementation, looking for a generic `lex' program, will follow
    in the future.
    (yacc): New requirement, alias for `bison'.  A more appropriate
    implementation, looking for a generic `yacc' program, will follow
    in the future.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |  135 +++++++++++++++++++-
 Makefile.am                                        |    2 +-
 Makefile.in                                        |    2 +-
 lib/depcomp                                        |    4 +-
 m4/amversion.in                                    |    5 +-
 m4/amversion.m4                                    |    5 +-
 m4/auxdir.m4                                       |    4 +-
 m4/gcj.m4                                          |    5 +-
 m4/install-sh.m4                                   |    5 +-
 m4/mkdirp.m4                                       |    5 +-
 m4/python.m4                                       |    6 +-
 m4/runlog.m4                                       |    4 +-
 m4/strip.m4                                        |    4 +-
 m4/upc.m4                                          |    4 +-
 tests/Makefile.am                                  |   10 ++-
 tests/Makefile.in                                  |   11 ++-
 tests/README                                       |    5 +
 tests/check-tests-in-builddir.test                 |   19 ++-
 tests/defs.in                                      |   74 ++++++++----
 tests/depcomp8a.test                               |   12 +-
 tests/depcomp8b.test                               |   10 +-
 tests/maintclean-vpath.test                        |    2 +-
 tests/mclean.test                                  |   31 -----
 ...lp-python.test => self-check-env-sanitize.test} |   31 ++---
 tests/self-check-report.test                       |   47 +++++++
 25 files changed, 337 insertions(+), 105 deletions(-)
 delete mode 100755 tests/mclean.test
 copy tests/{help-python.test => self-check-env-sanitize.test} (61%)
 create mode 100755 tests/self-check-report.test

diff --git a/ChangeLog b/ChangeLog
index 468e4f1..4769ca1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,136 @@
+2011-05-04  Stefano Lattarini  <address@hidden>
+
+       tests defs: use `skip_' for skipping yacc/lex related tests
+       * tests/defs.in (lex, bison): Use `skip_' to signal test skipping.
+
+2011-05-04  Stefano Lattarini  <address@hidden>
+
+       tests defs: merge cleanup
+       (flex, bison): Requirements removed, we have real `lex' and `yacc'
+       requirements now.
+
+2011-05-04  Stefano Lattarini  <address@hidden>
+
+       tests defs: allow requirements for compilers (mostly dummy)
+       Most of the new requirements that are now accepted in `$required'
+       as consequence of this patch are still dummy.  They are planned
+       to be implemented only in master (or in some derived branch), but
+       having them here (even just as no-op) will allow for an easier
+       integration/backporting of potential new testcases.
+       * tests/defs.in (cc, c++, fortran, fortran77): New requirements,
+       still dummy.
+       (flex): New requirement, picking LEX for configure.
+       (lex): New requirement, alias for `flex'.  A more appropriate
+       implementation, looking for a generic `lex' program, will follow
+       in the future.
+       (yacc): New requirement, alias for `bison'.  A more appropriate
+       implementation, looking for a generic `yacc' program, will follow
+       in the future.
+
+2011-04-24  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious failure in a test on TESTS (VPATH-related)
+       * check-tests-in-builddir.test: When not using the parallel-tests
+       option, do not check that VPATH components are not present in the
+       displayed test name, since the simple-tests driver do not try to
+       strip them.
+
+2011-04-23  Stefano Lattarini  <address@hidden>
+
+       test: self check subroutines for skipping/failing of tests
+       * tests/self-check-report.test: New test.
+       * tests/Makefile.am (TESTS): Update.
+
+2011-04-23  Jim Meyering  <address@hidden>
+           Stefano Lattarini  <address@hidden>
+
+       test defs: new subroutines for test skipping/failing
+       * tests/defs.in (Exit): Move definition of this function earlier.
+       (warn_, skip_, fail_, framework_failure_): New functions, inspired
+       to the homonyms in gnulib's tests/init.sh.
+       ($stderr_fileno_): New global variable, used by the new functions
+       above.
+       * tests/README: Updated.
+       From a suggestion by Ralf Wildenhues.
+
+2011-04-23  Stefano Lattarini  <address@hidden>
+
+       tests: fix typo (copy & paste blunder) in heading comment
+       * tests/maintclean-vpath.test: Correctly refer to the sister test
+       as `maintclean.test', not as `maintclean-vpath.test'.
+
+2011-04-23  Stefano Lattarini  <address@hidden>
+
+       tests: remove redundant test `mclean.test'
+       * tests/mclean.test: Remove, it's a weak grepping test completely
+       superseded by the much more complete `maintclean.test'.
+       * tests/Makefile.am (TESTS): Update.
+
+2011-04-22  Stefano Lattarini  <address@hidden>
+
+       testsuite: more environment sanitization
+       * tests/defs.in: Sanity check: abort if any of `parallel_tests'
+       or `required' is in the environment.
+       ($sed_unindent_prog): Initialize to empty, to avoid interferences
+       from the environment.
+       * tests/self-check-me-in-env.test: Renamed to ...
+       * tests/self-check-env-sanitize.test: ... this, and extended.
+       * tests/Makefile.am (TESTS): Update.
+       (TESTS_ENVIRONMENT): Unset variables `parallel_tests' and
+       `required'.  Adjust comments.
+
+2011-04-18  Stefano Lattarini  <address@hidden>
+
+       tests: don't allow `$me' to be overridden from the environment
+       * tests/defs.in: Sanity check: abort if $me is in the environment.
+       * tests/self-check-me-in-env.test: New test.
+       * tests/Makefile.am (TESTS_ENVIRONMENT): Unset variable `me'.
+       (TESTS): Update.
+       Suggestion by Ralf Wildenhues.
+
+2011-04-17  Stefano Lattarini  <address@hidden>
+
+       test defs: allow overriding of `$me'
+       * tests/defs.in ($me): Allow overriding by the including test
+       script.  Add some explicative comments.
+
+2011-04-17  Stefano Lattarini  <address@hidden>
+
+       depcomp tests: don't reject slower dependency extractors
+       * tests/depcomp8b.test: Add the `--enable-dependency-tracking'
+       option to `configure' invocations, so that slower dependency
+       extractors are not rejected.
+       * tests/depcomp8b.test: Likewise.  Also ...
+       (foo.c): ... since we are at it, fix spacing to be consistent
+       with GNU coding standards.
+
+2011-04-17  Stefano Lattarini  <address@hidden>
+
+       m4: add missing serial numbers to a few files
+       Related to automake bug#8483.
+       * m4/amversion.in: Add serial number.
+       * m4/auxdir.m4: Likewise.
+       * m4/gcj.m4: Likewise.
+       * m4/install-sh.m4: Likewise.
+       * m4/mkdirp.m4: Likewise.
+       * m4/python.m4: Likewise.
+       * m4/runlog.m4: Likewise.
+       * m4/strip.m4: Likewise.
+       * m4/upc.m4: Likewise.
+
+2011-04-16  Jim Meyering  <address@hidden>
+
+       depcomp: correct invalid sed invocation
+       * lib/depcomp: Insert missing -e before '/:$/d'.
+       Otherwise, that use of sed would treat '/:$/d' as a file name.
+
+2011-04-14  Stefano Lattarini  <address@hidden>
+
+       maintainer check: quote literal `$' in Makefile rule
+       * Makefile.am (sc_tests_PATH_SEPARATOR): Escape literal `$'
+       character in double-quoted string.  Fix a bug in which the rule
+       emitted an erroneously empty substring in its error message.
+
 2011-04-12  Stefano Lattarini  <address@hidden>
 
        lex/yacc tests: remove redundant $distdir definition
@@ -2924,7 +3057,7 @@
 
 -----
 
-Copyright (C) 2010  Free Software Foundation, Inc.
+Copyright (C) 2010, 2011  Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification, are
 permitted provided the copyright notice and this notice are preserved.
diff --git a/Makefile.am b/Makefile.am
index 316619f..6e8b7df 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -474,7 +474,7 @@ sc_tests_plain_egrep_fgrep:
 ## Using `:' as a PATH separator is not portable.
 sc_tests_PATH_SEPARATOR:
        @if grep -E '\bPATH=.*:.*' $(srcdir)/tests/*.test ; then \
-         echo "Use \`$$PATH_SEPARATOR', not \`:', in PATH definitions above." 
1>&2; \
+         echo "Use \`\$$PATH_SEPARATOR', not \`:', in PATH definitions above." 
1>&2; \
          exit 1; \
        fi
 
diff --git a/Makefile.in b/Makefile.in
index ec327ed..49c35f5 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1156,7 +1156,7 @@ sc_tests_plain_egrep_fgrep:
 
 sc_tests_PATH_SEPARATOR:
        @if grep -E '\bPATH=.*:.*' $(srcdir)/tests/*.test ; then \
-         echo "Use \`$$PATH_SEPARATOR', not \`:', in PATH definitions above." 
1>&2; \
+         echo "Use \`\$$PATH_SEPARATOR', not \`:', in PATH definitions above." 
1>&2; \
          exit 1; \
        fi
 
diff --git a/lib/depcomp b/lib/depcomp
index 82ebc75..2fe40a9 100755
--- a/lib/depcomp
+++ b/lib/depcomp
@@ -1,7 +1,7 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2011-04-11-10; # UTC
+scriptversion=2011-04-16.09; # UTC
 
 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2011,
 # Free Software Foundation, Inc.
@@ -162,7 +162,7 @@ gcc)
 ## to the object.  Take care to not repeat it in the output.
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" '/:$/d' \
+    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
       | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
diff --git a/m4/amversion.in b/m4/amversion.in
index 0ca73cf..61a86ab 100644
--- a/m4/amversion.in
+++ b/m4/amversion.in
@@ -1,11 +1,14 @@
 ##                                                          -*- Autoconf -*-
 ## @configure_input@
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, 
Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
+# Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
diff --git a/m4/amversion.m4 b/m4/amversion.m4
index aae0c28..9fd3c1e 100644
--- a/m4/amversion.m4
+++ b/m4/amversion.m4
@@ -1,11 +1,14 @@
 ##                                                          -*- Autoconf -*-
 ## Generated from amversion.in; do not edit by hand.
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, 
Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
+# Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
diff --git a/m4/auxdir.m4 b/m4/auxdir.m4
index 091e3b7..4b810b0 100644
--- a/m4/auxdir.m4
+++ b/m4/auxdir.m4
@@ -1,11 +1,13 @@
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
 # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
 # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
diff --git a/m4/gcj.m4 b/m4/gcj.m4
index 9e930e0..49dbe1f 100644
--- a/m4/gcj.m4
+++ b/m4/gcj.m4
@@ -1,12 +1,15 @@
 # Check for Java compiler.                                  -*- Autoconf -*-
 # For now we only handle the GNU compiler.
 
-# Copyright (C) 1999, 2000, 2003, 2005, 2009  Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2005, 2009, 2011 Free Software
+# Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 AC_DEFUN([AM_PROG_GCJ],[
 AC_CHECK_TOOLS(GCJ, gcj, gcj)
 test -z "$GCJ" && AC_MSG_ERROR([no acceptable gcj found in \$PATH])
diff --git a/m4/install-sh.m4 b/m4/install-sh.m4
index b153715..20d71c6 100644
--- a/m4/install-sh.m4
+++ b/m4/install-sh.m4
@@ -1,10 +1,13 @@
 ##                                                          -*- Autoconf -*-
-# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
+# Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
diff --git a/m4/mkdirp.m4 b/m4/mkdirp.m4
index be8a9de..152d7fb 100644
--- a/m4/mkdirp.m4
+++ b/m4/mkdirp.m4
@@ -1,10 +1,13 @@
 ##                                                          -*- Autoconf -*-
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
+# Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_MKDIR_P
 # ---------------
 # Check for `mkdir -p'.
diff --git a/m4/python.m4 b/m4/python.m4
index 655dcf3..89f2dfb 100644
--- a/m4/python.m4
+++ b/m4/python.m4
@@ -3,13 +3,15 @@
 ## From Andrew Dalke
 ## Updated by James Henstridge
 ## ------------------------
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009,
+# 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
 # ---------------------------------------------------------------------------
 # Adds support for distributing Python modules and packages.  To
diff --git a/m4/runlog.m4 b/m4/runlog.m4
index c3608fb..0bfd30d 100644
--- a/m4/runlog.m4
+++ b/m4/runlog.m4
@@ -1,10 +1,12 @@
 ##                                                          -*- Autoconf -*-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_RUN_LOG(COMMAND)
 # -------------------
 # Run COMMAND, save the exit status in ac_status, and log it.
diff --git a/m4/strip.m4 b/m4/strip.m4
index 43435dc..e73f607 100644
--- a/m4/strip.m4
+++ b/m4/strip.m4
@@ -1,10 +1,12 @@
 ##                                                          -*- Autoconf -*-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_INSTALL_STRIP
 # ---------------------
 # One issue with vendor `install' (even GNU) is that you can't
diff --git a/m4/upc.m4 b/m4/upc.m4
index a819ea7..23a8c0b 100644
--- a/m4/upc.m4
+++ b/m4/upc.m4
@@ -1,11 +1,13 @@
 # Find a compiler for Unified Parallel C.                  -*- Autoconf -*-
 
-# Copyright (C) 2006  Free Software Foundation, Inc.
+# Copyright (C) 2006, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 AC_DEFUN([AM_PROG_UPC],
 [dnl We need OBJEXT and EXEEXT, but Autoconf doesn't offer any public
 dnl macro to compute them.  Use AC_PROG_CC instead.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 36bfd2f..1f3e83f 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -40,7 +40,16 @@ $(parallel_tests): $(parallel_tests:-p.test=.test) 
Makefile.am
 
 MAINTAINERCLEANFILES = $(parallel_tests)
 
+# Some testsuite-influential variables should be overridable from the
+# test scripts, but not from the environment.
+TESTS_ENVIRONMENT = \
+  test x"$$me" = x || unset me; \
+  test x"$$required" = x || unset required; \
+  test x"$$parallel_tests" = x || unset parallel_tests;
+
 TESTS = \
+self-check-env-sanitize.test \
+self-check-report.test \
 aclibobj.test \
 aclocal.test \
 aclocal3.test \
@@ -514,7 +523,6 @@ man2.test \
 man3.test \
 man4.test \
 man5.test \
-mclean.test \
 mdate.test \
 mdate2.test \
 mdate3.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 8d2f67c..c06637e 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -310,7 +310,17 @@ pr401b-p.test \
 pr401c-p.test
 
 MAINTAINERCLEANFILES = $(parallel_tests)
+
+# Some testsuite-influential variables should be overridable from the
+# test scripts, but not from the environment.
+TESTS_ENVIRONMENT = \
+  test x"$$me" = x || unset me; \
+  test x"$$required" = x || unset required; \
+  test x"$$parallel_tests" = x || unset parallel_tests;
+
 TESTS = \
+self-check-env-sanitize.test \
+self-check-report.test \
 aclibobj.test \
 aclocal.test \
 aclocal3.test \
@@ -784,7 +794,6 @@ man2.test \
 man3.test \
 man4.test \
 man5.test \
-mclean.test \
 mdate.test \
 mdate2.test \
 mdate3.test \
diff --git a/tests/README b/tests/README
index 93f9cbf..26ce3ff 100644
--- a/tests/README
+++ b/tests/README
@@ -100,6 +100,11 @@ Do
   Include ./defs in every test script (see existing tests for examples
   of how to do this).
 
+  Use the `skip_' function to skip tests, with a meaningful message if
+  possible.  Where convenient, use the `warn_' function to print generic
+  warnings, and the `fail_' function for test failures.  Finally, you may
+  use the `framework_fail_' function for hard errors.
+
   For tests that use the `parallel-tests' Automake option, set the shell
   variable `parallel_tests' to "yes" before including ./defs.  Also,
   use for them a name that ends in `-p.test' and does not clash with any
diff --git a/tests/check-tests-in-builddir.test 
b/tests/check-tests-in-builddir.test
index 2d0e423..b588f11 100755
--- a/tests/check-tests-in-builddir.test
+++ b/tests/check-tests-in-builddir.test
@@ -55,16 +55,27 @@ chmod a+x bar.test
 
 $MAKE check >out 2>&1 || { cat out; Exit1; }
 cat out
-grep '\.\./foo' out && Exit 1
-grep '^PASS: foo.test *$' out
+# The simple-tests driver does not strip VPATH components from
+# the name of the test, but the parallel-tests driver should.
+if test x"$parallel_tests" = x"yes"; then
+  grep '\.\./foo' out && Exit 1
+  grep '^PASS: foo.test *$' out
+else
+  grep '^PASS: .*foo.test *$' out
+fi
 grep '^PASS: bar.test *$' out
 
 rm -f test-suite.log foo.log bar.log
 
 FOO_EXIT_STATUS=1 $MAKE check >out 2>&1 && { cat out; Exit1; }
 cat out
-grep '\.\./foo' out && Exit 1
-grep '^FAIL: foo.test *$' out
+# See comments above.
+if test x"$parallel_tests" = x"yes"; then
+  grep '\.\./foo' out && Exit 1
+  grep '^FAIL: foo.test *$' out
+else
+  grep '^FAIL: .*foo.test *$' out
+fi
 grep '^PASS: bar.test *$' out
 
 rm -f test-suite.log foo.log bar.log
diff --git a/tests/defs.in b/tests/defs.in
index c4f3d0e..654ac93 100644
--- a/tests/defs.in
+++ b/tests/defs.in
@@ -64,7 +64,25 @@ test -f "$srcdir/defs.in" || {
    exit 1
 }
 
-me=`echo "$0" | sed -e 's,.*[\\/],,;s/\.test$//'`
+# The name of the current test (without the `.test' suffix).
+# Test scripts can override it if they need to (but this should
+# be done carefully, and *before* including ./defs).
+if test -z "$me"; then
+  me=`echo "$0" | sed -e 's,.*[\\/],,;s/\.test$//'`
+elif env | grep '^me=' >/dev/null; then
+  echo "$0: variable \`me' is set in the environment: this is unsafe" >&2
+  exit 99
+fi
+
+# Check that the environment is properly sanitized.
+for var in required parallel_tests; do
+  if env | grep "^$var=" >/dev/null; then
+    echo "$me: variable \`$var' is set in the environment:" \
+         "this is unsafe" >&2
+    exit 99
+  fi
+done
+unset var
 
 # This might be used in testcases checking distribution-related features.
 # Test scripts are free to override this if they need to.
@@ -106,11 +124,40 @@ echo "$PATH"
 # (See note about `export' in the Autoconf manual.)
 export PATH
 
+# We use a trap below for cleanup.  This requires us to go through
+# hoops to get the right exit status transported through the signal.
+# So use `Exit STATUS' instead of `exit STATUS' inside of the tests.
+# Turn off errexit here so that we don't trip the bug with OSF1/Tru64
+# sh inside this function.
+Exit ()
+{
+  set +e
+  (exit $1)
+  exit $1
+}
+
+# Print warnings (e.g., about skipped and failed tests) to this file
+# number.  Override by putting, say:
+#   stderr_fileno_=9; export stderr_fileno_; exec 9>&2;
+# in the definition of AM_TESTS_ENVIRONMENT.
+# This is useful when using automake's parallel tests mode, to print the
+# reason for skip/failure to console, rather than to the *.log files.
+: ${stderr_fileno_=2}
+
+# Copied from Gnulib's `tests/init.sh'.
+warn_ () { echo "$@" 1>&$stderr_fileno_; }
+fail_ () { warn_ "$me: failed test: $@"; Exit 1; }
+skip_ () { warn_ "$me: skipped test: $@"; Exit 77; }
+framework_failure_ () { warn_ "$me: set-up failure: $@"; Exit 99; }
+
 for tool in : $required
 do
   # Check that each required tool is present.
   case $tool in
     :) ;;
+    cc|c++|fortran|fortran77)
+      echo "$me: dummy requirement '$tool', no check done"
+      ;;
     bzip2)
       # Do not use --version, bzip2 still tries to compress stdin.
       echo "$me: running bzip2 --help"
@@ -236,20 +283,12 @@ do
       ( texi2dvi -o /dev/null --version ) || exit 77
       ;;
     lex)
-      if test x"$LEX" = x"false"; then
-        echo "$me: no working \$LEX found at configure time," \
-                  "or explicitly disabled" >&2
-        exit 77
-      fi
       export LEX
+      test x"$LEX" = x"false" && skip_ "lex not found or disabled"
       ;;
     yacc)
-      if test x"$YACC" = x"false"; then
-        echo "$me: no working \$YACC found at configure time," \
-                  "or explicitly disabled" >&2
-        exit 77
-      fi
       export YACC
+      test x"$YACC" = x"false" && skip_ "yacc not found or disabled"
       ;;
     # Generic case: the tool must support --version.
     *)
@@ -271,18 +310,6 @@ case "$srcdir" in
     ;;
 esac
 
-# We use a trap below for cleanup.  This requires us to go through
-# hoops to get the right exit status transported through the signal.
-# So use `Exit STATUS' instead of `exit STATUS' inside of the tests.
-# Turn off errexit here so that we don't trip the bug with OSF1/Tru64
-# sh inside this function.
-Exit ()
-{
-  set +e
-  (exit $1)
-  exit $1
-}
-
 curdir=`pwd`
 testSubDir=$me.dir
 test ! -d $testSubDir || {
@@ -491,6 +518,7 @@ unindent ()
   fi
   sed "$sed_unindent_prog" ${1+"$@"}
 }
+sed_unindent_prog="" # Avoid interferences from the environment.
 
 # Turn on shell traces.
 set -x
diff --git a/tests/depcomp8a.test b/tests/depcomp8a.test
index b4a0e3a..d8eff56 100755
--- a/tests/depcomp8a.test
+++ b/tests/depcomp8a.test
@@ -35,7 +35,7 @@ END
 
 mkdir sub
 cat > foo.c << 'END'
-int main(void)
+int main (void)
 {
   extern int bar;
   return bar;
@@ -53,10 +53,11 @@ grep 'include.*\./\$(DEPDIR)/bar\.P' Makefile.in
 grep 'include.*/\./\$(DEPDIR)' Makefile.in && Exit 1
 
 $AUTOCONF
-./configure
+# Don't reject slower dependency extractors, for better coverage.
+./configure --enable-dependency-tracking
 $MAKE
 ./zardoz
-$MAKE distcheck
+$MAKE DISTCHECK_CONFIGURE_FLAGS='--enable-dependency-tracking' distcheck
 
 # Try again with subdir-objects option.
 
@@ -71,9 +72,10 @@ grep 'include.*[^a-zA-Z0-9_/]sub/\$(DEPDIR)/bar\.P' 
Makefile.in
 $EGREP 'include.*/(\.|sub)/\$\(DEPDIR\)' Makefile.in && Exit 1
 
 $AUTOCONF
-./configure
+# Don't reject slower dependency extractors, for better coverage.
+./configure --enable-dependency-tracking
 $MAKE
 ./zardoz
-$MAKE distcheck
+$MAKE DISTCHECK_CONFIGURE_FLAGS='--enable-dependency-tracking' distcheck
 
 :
diff --git a/tests/depcomp8b.test b/tests/depcomp8b.test
index 1ae7459..6315d4d 100755
--- a/tests/depcomp8b.test
+++ b/tests/depcomp8b.test
@@ -49,9 +49,10 @@ grep 'include.*\./\$(DEPDIR)/bar\.P' Makefile.in
 grep 'include.*/\./\$(DEPDIR)' Makefile.in && Exit 1
 
 $AUTOCONF
-./configure
+# Don't reject slower dependency extractors, for better coverage.
+./configure --enable-dependency-tracking
 $MAKE
-$MAKE distcheck
+$MAKE DISTCHECK_CONFIGURE_FLAGS='--enable-dependency-tracking' distcheck
 
 # Try again with subdir-objects option.
 
@@ -66,8 +67,9 @@ grep 'include.*[^a-zA-Z0-9_/]sub/\$(DEPDIR)/bar\.P' 
Makefile.in
 $EGREP 'include.*/(\.|sub)/\$\(DEPDIR\)' Makefile.in && Exit 1
 
 $AUTOCONF
-./configure
+# Don't reject slower dependency extractors, for better coverage.
+./configure --enable-dependency-tracking
 $MAKE
-$MAKE distcheck
+$MAKE DISTCHECK_CONFIGURE_FLAGS='--enable-dependency-tracking' distcheck
 
 :
diff --git a/tests/maintclean-vpath.test b/tests/maintclean-vpath.test
index 8dd2a95..4b93ab1 100755
--- a/tests/maintclean-vpath.test
+++ b/tests/maintclean-vpath.test
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Make sure distclean and maintainer-clean erase the right files.
-# This test is for VPATH builds; see sister test `maintclean-vpath.test'
+# This test is for VPATH builds; see sister test `maintclean.test'
 # for in-tree builds.
 
 . ./defs || Exit 1
diff --git a/tests/mclean.test b/tests/mclean.test
deleted file mode 100755
index dcbe818..0000000
--- a/tests/mclean.test
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1999, 2001, 2002  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 MAINTAINERCLEANFILES works.
-# Report from Paul D. Smith.
-
-. ./defs || Exit 1
-
-cat > Makefile.am << 'END'
-MAINTAINERCLEANFILES = foo
-END
-
-: > FOO
-
-$ACLOCAL || Exit 1
-$AUTOMAKE || Exit 1
-
-grep 'rm -f .*MAINTAINERCLEANFILES' Makefile.in
diff --git a/tests/help-python.test b/tests/self-check-env-sanitize.test
similarity index 61%
copy from tests/help-python.test
copy to tests/self-check-env-sanitize.test
index ba20013..9d18d9e 100755
--- a/tests/help-python.test
+++ b/tests/self-check-env-sanitize.test
@@ -14,24 +14,17 @@
 # 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 that macro `AM_PATH_PYTHON' adds proper text to the
-# configure help screen.
-
-. ./defs || Exit 1
-
-set -e
-
-cat > configure.in <<END
-AC_INIT([$me], [1.0])
-AM_PATH_PYTHON
-END
-
-$ACLOCAL
-$AUTOCONF
-
-./configure --help >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-grep '^  *PYTHON  *the Python interpreter$' stdout
+# Sanity check for the automake testsuite.
+# Make sure that the testsuite initialization code complains when
+# some testsuite-influential variables are set in the environment.
+
+set -x
+
+exec 5>&1
+for var in me parallel_tests required; do
+  env "$var=foo" /bin/sh -c '. ./defs' foo.test && exit 1
+  env "$var=foo" /bin/sh -c '. ./defs' foo.test 2>&1 1>&5 \
+    | grep "variable \`$var' is set in the environment.*unsafe" || exit 1
+done
 
 :
diff --git a/tests/self-check-report.test b/tests/self-check-report.test
new file mode 100755
index 0000000..639319a
--- /dev/null
+++ b/tests/self-check-report.test
@@ -0,0 +1,47 @@
+#! /bin/sh
+# Copyright (C) 2011 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/>.
+
+# Sanity check for the automake testsuite.
+# Test subroutines to report warnings, and to signal failures, skips
+# and hard errors.
+
+. ./defs || Exit 1
+
+set +e
+
+exec 5>&1
+
+(warn_ foobar) 2>&1 1>&5 | grep '^foobar$'             || Exit 1
+(fail_ foo); test $? -eq 1                             || Exit 1
+(fail_ foo) 2>&1 1>&5 | grep "^$me: failed test: foo"  || Exit 1
+(skip_ foo); test $? -eq 77                            || Exit 1
+(skip_ foo) 2>&1 1>&5 | grep "^$me: skipped test: foo" || Exit 1
+(framework_failure_ foo); test $? -eq 99               || Exit 1
+(framework_failure_ foo) 2>&1 1>&5 \
+  | grep "^$me: set-up failure: foo"                   || Exit 1
+
+stderr_fileno_=6
+
+(warn_ foobar) 6>&1 1>&5 | grep '^foobar$'             || Exit 1
+(fail_ foo); test $? -eq 1                             || Exit 1
+(fail_ foo) 6>&1 1>&5 | grep "^$me: failed test: foo"  || Exit 1
+(skip_ foo); test $? -eq 77                            || Exit 1
+(skip_ foo) 6>&1 1>&5 | grep "^$me: skipped test: foo" || Exit 1
+(framework_failure_ foo); test $? -eq 99               || Exit 1
+(framework_failure_ foo) 6>&1 1>&5 \
+  | grep "^$me: set-up failure: foo"                   || Exit 1
+
+:


hooks/post-receive
-- 
GNU Automake



reply via email to

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