summaryrefslogtreecommitdiff
path: root/unit-tests/varparse-dynamic.mk
diff options
context:
space:
mode:
Diffstat (limited to 'unit-tests/varparse-dynamic.mk')
-rw-r--r--unit-tests/varparse-dynamic.mk13
1 files changed, 12 insertions, 1 deletions
diff --git a/unit-tests/varparse-dynamic.mk b/unit-tests/varparse-dynamic.mk
index 724cca3a5035..228eb17475b0 100644
--- a/unit-tests/varparse-dynamic.mk
+++ b/unit-tests/varparse-dynamic.mk
@@ -1,4 +1,4 @@
-# $NetBSD: varparse-dynamic.mk,v 1.1 2020/07/26 22:15:36 rillig Exp $
+# $NetBSD: varparse-dynamic.mk,v 1.2 2020/09/13 21:00:34 rillig Exp $
# Before 2020-07-27, there was an off-by-one error in Var_Parse that skipped
# the last character in the variable name.
@@ -10,5 +10,16 @@
.if ${.TARGXX} # 2 characters difference, must be defined
.endif
+# When a dynamic variable (such as .TARGET) is evaluated in the global
+# context, it is not yet ready to be expanded. Therefore the complete
+# expression is returned as the variable value, hoping that it can be
+# resolved at a later point.
+#
+# This test covers the code in Var_Parse that deals with VAR_JUNK but not
+# VAR_KEEP for dynamic variables.
+.if ${.TARGET:S,^,,} != "\${.TARGET:S,^,,}"
+. error
+.endif
+
all:
@: