summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2012-03-04 16:53:50 +0000
committerPaul Smith <psmith@gnu.org>2012-03-04 16:53:50 +0000
commitcf1c79c9a331896d5bc2e68a1ea8206105a53eaa (patch)
treea7f622393478929ecbf44027d94e5ee576ae637b /tests
parent76827d7c10c2708a3147171b02bfe3981492a38f (diff)
downloadgunmake-cf1c79c9a331896d5bc2e68a1ea8206105a53eaa.tar.gz
Improve handling for escaped colons in prerequisite lists.
Fixes Savannah bug #12126 and bug #16545
Diffstat (limited to 'tests')
-rw-r--r--tests/ChangeLog6
-rw-r--r--tests/scripts/features/escape8
-rw-r--r--tests/scripts/features/se_explicit10
3 files changed, 23 insertions, 1 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 9d98731..78bd4ca 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,5 +1,11 @@
2012-03-04 Paul Smith <psmith@gnu.org>
+ * scripts/features/se_explicit: Test $(x:%=%) format in secondary
+ expansion prerequisite lists. See Savannah bug #16545.
+
+ * scripts/features/escape: Test escaped ":" in prerequisite lists.
+ See Savannah bug #12126.
+
* scripts/variables/private: Test appending private variables in
pattern-specific target rules. See Savannah bug #35468.
diff --git a/tests/scripts/features/escape b/tests/scripts/features/escape
index 36bab18..0d4427e 100644
--- a/tests/scripts/features/escape
+++ b/tests/scripts/features/escape
@@ -54,5 +54,13 @@ run_make_test(undef,
'sharp',
'foo#bar.ext = (foo#bar.ext)');
+# Test escaped colons in prerequisites
+# Quoting of backslashes in q!! is kind of messy.
+run_make_test(q!
+foo: foo\\:bar foo\\\\\\:bar foo\\\\\\\\\\:bar
+foo foo\\:bar foo\\\\\\:bar foo\\\\\\\\\\:bar: ; @echo '$@'
+!,
+ '', "foo:bar\nfoo\\:bar\nfoo\\\\:bar\nfoo\n");
+
# This tells the test driver that the perl test script executed properly.
1;
diff --git a/tests/scripts/features/se_explicit b/tests/scripts/features/se_explicit
index f942a1c..c3cade4 100644
--- a/tests/scripts/features/se_explicit
+++ b/tests/scripts/features/se_explicit
@@ -152,5 +152,13 @@ a%l: q1x $$+ q2x ; @echo '$+'
'', "q1x bar bar q2x bar bar\n");
-# This tells the test driver that the perl test script executed properly.
+# Allow patsubst shorthand in second expansion context.
+# Requires the colon to be quoted. Savannah bug #16545
+run_make_test(q!
+.PHONY: foo.bar
+.SECONDEXPANSION:
+foo: $$(@\\:%=%.bar); @echo '$^'
+!,
+ '', "foo.bar\n");
+
1;