]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/bmake/unit-tests/varparse-errors.mk
Merge bmake-20201117
[FreeBSD/FreeBSD.git] / contrib / bmake / unit-tests / varparse-errors.mk
1 # $NetBSD: varparse-errors.mk,v 1.1 2020/11/08 16:44:47 rillig Exp $
2
3 # Tests for parsing and evaluating all kinds of variable expressions.
4 #
5 # This is the basis for redesigning the error handling in Var_Parse and
6 # Var_Subst, collecting typical and not so typical use cases.
7 #
8 # See also:
9 #       VarParseResult
10 #       Var_Parse
11 #       Var_Subst
12
13 PLAIN=          plain value
14
15 LITERAL_DOLLAR= To get a dollar, double $$ it.
16
17 INDIRECT=       An ${:Uindirect} value.
18
19 REF_UNDEF=      A reference to an ${UNDEF}undefined variable.
20
21 ERR_UNCLOSED=   An ${UNCLOSED variable expression.
22
23 ERR_BAD_MOD=    An ${:Uindirect:Z} expression with an unknown modifier.
24
25 ERR_EVAL=       An evaluation error ${:Uvalue:C,.,\3,}.
26
27 # In a conditional, a variable expression that is not enclosed in quotes is
28 # expanded using the flags VARE_UNDEFERR and VARE_WANTRES.
29 # The variable itself must be defined.
30 # It may refer to undefined variables though.
31 .if ${REF_UNDEF} != "A reference to an undefined variable."
32 .  error
33 .endif
34
35 all: