automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, test-protocols, updated. v1


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, test-protocols, updated. v1.11-1218-ga3d1cdb
Date: Fri, 07 Oct 2011 12:10:42 +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=a3d1cdbc30755257b4a0f001c4cc8e6acaba72d1

The branch, test-protocols has been updated
       via  a3d1cdbc30755257b4a0f001c4cc8e6acaba72d1 (commit)
       via  64aebd615605c46e9b969aab0e6fbfb58863cb81 (commit)
       via  ba0c477b275aaae0e4f77003ac96f4cc2ec12ebf (commit)
      from  473ea1d1ef00f0f2c537a2e54d5257b2639f3d35 (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 -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   12 ++++
 NEWS                                               |   11 ++--
 automake.in                                        |   15 ++++-
 tests/Makefile.am                                  |    1 +
 tests/Makefile.in                                  |    1 +
 ...x-registered.test => test-extensions-cond.test} |   62 ++++++++++++--------
 6 files changed, 70 insertions(+), 32 deletions(-)
 copy tests/{test-driver-trs-suffix-registered.test => 
test-extensions-cond.test} (57%)

diff --git a/ChangeLog b/ChangeLog
index f58b01a..b298f85 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2011-10-07  Stefano Lattarini  <address@hidden>
+
+       parallel-tests: warn on conditional TEST_EXTENSIONS definition
+       Before this change, automake would have still bailed out, but
+       with a confusing error message (about an invalid redefinition
+       of TEST_EXTENSIONS).
+       * automake.in (handle_tests): Warn explicitly if TEST_EXTENSIONS
+       has conditional contents.
+       * tests/test-extensions-con.test: New test.
+       * tests/Makefile.am (TESTS): Add it.
+       * NEWS: Update.
+
 2011-10-06  Stefano Lattarini  <address@hidden>
 
        parallel-tests: don't allow @substitutions@ in TEST_EXTENSIONS
diff --git a/NEWS b/NEWS
index 66ca2a7..01442c3 100644
--- a/NEWS
+++ b/NEWS
@@ -156,11 +156,12 @@ Bugs fixed in 1.11a:
     does not report spurious successes when used with concurrent FreeBSD
     make (e.g., "make check -j3").
 
-  - Automake now explicitly rejects invalid entries in TEST_EXTENSIONS when
-    the parallel-tests diver is in use, instead of issuing confusing and
-    apparently unrelated error messages (about "non-POSIX variable name"
-    or "bad characters in variable name"), or even, in some situations,
-    producing broken `Makefile.in' files.
+  - When the parallel-tests driver is in use, automake now explicitly
+    rejects invalid entries and conditional contents in TEST_EXTENSIONS,
+    instead of issuing confusing and apparently unrelated error messages
+    (e.g., "non-POSIX variable name", "bad characters in variable name",
+    or "redefinition of TEST_EXTENSIONS), or even, in some situations,
+    silently producing broken `Makefile.in' files.
 
   - The `silent-rules' option now also silences all compile rules if dependency
     tracking is disabled.  Also, when `silent-rules' is not used, the output 
from
diff --git a/automake.in b/automake.in
index 718b328..9d6acc0 100644
--- a/automake.in
+++ b/automake.in
@@ -4900,9 +4900,18 @@ sub handle_tests
              $at_exeext = subst ('EXEEXT');
              $suff = $at_exeext  . ' ' . $suff;
            }
-         define_variable ('TEST_EXTENSIONS', $suff, INTERNAL);
-         # FIXME: this mishandles conditions.
-         my $var = rvar 'TEST_EXTENSIONS';
+          if (! var 'TEST_EXTENSIONS')
+            {
+             define_variable ('TEST_EXTENSIONS', $suff, INTERNAL);
+            }
+          my $var = var 'TEST_EXTENSIONS';
+          # Currently, we are not able to deal with conditional contents
+          # in TEST_EXTENSIONS.
+          if ($var->has_conditional_contents)
+           {
+            msg_var 'unsupported', $var,
+                     "`TEST_EXTENSIONS' cannot have conditional contents";
+           }
          my @test_suffixes = $var->value_as_list_recursive;
           if ((my @invalid_test_suffixes =
                   grep { !is_valid_test_extension $_ } @test_suffixes) > 0)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 2d63a3d..35baf9e 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -799,6 +799,7 @@ test-trs-basic.test \
 test-trs-recover.test \
 test-trs-recover2.test \
 test-extensions.test \
+test-extensions-cond.test \
 parse.test \
 percent.test \
 percent2.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 5b3a3df..3d7fe7c 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1062,6 +1062,7 @@ test-trs-basic.test \
 test-trs-recover.test \
 test-trs-recover2.test \
 test-extensions.test \
+test-extensions-cond.test \
 parse.test \
 percent.test \
 percent2.test \
diff --git a/tests/test-driver-trs-suffix-registered.test 
b/tests/test-extensions-cond.test
similarity index 57%
copy from tests/test-driver-trs-suffix-registered.test
copy to tests/test-extensions-cond.test
index 7f6522a..26409a8 100755
--- a/tests/test-driver-trs-suffix-registered.test
+++ b/tests/test-extensions-cond.test
@@ -14,45 +14,59 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# parallel-tests support: the following are registered with `.SUFFIXES':
-#  - .log
-#  - .trs (used by files that store test results and metadata)
-#  - .test if $(TEST_EXTENSIONS) is not defined
-#  - stuff in $(TEST_EXTENSIONS) otherwise
+# Expose bug in conditional definition of TEST_EXTENSIONS.
 
 parallel_tests=yes
 . ./defs || Exit 1
 
-: > Makefile.am
+set -e
+
+cat >> configure.in << 'END'
+AM_CONDITIONAL([COND], [:])
+AM_CONDITIONAL([COND2], [:])
+END
+
+$ACLOCAL
 
 cat > 1.am << 'END'
 TESTS =
+if COND
+## lineno 4
+TEST_EXTENSIONS = .foo
+endif
 END
 
 cat > 2.am << 'END'
-TEST_EXTENSIONS = .SH .abcdef
 TESTS =
+## lineno 3
+TEST_EXTENSIONS = .foo
+if COND
+# Do nothing.
+else
+TEST_EXTENSIONS += .bar
+endif
 END
 
-: > test-driver
-
-$ACLOCAL
-
-$AUTOMAKE 1
-$AUTOMAKE 2
-
-sed -e 's/$/ /' 1.in > mk.1
-sed -e 's/$/ /' 2.in > mk.2
-
-grep '^\.SUFFIXES:' mk.1
-grep '^\.SUFFIXES:' mk.2
+cat > 3.am << 'END'
+TESTS =
+if COND
+if !COND2
+TESTS = x
+else
+## lineno 7
+TEST_EXTENSIONS = .foo
+endif
+endif
+END
 
-for suf in test log trs; do
-  grep "^\\.SUFFIXES:.* \\.$suf " mk.1
-done
+: > test-driver
 
-for suf in SH abcdef log trs; do
-  grep "^\\.SUFFIXES:.* \\.$suf " mk.2
+for i in 1 2 3; do
+  AUTOMAKE_fails $i
+  lineno=`sed -n 's/^## lineno //p' $i.am` \
+    && test 0 -lt "$lineno" \
+    || Exit 99
+  grep "^$i\\.am:$lineno:.*TEST_EXTENSIONS.*conditional content" stderr
 done
 
 :


hooks/post-receive
-- 
GNU Automake



reply via email to

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