Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/make/unit-tests make(1): add test for recursion dete...
details: https://anonhg.NetBSD.org/src/rev/fb3e69f814d5
branches: trunk
changeset: 1015745:fb3e69f814d5
user: rillig <rillig%NetBSD.org@localhost>
date: Sat Oct 31 13:45:00 2020 +0000
description:
make(1): add test for recursion detection with short variable names
diffstat:
usr.bin/make/unit-tests/var-recursive.exp | 3 +++
usr.bin/make/unit-tests/var-recursive.mk | 12 ++++++++++--
2 files changed, 13 insertions(+), 2 deletions(-)
diffs (41 lines):
diff -r 6c3adae5d40d -r fb3e69f814d5 usr.bin/make/unit-tests/var-recursive.exp
--- a/usr.bin/make/unit-tests/var-recursive.exp Sat Oct 31 13:28:22 2020 +0000
+++ b/usr.bin/make/unit-tests/var-recursive.exp Sat Oct 31 13:45:00 2020 +0000
@@ -6,4 +6,7 @@
make: stopped in unit-tests
make: "var-recursive.mk" line 35: ok
+Variable V is recursive.
+
+make: stopped in unit-tests
exit status 0
diff -r 6c3adae5d40d -r fb3e69f814d5 usr.bin/make/unit-tests/var-recursive.mk
--- a/usr.bin/make/unit-tests/var-recursive.mk Sat Oct 31 13:28:22 2020 +0000
+++ b/usr.bin/make/unit-tests/var-recursive.mk Sat Oct 31 13:45:00 2020 +0000
@@ -1,9 +1,9 @@
-# $NetBSD: var-recursive.mk,v 1.1 2020/10/31 11:30:57 rillig Exp $
+# $NetBSD: var-recursive.mk,v 1.2 2020/10/31 13:45:00 rillig Exp $
#
# Tests for variable expressions that refer to themselves and thus
# cannot be evaluated.
-TESTS= direct indirect conditional
+TESTS= direct indirect conditional short
# Since make exits immediately when it detects a recursive expression,
# the actual tests are run in sub-makes.
@@ -34,6 +34,14 @@
CONDITIONAL= ${1:?ok:${CONDITIONAL}}
. info ${CONDITIONAL}
+.elif ${TEST} == short
+
+# Short variable names can be expanded using the short-hand $V notation,
+# which takes a different code path in Var_Parse for parsing the variable
+# name. Ensure that these are checked as well.
+V= $V
+. info $V
+
.else
. error Unknown test "${TEST}"
.endif
Home |
Main Index |
Thread Index |
Old Index