| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2023-07-01 | tests/make: show how to use indirect conditions in the '?:' modifier | rillig | |
| 2023-06-28 | tests/make: extend test for the 'empty' function in conditions | rillig | |
| 2023-06-23 | tests/make: explain and extend tests for expansion in .for loops | rillig | |
| 2023-06-23 | make: warn about malformed patterns in ':M', ':N' and '.if make(...)' | rillig | |
| These patterns shouldn't occur in practice, as their results are tricky to predict. Generate a warning for now, and maybe an error later. Reviewed by sjg@. | |||
| 2023-06-23 | tests/make: sort missing 'expect' comments by their location | rillig | |
| 2023-06-22 | tests/make: demonstrate inconsistency in pattern matching with ranges | rillig | |
| 2023-06-22 | tests/make: fix line numbers in test result, since the previous commit | rillig | |
| 2023-06-22 | make: speed up pattern matching in the ':M' and ':N' modifiers | rillig | |
| In the code coverage report, the highest count for Str_Match goes from 5,298,924 down to 79,646. | |||
| 2023-06-22 | make: clean up comments related to pattern matching | rillig | |
| 2023-06-21 | Cleanup guard tests | sjg | |
| The .PARSEFILE:tA tests add no value, the correct form is ${.PARSEDIR:tA}/${.PARSEFILE} but even there :tA rarely matters. | |||
| 2023-06-21 | make: skip a file protected by a multiple-inclusion guard more often | rillig | |
| In practice, the common situation is that a file is first included, defines its multiple-inclusion guard and is then skipped instead of being included again. The other way round is that the multiple-inclusion guard is defined when the file is included first. In that case, the file is now regarded as guarded as well. | |||
| 2023-06-21 | tests/make: document how wildcards behave in a dependency declaration | rillig | |
| 2023-06-21 | tests/make: clean up and extend tests for multiple-inclusion guards | rillig | |
| Multiple-inclusion guards can be defined either as variables or as targets. Rename the variable tests so they include the word 'variable'. Add tests to cover special characters in guard names (both variable and target), just in case ParseVarnameGuard gets removed someday. Document the pitfalls associated with choosing a naming scheme for guards that leads to name clashes, such as with .PARSEFILE without .PARSEDIR. | |||
| 2023-06-21 | tests/make: document a few tests | rillig | |
| 2023-06-21 | Allow guard targets to use variables. | sjg | |
| I commonly use __${.PARSEDIR:tA}__ where a unique guard is needed, __${.PARSEDIR}__ is also useful in many cases. Combination of patch from rillig and mine | |||
| 2023-06-20 | make: allow targets to be used as multiple-inclusion guards | rillig | |
| This style is used by FreeBSD, among others. | |||
| 2023-06-19 | tests/make: test triple negation in '.ifndef' | rillig | |
| 2023-06-19 | make: add tests for full code coverage of multiple-inclusion guards | rillig | |
| 2023-06-19 | Test that .undef of readOnly variable fails | sjg | |
| 2023-06-19 | make: if a makefile is protected by a guard, only include it once | rillig | |
| "looks reasonable" sjg@ | |||
| 2023-06-18 | tests/make: clean up test for multiple-inclusion guards | rillig | |
| 2023-06-18 | tests/make: align variable name in test for multiple-inclusion guards | rillig | |
| 2023-06-18 | tests/make: extend test for multiple-inclusion guards | rillig | |
| 2023-06-16 | tests/make: add test for multiple-inclusion guards | rillig | |
| 2023-06-16 | tests/make: clean up tests for the ':M' and ':S' modifiers | rillig | |
| 2023-06-01 | tests/make: force line-based diagnostics to be listed in the tests | rillig | |
| This way, contradictions between the intended output and the actual output are closer together and have a better chance of being spotted. | |||
| 2023-06-01 | make: add more details to debug logging of .for loops | rillig | |
| 2023-06-01 | make: shorten function names, clean up comments | rillig | |
| No functional change. | |||
| 2023-06-01 | tests/make: clean up comments, extend a few tests | rillig | |
| 2023-06-01 | make: error out on a .break directive with arguments | rillig | |
| 2023-05-10 | tests/make: clean up comments in tests | rillig | |
| 2023-05-10 | tests/make: clean up tests for .for loops | rillig | |
| Most of the tests from forloop.mk were already in directive-for.mk. | |||
| 2023-05-09 | make: add :mtime to provide mtime of file | sjg | |
| The value of the variable is passed to stat(2) and st_mtime is new value. An optional arg can be used if stat(2) fails, otherwise the current time is used. See varmod-mtime.mk for usage examples. | |||
| 2023-05-09 | make: skip syntactically wrong .for loops | rillig | |
| 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. | |||
| 2023-05-09 | tests/make: clean up tests for ':gmtime' and ':localtime' | rillig | |
| 2023-05-09 | make: allow ':gmtime' and ':localtime' with dynamic argument | rillig | |
| This allows ${%Y:L:gmtime=${mtime}} instead of the indirect ${%Y:L:${:Ugmtime=${mtime}}}. The direct form also prevents any ':' from the nested expression to be interpreted as a separator, which doesn't matter for the ':gmtime' and ':localtime' modifiers but will prove useful for other modifiers that follow the same pattern. | |||
| 2023-05-09 | tests/make: demonstrate parse bug in :gmtime and :localtime modifiers | rillig | |
| 2023-05-08 | make: disallow characters like '$' in variable names in .for loops | rillig | |
| Fixes PR 53146. | |||
| 2023-05-08 | tests/make: add more tests for unusual variable names in .for loops | rillig | |
| 2023-05-08 | make: fix parsing of unusual line continuations in .for loops | rillig | |
| 2023-04-29 | tests/make: extend test for target-local variables | rillig | |
| 2023-04-28 | tests/make: add tests for target-local variables | rillig | |
| While here, move a test from var-scope-local.mk to parse.mk since that test is not related to variables. | |||
| 2023-04-07 | tests/make: add cross references to command line tests | rillig | |
| 2023-03-28 | tests/make: add expectations for string comparison errors | rillig | |
| 2023-03-18 | make: handle .PHONY consitently on interrupt | sjg | |
| JobDeleteTarget skips .PHONY targets CompatDeleteTarget should do the same This addresses https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269663 | |||
| 2023-03-04 | tests/make: improve explanations in test for 'empty' function | rillig | |
| 2023-03-04 | tests/make: use proper variable names in short-circuit test | rillig | |
| The previous variable names V42, V66, iV1 and iV2 didn't carry enough information to be readily readable, making the test hard to understand. Rename the variables to be more expressive. While here, properly explain what happened behind the scenes in 2020 and how the evaluation of conditions was fixed after discovering the actual cause of the unexpected error messages. | |||
| 2023-03-04 | tests/make: test very small and very large numbers in conditions | rillig | |
| 2023-02-27 | tests/make: describe the absent fallback for ':O' modifiers more clearly | rillig | |
| 2023-02-26 | tests/make: extend tests for expression modifiers, especially ':N' | rillig | |
