Module Name: src
Committed By: rillig
Date: Sun Oct 25 14:55:23 UTC 2020
Modified Files:
src/usr.bin/make/unit-tests: directive-for.exp directive-for.mk
Log Message:
make(1): add test for escaping parentheses and braces in .for loops
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/usr.bin/make/unit-tests/directive-for.exp
cvs rdiff -u -r1.6 -r1.7 src/usr.bin/make/unit-tests/directive-for.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/make/unit-tests/directive-for.exp
diff -u src/usr.bin/make/unit-tests/directive-for.exp:1.4 src/usr.bin/make/unit-tests/directive-for.exp:1.5
--- src/usr.bin/make/unit-tests/directive-for.exp:1.4 Tue Sep 22 19:08:48 2020
+++ src/usr.bin/make/unit-tests/directive-for.exp Sun Oct 25 14:55:23 2020
@@ -2,4 +2,16 @@ make: "directive-for.mk" line 100: outer
make: "directive-for.mk" line 125: a:\ a:\file.txt
make: "directive-for.mk" line 125: d:\\
make: "directive-for.mk" line 125: d:\\file.txt
+make: "directive-for.mk" line 132: ( ( (
+make: "directive-for.mk" line 132: [ [ [
+make: "directive-for.mk" line 132: { { {
+make: "directive-for.mk" line 132: ) ) )
+make: "directive-for.mk" line 132: ] ] ]
+make: "directive-for.mk" line 132: } } }
+make: "directive-for.mk" line 132: (()) (()) (())
+make: "directive-for.mk" line 132: [[]] [[]] [[]]
+make: "directive-for.mk" line 132: {{}} {{}} {{}}
+make: "directive-for.mk" line 132: )( )( )(
+make: "directive-for.mk" line 132: ][ ][ ][
+make: "directive-for.mk" line 132: }{ }{ }{
exit status 0
Index: src/usr.bin/make/unit-tests/directive-for.mk
diff -u src/usr.bin/make/unit-tests/directive-for.mk:1.6 src/usr.bin/make/unit-tests/directive-for.mk:1.7
--- src/usr.bin/make/unit-tests/directive-for.mk:1.6 Sat Oct 24 08:50:17 2020
+++ src/usr.bin/make/unit-tests/directive-for.mk Sun Oct 25 14:55:23 2020
@@ -1,4 +1,4 @@
-# $NetBSD: directive-for.mk,v 1.6 2020/10/24 08:50:17 rillig Exp $
+# $NetBSD: directive-for.mk,v 1.7 2020/10/25 14:55:23 rillig Exp $
#
# Tests for the .for directive.
@@ -125,5 +125,12 @@ EXPANSION${plus}= value
. info ${path}
.endfor
+# Ensure that braces and parentheses are properly escaped by the .for loop.
+# Each line must print the same word 3 times.
+# See GetEscapes.
+.for v in ( [ { ) ] } (()) [[]] {{}} )( ][ }{
+. info $v ${v} $(v)
+.endfor
+
all:
@:;