Home | History | Annotate | Download | only in unit-tests
History log of /src/usr.bin/make/unit-tests/varname-empty.exp
RevisionDateAuthorComments
 1.24  20-May-2025  sjg Revert export of MAKEFLAGS from Cmd_Exec

Until we work out what the issue is.
Revert related unit-test changes as well
 1.23  18-May-2025  sjg make: Cmd_Exec call Main_ExportMAKEFLAGS

export MAKEFLAGS the fist time Cmd_Exec is called.
This allows ${.MAKE} run via x!= to see them.

Remove test case from varname-dot-makeflags that checked
this does not happen.

Reviewed by: christos
 1.22  20-Dec-2023  rillig make: use consistent debug messages style when ignoring variables

When a variable is not modified or not deleted, clearly say so and state
the reason. Use the same style of debug messages everywhere, putting
the word 'ignoring' at the front. Previously, that word sticked out to
the right, but only in some cases.
 1.21  20-Dec-2023  rillig make: fix confusing debug logging when deleting a variable

Be clear when deleting a variable is ignored and state the reason,
instead of only providing a keyword as a hint for insiders.
 1.20  26-Mar-2022  rillig make: avoid trailing whitespace in debug log for variables

Since trailing whitespace is invisible, describe the variable value in
words to make it visible.
 1.19  26-Mar-2022  rillig make: add space after colon in debug logging for variables

These log messages are intended for human interpretation, so don't make
them unnecessarily hard to read.
 1.18  10-Jan-2022  rillig make: add debug logging for capturing the output of external commands

This applies to all 4 situations in which the output of an external
command is used for modifying a variable or an expression:

* the assignment operator '!='
* the assignment modifier '::!='
* the SUN shell modifier ':sh'
* the other shell modifier ':!cmd!'

Previously, only the shell modifier ':!cmd!' had debug logging.

Suggested by Christoph Badura.
 1.17  19-Oct-2021  sjg Replace ${.OBJDIR} with <curdir> for consistent results.

If we replace ${.OBJDIR} with <objdir> some tests produce
different results depending on the value of .OBJDIR

For similar reasons eliminate .OBJDIR and .PATH from output of
varname-empty

Reviewed by: rillig
 1.16  14-Apr-2021  rillig make: remove unnecessary modifier ':U' for certain fixed expressions

No functional change, since the expression is evaluated using
VARE_WANTRES, not using VARE_UNDEFERR.
 1.15  10-Apr-2021  rillig make: reword debug log message for empty variable name

The function names did not match anymore, after one of the many
refactorings in the last few months.
 1.14  10-Apr-2021  rillig make: reduce debug logging and memory allocation for ${:U...}

Expressions of the form ${:U...} are often generated by .for loops.
Since these expressions are not generated knowingly by the make user, do
not fill the debug log with them since that would interrupt the normal
reading flow of the -dv log for nested expressions.
 1.13  05-Apr-2021  rillig make: in debug log, add space between scope and variable name

Without this space, the debug log looked more like line noise, even
though the only punctuation was a single innocent ':'. From a make
user's perspective, the variable name is a word of its own and should
not be visually glued to its namespace.
 1.12  05-Apr-2021  rillig make: be more verbose in -dv debug logging

The previous log output was too brief to be understandable. Give more
hints by describing each part of the expression when evaluating a
modifier. Distinguish between parse-only mode and eval mode since in
parse-only mode most of the details are irrelevant.
 1.11  03-Apr-2021  rillig make: remove VarFlags from debug logging

Before the introduction of ExprDefined, VarFlags contained whether the
expression was defined or not, which was useful to know since the final
value of the expression depends on this information. The other VarFlags
do not influence the evaluation, so there is no point logging them.
 1.10  15-Mar-2021  rillig make: change debug log for variable evaluation flags to lowercase

This makes them easier distinguishable from variable names since the
latter are usually uppercase.

No functional change outside debug mode.
 1.9  15-Feb-2021  rillig make: rename ExprDefined constants for debug logging
 1.8  04-Feb-2021  rillig make: remove .PARSEDIR from test output of varname-empty

The .PARSEDIR has nothing to do with .CURDIR. This wrong assumption
made the NetBSD test suite fail since the actual .PARSEDIR was not
replaced with "<curdir>".
 1.7  03-Feb-2021  rillig make: fix double expansion when appending to a new variable
 1.6  03-Feb-2021  rillig make: in the test varname-empty, keep more debug output

Filtering out the interesting lines based on the very specific pattern
"Var_Set" was surprising.
 1.5  15-Nov-2020  rillig make(1): fix typo in test for variable with empty name
 1.4  23-Oct-2020  rillig make(1): add tests for the variable named ""
 1.3  22-Aug-2020  rillig make(1): try to set the variable named "" using the command line

Before 2020-08-22, the command line argument '=cmline-plain' triggered
undefined behavior, just like the assignment '=assigned' in the Makefile.
 1.2  22-Aug-2020  rillig make(1): prevent assignment to the variable with the empty name
 1.1  22-Aug-2020  rillig make(1): add test for assigning to the variable named ""

This has been possible at least since 2013, probably much longer.

RSS XML Feed