tests/make: convert test for ':_' modifier to parse time

This commit is contained in:
rillig 2021-03-14 17:07:11 +00:00
parent 64a393d8af
commit d905f14720
2 changed files with 11 additions and 5 deletions

View File

@ -1,3 +1 @@
1 2 3 1 2 3 1 2 3
1 2 3, SAVED=3
exit status 0

View File

@ -1,12 +1,20 @@
# $NetBSD: varmod-remember.mk,v 1.3 2020/08/23 15:18:43 rillig Exp $
# $NetBSD: varmod-remember.mk,v 1.4 2021/03/14 17:07:11 rillig Exp $
#
# Tests for the :_ modifier, which saves the current variable value
# in the _ variable or another, to be used later again.
.if ${1 2 3:L:_:@var@${_}@} != "1 2 3 1 2 3 1 2 3"
. error
.endif
# In the parameterized form, having the variable name on the right side of
# the = assignment operator is confusing. In almost all other situations
# the variable name is on the left-hand side of the = operator. Luckily
# this modifier is only rarely needed.
.if ${1 2 3:L:@var@${var:_=SAVED:}@} != "1 2 3"
. error
.elif ${SAVED} != "3"
. error
.endif
all:
@echo ${1 2 3:L:_:@var@${_}@}
@echo ${1 2 3:L:@var@${var:_=SAVED:}@}, SAVED=${SAVED}