head 1.9; access; symbols netbsd-11-0-RELEASE:1.9 netbsd-11-0-RC7:1.9 netbsd-11-0-RC6:1.9 netbsd-11-0-RC5:1.9 netbsd-11-0-RC4:1.9 netbsd-11-0-RC3:1.9 netbsd-11-0-RC2:1.9 netbsd-11-0-RC1:1.9 perseant-exfatfs-base-20250801:1.9 netbsd-11:1.9.0.2 netbsd-11-base:1.9 netbsd-10-1-RELEASE:1.5 perseant-exfatfs-base-20240630:1.6 perseant-exfatfs:1.6.0.2 perseant-exfatfs-base:1.6 netbsd-10-0-RELEASE:1.5 netbsd-10-0-RC6:1.5 netbsd-10-0-RC5:1.5 netbsd-10-0-RC4:1.5 netbsd-10-0-RC3:1.5 netbsd-10-0-RC2:1.5 netbsd-10-0-RC1:1.5 netbsd-10:1.5.0.2 netbsd-10-base:1.5 cjep_sun2x-base1:1.4 cjep_sun2x:1.4.0.4 cjep_sun2x-base:1.4 cjep_staticlib_x-base1:1.4 cjep_staticlib_x:1.4.0.2 cjep_staticlib_x-base:1.4; locks; strict; comment @# @; 1.9 date 2025.07.01.04.24.20; author rillig; state Exp; branches; next 1.8; commitid 7DIMxnaJVKV3UZ0G; 1.8 date 2025.03.30.09.51.50; author rillig; state Exp; branches; next 1.7; commitid veGmSzVhPiW2G4PF; 1.7 date 2024.07.04.20.18.40; author rillig; state Exp; branches; next 1.6; commitid 75IS4XOhTa8VOygF; 1.6 date 2023.06.01.20.56.35; author rillig; state Exp; branches 1.6.2.1; next 1.5; commitid j3tIvMRlxolKQhrE; 1.5 date 2022.01.23.16.09.38; author rillig; state Exp; branches; next 1.4; commitid 55UrqaZMiBo29MpD; 1.4 date 2020.12.19.22.33.11; author rillig; state Exp; branches; next 1.3; commitid 34F1Pdf67eh68pAC; 1.3 date 2020.12.13.01.07.54; author rillig; state Exp; branches; next 1.2; commitid f59P3Vx0FQhPcwzC; 1.2 date 2020.11.03.17.17.31; author rillig; state Exp; branches; next 1.1; commitid x9asRQJBHhqCRsuC; 1.1 date 2020.08.16.12.07.51; author rillig; state Exp; branches; next ; commitid coEgPk3hgfeYGhkC; 1.6.2.1 date 2025.08.02.05.58.35; author perseant; state Exp; branches; next ; commitid 23j6GFaDws3O875G; desc @@ 1.9 log @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. @ text @make: directive-warning.mk:10: Unknown directive "warn" make: directive-warning.mk:12: Unknown directive "warn" make: directive-warning.mk:14: Unknown directive "warnin" make: directive-warning.mk:16: Unknown directive "warnin" make: directive-warning.mk:18: Missing argument for ".warning" make: directive-warning.mk:20: warning: message make: directive-warning.mk:22: Unknown directive "warnings" make: directive-warning.mk:24: Unknown directive "warnings" make: Fatal errors encountered -- cannot continue make: stopped making "all" in unit-tests exit status 1 @ 1.8 log @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. @ text @d6 3 a8 3 make: directive-warning.mk:19: warning: message make: directive-warning.mk:21: Unknown directive "warnings" make: directive-warning.mk:23: Unknown directive "warnings" @ 1.7 log @make: on error, print the targets to be made This helps to understand situations with several nested sub-makes in varying directories. @ text @d1 8 a8 8 make: "directive-warning.mk" line 10: Unknown directive "warn" make: "directive-warning.mk" line 12: Unknown directive "warn" make: "directive-warning.mk" line 14: Unknown directive "warnin" make: "directive-warning.mk" line 16: Unknown directive "warnin" make: "directive-warning.mk" line 18: Missing argument for ".warning" make: "directive-warning.mk" line 19: warning: message make: "directive-warning.mk" line 21: Unknown directive "warnings" make: "directive-warning.mk" line 23: Unknown directive "warnings" @ 1.6 log @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. @ text @d10 1 a10 1 make: stopped in unit-tests @ 1.6.2.1 log @Sync with HEAD @ text @d1 8 a8 8 make: directive-warning.mk:10: Unknown directive "warn" make: directive-warning.mk:12: Unknown directive "warn" make: directive-warning.mk:14: Unknown directive "warnin" make: directive-warning.mk:16: Unknown directive "warnin" make: directive-warning.mk:18: Missing argument for ".warning" make: directive-warning.mk:20: warning: message make: directive-warning.mk:22: Unknown directive "warnings" make: directive-warning.mk:24: Unknown directive "warnings" d10 1 a10 1 make: stopped making "all" in unit-tests @ 1.5 log @tests/make: extend test suite, move old tests to 2020 scheme The tests from envfirst.mk are now in opt-env.mk. The tests from modword.mk are now in varmod-select-words.mk. @ text @a0 1 make: "directive-warning.mk" line 9: Unknown directive "warn" d2 7 a8 6 make: "directive-warning.mk" line 11: Unknown directive "warnin" make: "directive-warning.mk" line 12: Unknown directive "warnin" make: "directive-warning.mk" line 13: Missing argument for ".warning" make: "directive-warning.mk" line 14: warning: message make: "directive-warning.mk" line 15: Unknown directive "warnings" make: "directive-warning.mk" line 16: Unknown directive "warnings" @ 1.4 log @make(1): fix error message for .info/.warning/.error without argument Previously, the error message was "Unknown directive", which was obviously wrong. The new error message is "Missing argument". @ text @d1 8 a8 8 make: "directive-warning.mk" line 11: Unknown directive "warn" make: "directive-warning.mk" line 12: Unknown directive "warn" make: "directive-warning.mk" line 13: Unknown directive "warnin" make: "directive-warning.mk" line 14: Unknown directive "warnin" make: "directive-warning.mk" line 15: Missing argument for ".warning" make: "directive-warning.mk" line 16: warning: message make: "directive-warning.mk" line 17: Unknown directive "warnings" make: "directive-warning.mk" line 18: Unknown directive "warnings" @ 1.3 log @make(1): error out on misspelled directives Before, make accepted misspellings like .warnings, .export-literally and a few others, all of which are unlikely to occur in practice. See the test directive-misspellings.mk for further details. @ text @d1 8 a8 8 make: "directive-warning.mk" line 7: Unknown directive "warn" make: "directive-warning.mk" line 8: Unknown directive "warn" make: "directive-warning.mk" line 9: Unknown directive "warnin" make: "directive-warning.mk" line 10: Unknown directive "warnin" make: "directive-warning.mk" line 11: Unknown directive "warning" make: "directive-warning.mk" line 12: warning: message make: "directive-warning.mk" line 13: Unknown directive "warnings" make: "directive-warning.mk" line 14: Unknown directive "warnings" @ 1.2 log @make(1): move tests from directives.mk to separate tests @ text @d8 1 a8 1 make: "directive-warning.mk" line 14: warning: messages @ 1.1 log @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. @ text @d1 11 a11 1 exit status 0 @