Module Name: src
Committed By: rillig
Date: Fri Oct 9 07:03:20 UTC 2020
Modified Files:
src/usr.bin/make/unit-tests: varmod-ifelse.mk
Log Message:
make(1): add test for parsing the :? variable modifier
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/usr.bin/make/unit-tests/varmod-ifelse.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/varmod-ifelse.mk
diff -u src/usr.bin/make/unit-tests/varmod-ifelse.mk:1.3 src/usr.bin/make/unit-tests/varmod-ifelse.mk:1.4
--- src/usr.bin/make/unit-tests/varmod-ifelse.mk:1.3 Fri Oct 2 20:34:59 2020
+++ src/usr.bin/make/unit-tests/varmod-ifelse.mk Fri Oct 9 07:03:20 2020
@@ -1,12 +1,19 @@
-# $NetBSD: varmod-ifelse.mk,v 1.3 2020/10/02 20:34:59 rillig Exp $
+# $NetBSD: varmod-ifelse.mk,v 1.4 2020/10/09 07:03:20 rillig Exp $
#
# Tests for the ${cond:?then:else} variable modifier, which evaluates either
# the then-expression or the else-expression, depending on the condition.
# TODO: Implementation
-# TODO: Test another modifier after ifelse; does not work, it becomes part
-# of the else branch.
+# When the :? is parsed, it is greedy. The else branch spans all the
+# text, up until the closing character '}', even if the text looks like
+# another modifier.
+.if ${1:?then:else:Q} != "then"
+. error
+.endif
+.if ${0:?then:else:Q} != "else:Q"
+. error
+.endif
all:
@:;