Home | History | Annotate | Line # | Download | only in unit-tests
      1  1.18  rillig # $NetBSD: vardebug.mk,v 1.18 2025/03/29 19:08:52 rillig 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.16  rillig # 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.18  rillig # expect+1: Unknown modifier ":unknown"
     59   1.3  rillig .if ${:Uvariable:unknown}
     60   1.3  rillig .endif
     61   1.3  rillig 
     62  1.16  rillig # 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.16  rillig DYN = ${:U$@} $@ ${@}
     73  1.16  rillig # expect: Global: DYN = $(.TARGET) $(.TARGET) ${@}
     74  1.16  rillig DYN := ${DYN}
     75  1.16  rillig 
     76   1.4  rillig .MAKEFLAGS: -d0
     77