Module Name: src
Committed By: rillig
Date: Sun Apr 25 21:05:38 UTC 2021
Modified Files:
src/usr.bin/make/unit-tests: cond-token-var.mk
Log Message:
tests/make: add tests for ${...} without operator in conditions
These tests are already covered in cond-cmp-unary.mk, but my first guess
was to search for these tests in cond-token-var.mk, so keep them in both
tests.
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/usr.bin/make/unit-tests/cond-token-var.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/cond-token-var.mk
diff -u src/usr.bin/make/unit-tests/cond-token-var.mk:1.5 src/usr.bin/make/unit-tests/cond-token-var.mk:1.6
--- src/usr.bin/make/unit-tests/cond-token-var.mk:1.5 Sun Nov 15 14:58:14 2020
+++ src/usr.bin/make/unit-tests/cond-token-var.mk Sun Apr 25 21:05:38 2021
@@ -1,4 +1,4 @@
-# $NetBSD: cond-token-var.mk,v 1.5 2020/11/15 14:58:14 rillig Exp $
+# $NetBSD: cond-token-var.mk,v 1.6 2021/04/25 21:05:38 rillig Exp $
#
# Tests for variable expressions in .if conditions.
#
@@ -46,3 +46,24 @@ DEF= defined
# Since the expression is defined now, it doesn't generate any parse error.
.if ${UNDEF:U}
.endif
+
+# If the value of the variable expression is a number, it is compared against
+# zero.
+.if ${:U0}
+. error
+.endif
+.if !${:U1}
+. error
+.endif
+
+# If the value of the variable expression is not a number, any non-empty
+# value evaluates to true, even if there is only whitespace.
+.if ${:U}
+. error
+.endif
+.if !${:U }
+. error
+.endif
+.if !${:Uanything}
+. error
+.endif