1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-01 08:27:59 +00:00
freebsd/unit-tests/varmod-match-escape.exp
Simon J. Gerraty ee914ef902 Import bmake-20210621
Lots more unit tests and code cleanup

Relevant changes from ChangeLog

	o job.c: Print -de error information when running multiple jobs
	o var.c: only report error for unmatched regex subexpression
	when linting (-dL) since we cannot tell when an unmatched
	subexpression is an expected result.
	reduce memory allocations in the modifiers ':D' and ':U'
	reduce memory allocation and strlen calls in modifier ':from=to'
	in the ':Q' modifier, only allocate memory if necessary
	improve performance for LazyBuf
	reduce debug logging and memory allocation for ${:U...}
	reduce verbosity of the -dv debug logging for standard cases
	fix double varname expansion in the variable modifier '::='
	o var.c: avoid evaluating many modifiers in parse only mode
	in strict mode (-dL) many variable references are parsed twice,
	the first time just to report parse errors early, so we want to
	avoid side effects and wasted effort to the extent possible.
2021-06-25 11:16:24 -07:00

40 lines
1.7 KiB
Plaintext
Executable File

Global: SPECIALS = \: : \\ * \*
CondParser_Eval: ${SPECIALS:M${:U}\:} != ${SPECIALS:M\:${:U}}
Var_Parse: ${SPECIALS:M${:U}\:} != ${SPECIALS:M\:${:U}} (eval-defined)
Evaluating modifier ${SPECIALS:M...} on value "\: : \\ * \*"
Pattern for ':M' is "\:"
ModifyWords: split "\: : \\ * \*" into 5 words
Result of ${SPECIALS:M${:U}\:} is ":"
Var_Parse: ${SPECIALS:M\:${:U}} (eval-defined)
Evaluating modifier ${SPECIALS:M...} on value "\: : \\ * \*"
Pattern for ':M' is ":"
ModifyWords: split "\: : \\ * \*" into 5 words
Result of ${SPECIALS:M\:${:U}} is ":"
lhs = ":", rhs = ":", op = !=
Global: VALUES = : :: :\:
CondParser_Eval: ${VALUES:M\:${:U\:}} != ${VALUES:M${:U\:}\:}
Var_Parse: ${VALUES:M\:${:U\:}} != ${VALUES:M${:U\:}\:} (eval-defined)
Evaluating modifier ${VALUES:M...} on value ": :: :\:"
Var_Parse: ${:U:} (eval-defined)
Evaluating modifier ${:U} on value "" (eval-defined, undefined)
Result of ${:U} is "" (eval-defined, defined)
Pattern for ':M' is ":"
ModifyWords: split ": :: :\:" into 3 words
Result of ${VALUES:M\:${:U\:}} is ":"
Var_Parse: ${VALUES:M${:U\:}\:} (eval-defined)
Evaluating modifier ${VALUES:M...} on value ": :: :\:"
Var_Parse: ${:U\:}\: (eval-defined)
Evaluating modifier ${:U...} on value "" (eval-defined, undefined)
Result of ${:U\:} is ":" (eval-defined, defined)
Pattern for ':M' is ":\:"
ModifyWords: split ": :: :\:" into 3 words
Result of ${VALUES:M${:U\:}\:} is "::"
lhs = ":", rhs = "::", op = !=
make: "varmod-match-escape.mk" line 42: warning: XXX: Oops
Global: .MAKEFLAGS = -r -k -d cv -d
Global: .MAKEFLAGS = -r -k -d cv -d 0
make: "varmod-match-escape.mk" line 67: Dollar followed by nothing
make: Fatal errors encountered -- cannot continue
make: stopped in unit-tests
exit status 1