[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.11-498-g
From: |
Stefano Lattarini |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.11-498-gba0c477 |
Date: |
Fri, 07 Oct 2011 09:43:12 +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=ba0c477b275aaae0e4f77003ac96f4cc2ec12ebf
The branch, maint has been updated
via ba0c477b275aaae0e4f77003ac96f4cc2ec12ebf (commit)
from d710255c09afd2d6e06d72259816988a0a79ea18 (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 ba0c477b275aaae0e4f77003ac96f4cc2ec12ebf
Author: Stefano Lattarini <address@hidden>
Date: Fri Oct 7 11:08:15 2011 +0200
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.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 12 ++++
NEWS | 11 ++--
automake.in | 15 ++++-
tests/Makefile.am | 1 +
tests/Makefile.in | 1 +
...tests-subdir.test => test-extensions-cond.test} | 63 +++++++++++++-------
6 files changed, 74 insertions(+), 29 deletions(-)
copy tests/{parallel-tests-subdir.test => test-extensions-cond.test} (54%)
diff --git a/ChangeLog b/ChangeLog
index d203a4d..171139c 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 4b4a5e8..7e30ed0 100644
--- a/NEWS
+++ b/NEWS
@@ -49,11 +49,12 @@ Bugs fixed in 1.11.0a:
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 0080df8..516e594 100755
--- a/automake.in
+++ b/automake.in
@@ -4982,9 +4982,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 bf17aea..884ea65 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -635,6 +635,7 @@ parallel-tests-log-override-2.test \
parallel-tests-log-override-recheck.test \
parallel-tests-log-compiler-example.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 f66a9c7..f1bfcdd 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -919,6 +919,7 @@ parallel-tests-log-override-2.test \
parallel-tests-log-override-recheck.test \
parallel-tests-log-compiler-example.test \
test-extensions.test \
+test-extensions-cond.test \
parse.test \
percent.test \
percent2.test \
diff --git a/tests/parallel-tests-subdir.test b/tests/test-extensions-cond.test
similarity index 54%
copy from tests/parallel-tests-subdir.test
copy to tests/test-extensions-cond.test
index 18695fe..26409a8 100755
--- a/tests/parallel-tests-subdir.test
+++ b/tests/test-extensions-cond.test
@@ -14,8 +14,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Check that the parallel-tests driver creates parent directories for
-# the log files when needed.
+# Expose bug in conditional definition of TEST_EXTENSIONS.
parallel_tests=yes
. ./defs || Exit 1
@@ -23,29 +22,51 @@ parallel_tests=yes
set -e
cat >> configure.in << 'END'
-AC_OUTPUT
+AM_CONDITIONAL([COND], [:])
+AM_CONDITIONAL([COND2], [:])
END
-cat > Makefile.am << 'END'
-TESTS = dir1/foo.test dir2/dir3/foo.test
-TEST_LOG_COMPILER = sh
+$ACLOCAL
+
+cat > 1.am << 'END'
+TESTS =
+if COND
+## lineno 4
+TEST_EXTENSIONS = .foo
+endif
END
-mkdir dir1 dir2 dir2/dir3
-echo : > dir1/foo.test
-echo : > dir2/dir3/foo.test
+cat > 2.am << 'END'
+TESTS =
+## lineno 3
+TEST_EXTENSIONS = .foo
+if COND
+# Do nothing.
+else
+TEST_EXTENSIONS += .bar
+endif
+END
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-mkdir build
-cd build
-../configure
-$MAKE check
-find . # For debugging.
-test -f test-suite.log
-test -f dir1/foo.log
-test -f dir2/dir3/foo.log
+cat > 3.am << 'END'
+TESTS =
+if COND
+if !COND2
+TESTS = x
+else
+## lineno 7
+TEST_EXTENSIONS = .foo
+endif
+endif
+END
+
+: > test-driver
+
+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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.11-498-gba0c477,
Stefano Lattarini <=