Home | History | Annotate | Line # | Download | only in unit-tests
vardebug.mk revision 1.10.2.1
      1  1.10.2.1  perseant # $NetBSD: vardebug.mk,v 1.10.2.1 2025/08/02 05:58:38 perseant Exp $
      2       1.1    rillig #
      3       1.1    rillig # Demonstrates the debugging output for var.c.
      4       1.1    rillig 
      5       1.4    rillig .MAKEFLAGS: -dv FROM_CMDLINE=
      6       1.1    rillig 
      7       1.9    rillig # expect: Global: VAR = added
      8       1.1    rillig VAR=		added		# VarAdd
      9       1.9    rillig # expect: Global: VAR = overwritten
     10       1.1    rillig VAR=		overwritten	# Var_Set
     11       1.9    rillig # expect: Global: delete VAR
     12       1.9    rillig .undef VAR
     13       1.9    rillig # expect: Global: ignoring delete 'VAR' as it is not found
     14       1.9    rillig .undef VAR
     15       1.1    rillig 
     16       1.1    rillig # The variable with the empty name cannot be set at all.
     17       1.9    rillig # expect: Global: ignoring ' = empty name' as the variable name '${:U}' expands to empty
     18       1.1    rillig ${:U}=		empty name	# Var_Set
     19       1.9    rillig # expect: Global: ignoring ' += empty name' as the variable name '${:U}' expands to empty
     20       1.1    rillig ${:U}+=		empty name	# Var_Append
     21       1.1    rillig 
     22       1.1    rillig FROM_CMDLINE=	overwritten	# Var_Set (ignored)
     23       1.1    rillig 
     24       1.9    rillig # expect: Global: VAR = 1
     25       1.1    rillig VAR=		1
     26       1.9    rillig # expect: Global: VAR = 1 2
     27       1.1    rillig VAR+=		2
     28       1.9    rillig # expect: Global: VAR = 1 2 3
     29       1.1    rillig VAR+=		3
     30       1.1    rillig 
     31       1.9    rillig # expect: Pattern for ':M' is "[2]"
     32       1.9    rillig # expect: Result of ${VAR:M[2]} is "2"
     33       1.6    rillig .if ${VAR:M[2]}			# ModifyWord_Match
     34       1.1    rillig .endif
     35       1.9    rillig # expect: Pattern for ':N' is "[2]"
     36       1.9    rillig # expect: Result of ${VAR:N[2]} is "1 3"
     37       1.9    rillig .if ${VAR:N[2]}			# ModifyWord_NoMatch
     38       1.1    rillig .endif
     39       1.1    rillig 
     40       1.6    rillig .if ${VAR:S,2,two,}		# ParseModifierPart
     41       1.1    rillig .endif
     42       1.1    rillig 
     43       1.9    rillig # expect: Result of ${VAR:Q} is "1\ 2\ 3"
     44       1.1    rillig .if ${VAR:Q}			# VarQuote
     45       1.1    rillig .endif
     46       1.1    rillig 
     47       1.1    rillig .if ${VAR:tu:tl:Q}		# ApplyModifiers
     48       1.1    rillig .endif
     49       1.1    rillig 
     50       1.2    rillig # ApplyModifiers, "Got ..."
     51  1.10.2.1  perseant # expect: Result of ${:Mvalu[e]} is "value" (eval, defined)
     52       1.2    rillig .if ${:Uvalue:${:UM*e}:Mvalu[e]}
     53       1.2    rillig .endif
     54       1.2    rillig 
     55       1.9    rillig # expect: Global: delete VAR
     56       1.1    rillig .undef ${:UVAR}			# Var_Delete
     57       1.1    rillig 
     58  1.10.2.1  perseant # expect+1: Unknown modifier ":unknown"
     59       1.3    rillig .if ${:Uvariable:unknown}
     60       1.3    rillig .endif
     61       1.3    rillig 
     62  1.10.2.1  perseant # expect+1: Variable "UNDEFINED" is undefined
     63       1.3    rillig .if ${UNDEFINED}
     64       1.3    rillig .endif
     65       1.3    rillig 
     66       1.5    rillig # By default, .SHELL is not defined and thus can be set.  As soon as it is
     67       1.7    rillig # accessed, it is initialized in the command line scope (during VarFind),
     68       1.5    rillig # where it is set to read-only.  Assigning to it is ignored.
     69       1.9    rillig # expect: Command: ignoring '.SHELL = overwritten' as it is read-only
     70       1.5    rillig .MAKEFLAGS: .SHELL=overwritten
     71       1.5    rillig 
     72  1.10.2.1  perseant DYN = ${:U$@} $@ ${@}
     73  1.10.2.1  perseant # expect: Global: DYN = $(.TARGET) $(.TARGET) ${@}
     74  1.10.2.1  perseant DYN := ${DYN}
     75  1.10.2.1  perseant 
     76       1.4    rillig .MAKEFLAGS: -d0
     77