History log of /src/usr.bin/make/unit-tests/check-expect.lua |
Revision | | Date | Author | Comments |
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
|