Home | History | Annotate | Download | only in unit-tests
History log of /src/usr.bin/make/unit-tests/varmod-sysv.mk
RevisionDateAuthorComments
 1.24  30-Mar-2025  rillig make: let the ":t" modifiers fall back to the ":from=to" modifier

Suggested by https://bugs.freebsd.org/285726.

This means that the ":t" modifiers cannot have future extensions that
include a "=", as that may break existing code.
 1.23  29-Mar-2025  rillig make: add more details to error message about unfinished modifier

These details allow to quickly see the place where the syntax error is,
based on the surrounding lines from the stack trace.
 1.22  11-Jan-2025  rillig make: omit redundant follow-up message "Malformed conditional"

If there is a parse error or an evaluation error during the conditional,
the conditional is already mentioned in the "while evaluating condition"
line, so there's no reason to repeat it once again.

Same for the "Bad condition" message from the '?:' modifier.
 1.21  29-Aug-2024  rillig make: reduce line length in error messages

The error messages for deeply nested parse errors were hard to decipher,
due to the large amount of text. Split these messages into individual
lines, just as in the backtrace for .include files and .for loops. This
unified backtrace makes the output more uniform.
 1.20  06-Aug-2024  rillig make: in error message about conditionals, use single quotes

Single quotes are used less often in the conditionals themselves, which
leads to fewer confusions.
 1.19  04-Jul-2024  rillig make: add more context information to error messages

In case of a parse error or evaluation error, print the variable value
in addition to the variable name, to see the effects of previous
expression modifiers.

In nested make calls, print the current directory at the bottom of a
stack trace, as that information is otherwise hard to get in a parallel
build spanning multiple directories.
 1.18  30-Jun-2024  rillig make: error out on some more syntax errors

Previously, these errors only produced a message on stderr. They only
affected make's exit status when they were evaluated at parse time, but
not when evaluating the commands for a specific target right before
executing them.

The affected syntax errors are:
* invalid regular expressions in the ':C' modifier
* out-of-range references to regex groups in the ':C' modifier
* unfinished modifiers
 1.17  01-Jun-2024  rillig branches: 1.17.2;
tests/make: test more modifiers and special variables
 1.16  19-Nov-2023  rillig tests/make: replace 'variable expression' with 'expression'

Each expression is based on a variable, there's no need for the
verbosity. The wording in make's diagnostics will be changed in a
follow-up commit.
 1.15  01-Jun-2023  rillig tests/make: force line-based diagnostics to be listed in the tests

This way, contradictions between the intended output and the actual
output are closer together and have a better chance of being spotted.
 1.14  12-Apr-2021  rillig tests/make: fix test for modifier ':from=to'

I had forgotten to remove the single quotes, to produce a really empty
word. Plus I had forgotten the modifier ':Q' for the result, which
meant that the single quotes did not show up in the output.
 1.13  12-Apr-2021  rillig tests/make: add table test for the modifier ':from=to'

Just to prevent any accidental change in the upcoming refactoring to
reduce memory allocation in ApplyModifier_SysV.
 1.12  05-Dec-2020  rillig make(1): improve explanation of tests for the SysV modifier
 1.11  01-Nov-2020  rillig make(1): add another test case for the SysV modifier

The "special case" in ApplyModifier_SysV looks redundant since in
SysVMatch, the empty word does not match anything.
 1.10  01-Nov-2020  rillig make(1): add tests for parsing the SysV variable modifier
 1.9  31-Oct-2020  rillig make(1): merge the SysV modifier tests into varmod-sysv
 1.8  31-Oct-2020  rillig make(1): add tutorial for the :from=to variable modifier
 1.7  31-Oct-2020  rillig make(1): remove redundant code branch in SysVMatch

The general code path of parsing :from=to achieves the same effect.
 1.6  31-Oct-2020  rillig make(1): explain tests for the SysV variable modifier
 1.5  06-Oct-2020  rillig make(1): add test for double expansion in SySV modifier
 1.4  06-Oct-2020  rillig make(1): migrate SysV modifier test to use the preprocessor

When both the expected and the actual expression are written in the same
line of the same file, it is easier to compare them and to document
anything interesting. The exp file doesn't provide any space for
comments or explanations.
 1.3  23-Aug-2020  rillig make(1): move some of the SysV modifier tests into another file
 1.2  16-Aug-2020  rillig make(1): describe the purpose of each newly added unit test dummy
 1.1  16-Aug-2020  rillig make(1): add dummies for fine-grained tests, one per single feature

The test names have been derived from the current manual page.

All these tests are dummies right now, and the code from the existing
tests will be moved into the new tests step by step.

This is done to prevent modmisc, escape, varmod-edge and varmisc from
growing without any bounds, and to reduce the side-effects of one test
to the others.
 1.17.2.2  02-Aug-2025  perseant Sync with HEAD
 1.17.2.1  01-Jul-2024  perseant Sync with HEAD.

RSS XML Feed