freebsd-src/unit-tests/directive-for-escape.exp
Simon J. Gerraty cdde9e894d Import bmake-20220204
Features of interest:

Allow setting target local variables (similar to gmake)

In META_MODE .MAKE.META.CMP_FILTER can be used for filtering commands
before comparion.

contrib/bmake/mk/cc-wrap.mk is an example of using these

See ChangeLog for the gory details.
2022-02-05 12:03:50 -08:00

147 lines
4.6 KiB
Plaintext

For: end for 1
For: loop body:
. info ${:U!"#$%&'()*+,-./0-9\:;<=>?@A-Z[\\]_^a-z{|\}~}
make: Unclosed variable expression, expecting '}' for modifier "U!"" of variable "" with value "!""
make: "directive-for-escape.mk" line 19: !"
For: end for 1
For: loop body:
. info ${:U!"\\\\#$%&'()*+,-./0-9\:;<=>?@A-Z[\\]_^a-z{|\}~}
make: Unclosed variable expression, expecting '}' for modifier "U!"\\\\" of variable "" with value "!"\\"
make: "directive-for-escape.mk" line 29: !"\\
For: end for 1
For: loop body:
. info ${:U\$}
make: "directive-for-escape.mk" line 43: $
For: loop body:
. info ${:U${V}}
make: "directive-for-escape.mk" line 43: value
For: loop body:
. info ${:U${V:=-with-modifier}}
make: "directive-for-escape.mk" line 43: value-with-modifier
For: loop body:
. info ${:U$(V)}
make: "directive-for-escape.mk" line 43: value
For: loop body:
. info ${:U$(V:=-with-modifier)}
make: "directive-for-escape.mk" line 43: value-with-modifier
For: end for 1
For: loop body:
. info ${:U\${UNDEF\:U\\$\\$}
make: "directive-for-escape.mk" line 72: ${UNDEF:U\backslash$
For: loop body:
. info ${:U{{\}\}}
make: "directive-for-escape.mk" line 72: {{}}
For: loop body:
. info ${:Uend\}}
make: "directive-for-escape.mk" line 72: end}
For: end for 1
For: loop body:
. info ${:Ubegin<${UNDEF:Ufallback:N{{{}}}}>end}
make: "directive-for-escape.mk" line 84: begin<fallback>end
For: end for 1
For: loop body:
. info ${:U\$}
make: "directive-for-escape.mk" line 92: $
For: end for 1
For: loop body:
. info ${NUMBERS} ${:Ureplaced}
make: "directive-for-escape.mk" line 100: one two three replaced
For: end for 1
For: loop body:
. info ${:Ureplaced}
make: "directive-for-escape.mk" line 110: replaced
For: end for 1
For: loop body:
. info . $$i: ${:Uinner}
. info . $${i}: ${:Uinner}
. info . $${i:M*}: ${:Uinner:M*}
. info . $$(i): $(:Uinner)
. info . $$(i:M*): $(:Uinner:M*)
. info . $${i$${:U}}: ${i${:U}}
. info . $${i\}}: ${:Uinner\}} # XXX: unclear why ForLoop_SubstVarLong needs this
. info . $${i2}: ${i2}
. info . $${i,}: ${i,}
. info . adjacent: ${:Uinner}${:Uinner}${:Uinner:M*}${:Uinner}
make: "directive-for-escape.mk" line 118: . $i: inner
make: "directive-for-escape.mk" line 119: . ${i}: inner
make: "directive-for-escape.mk" line 120: . ${i:M*}: inner
make: "directive-for-escape.mk" line 121: . $(i): inner
make: "directive-for-escape.mk" line 122: . $(i:M*): inner
make: "directive-for-escape.mk" line 123: . ${i${:U}}: outer
make: "directive-for-escape.mk" line 124: . ${i\}}: inner}
make: "directive-for-escape.mk" line 125: . ${i2}: two
make: "directive-for-escape.mk" line 126: . ${i,}: comma
make: "directive-for-escape.mk" line 127: . adjacent: innerinnerinnerinner
For: end for 1
For: loop body:
. info eight $$$$$$$$ and no cents.
. info eight ${:Udollar}${:Udollar}${:Udollar}${:Udollar} and no cents.
make: "directive-for-escape.mk" line 135: eight $$$$ and no cents.
make: "directive-for-escape.mk" line 136: eight dollardollardollardollar and no cents.
make: "directive-for-escape.mk" line 145: eight and no cents.
For: end for 1
make: "directive-for-escape.mk" line 152: newline in .for value
make: "directive-for-escape.mk" line 152: newline in .for value
For: loop body:
. info short: ${:U" "}
. info long: ${:U" "}
make: "directive-for-escape.mk" line 153: short: " "
make: "directive-for-escape.mk" line 154: long: " "
For: end for 1
For: loop body:
For: end for 1
Parse_PushInput: .for loop in directive-for-escape.mk, line 167
make: "directive-for-escape.mk" line 167: newline in .for value
in .for loop from directive-for-escape.mk:167 with i = "
"
For: loop body:
: ${:U" "}
SetFilenameVars: ${.PARSEDIR} = <some-dir> ${.PARSEFILE} = `directive-for-escape.mk'
Parsing line 168: : ${:U" "}
ParseDependency(: " ")
ParseEOF: returning to file directive-for-escape.mk, line 170
SetFilenameVars: ${.PARSEDIR} = <some-dir> ${.PARSEFILE} = `directive-for-escape.mk'
Parsing line 170: .MAKEFLAGS: -d0
ParseDependency(.MAKEFLAGS: -d0)
For: end for 1
For: loop body:
# ${:U#}
For: loop body:
# ${:U\\\\#}
For: end for 1
For: loop body:
# ${:U\$}
For: loop body:
# ${:U$i}
For: loop body:
# ${:U$(i)}
For: loop body:
# ${:U${i}}
For: loop body:
# ${:U$$}
For: loop body:
# ${:U$$$$}
For: loop body:
# ${:U${:U\$\$}}
For: end for 1
For: loop body:
# ${:U${.TARGET}}
For: loop body:
# ${:U${.TARGET}}
For: loop body:
# ${:U$${.TARGET\}}
For: loop body:
# ${:U$${.TARGET\}}
For: end for 1
For: loop body:
# ${:U(((}
For: loop body:
# ${:U{{{}
For: loop body:
# ${:U)))}
For: loop body:
# ${:U\}\}\}}
make: Fatal errors encountered -- cannot continue
make: stopped in unit-tests
exit status 1