Home | History | Annotate | Download | only in unit-tests
History log of /src/usr.bin/make/unit-tests/check-expect.lua
RevisionDateAuthorComments
 1.17  01-Jul-2025  rillig tests/make: detect unintended "expect" lines in the .mk files
 1.16  01-Jul-2025  rillig tests/make: require "expect" comments to start a line

Lua's string.gmatch function doesn't allow the anchor "^"; but its
string.gsub function does.
 1.15  30-Jun-2025  rillig tests/make: force expected lines to be listed in execution order

The diagnostics from the program to check the "expect" lines in the unit
test files were hard to follow since the "out-of-order" lines were
confusing. For out-of-order lines, state where they should be placed
instead.
 1.14  29-Jun-2025  rillig tests/make: sort missing messages using a stable algorithm

Lua's table.sort does not provide a stable sort. No idea how this could
go unnoticed for two years and a few days.

Noticed in directive-for-escape.mk, which has several diagnostics in the
same location, in the body of .for loops.
 1.13  13-Apr-2025  rillig tests/make: add tests for POSIX mode
 1.12  30-Mar-2025  rillig make: use '"filename" line 123' for locations instead of 'filename:123'

The format 'filename:123' is commonly used for identifying a location in
a file. Text editors recognize it and allow quick navigation through it.
The previous format was specific to make and would have required custom
support in editors.

The new format was already used in stack traces, except for the first
line. Now all lines use the same format.
 1.11  29-Mar-2025  rillig make: in stack traces from target commands, add the command level

A target can contain several commands, and these commands are likely to
contain the same expressions. To distinguish them, add one more line to
the stack trace, to narrow down the source of the error.
 1.10  11-Jan-2025  rillig tests/make: force correct order of expected messages
 1.9  20-Jul-2024  rillig make: don't run erroneous commands in compat mode

When there is a parse or evaluation error in an expression that becomes
part of the command, don't run that command, as the result of the failed
evaluation typically contains garbage characters. Skip the remaining
commands from that target as well, as they may depend on the erroneous
command.
 1.8  17-Dec-2023  rillig branches: 1.8.2;
tests/make: in 'expect' lines, require the complete text of the line
 1.7  23-Jun-2023  rillig tests/make: sort missing 'expect' comments by their location
 1.6  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.5  01-Jun-2023  rillig tests/make: clean up comments, extend a few tests
 1.4  09-May-2023  rillig make: skip syntactically wrong .for loops

When a .for loop cannot be interpreted correctly, for example when there
are no iteration variables or the number of words doesn't match the
iteration variables, skip the body of the .for loop instead of
interpreting it once.
 1.3  15-Apr-2022  rillig tests/make: adjust expectations to actual behavior

The bug in deptgt-silent-jobs.mk has been fixed, the debug logging for
comparing conditions and for deleting global variables has changed
intentionally.
 1.2  29-Jan-2022  rillig tests/make: extend and isolate tests for target-local variables

Reusing the target var-scope-local.o for several tests made the test
more difficult to understand than necessary. The test names '2' and '3'
didn't convey any meaning.

Instead, add more test targets that are named after what they test. Add
tests for each of the 5 variable assignment operators, to demonstrate an
inconsistency between '+=' and '?='.

Add tests for the built-in target-local variables as well and explain
the general concepts, in particular the exact point where target-local
expressions are expanded.

The lines in the expected output file are not generated in the same
order as they appear in the makefile, so allow the 'expect' lines in
non-linear order, in check-expect.lua.
 1.1  15-Jan-2022  rillig tests/make: ensure that the 'expect' comments in tests are correct

Based on tests/usr.bin/xlint/check-expect.lua.

For now, this extra check needs to be run manually.
 1.8.2.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed