Module Name: src Committed By: rillig Date: Wed Aug 24 21:38:06 UTC 2022
Modified Files: src/usr.bin/make/unit-tests: varmod.exp varmod.mk varparse-errors.exp varparse-errors.mk Log Message: tests/make: test misleading error messages on unclosed expressions The error messages say 'Unknown modifier' or 'Bad modifier', which is not entirely correct. The modifier in itself is valid, it's just that make doesn't expect the end of the string after the modifier. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/usr.bin/make/unit-tests/varmod.exp \ src/usr.bin/make/unit-tests/varparse-errors.exp \ src/usr.bin/make/unit-tests/varparse-errors.mk cvs rdiff -u -r1.6 -r1.7 src/usr.bin/make/unit-tests/varmod.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/make/unit-tests/varmod.exp diff -u src/usr.bin/make/unit-tests/varmod.exp:1.5 src/usr.bin/make/unit-tests/varmod.exp:1.6 --- src/usr.bin/make/unit-tests/varmod.exp:1.5 Sat Aug 6 07:06:58 2022 +++ src/usr.bin/make/unit-tests/varmod.exp Wed Aug 24 21:38:06 2022 @@ -1,8 +1,8 @@ -make: "varmod.mk" line 93: To escape a dollar, use \$, not $$, at "$$:L} != """ -make: "varmod.mk" line 93: Invalid variable name ':', at "$:L} != """ -make: "varmod.mk" line 98: Dollar followed by nothing -make: "varmod.mk" line 107: Missing delimiter ':' after modifier "P" -make: "varmod.mk" line 108: Missing argument for ".error" +make: "varmod.mk" line 96: To escape a dollar, use \$, not $$, at "$$:L} != """ +make: "varmod.mk" line 96: Invalid variable name ':', at "$:L} != """ +make: "varmod.mk" line 101: Dollar followed by nothing +make: "varmod.mk" line 110: Missing delimiter ':' after modifier "P" +make: "varmod.mk" line 111: Missing argument for ".error" make: Fatal errors encountered -- cannot continue make: stopped in unit-tests exit status 1 Index: src/usr.bin/make/unit-tests/varparse-errors.exp diff -u src/usr.bin/make/unit-tests/varparse-errors.exp:1.5 src/usr.bin/make/unit-tests/varparse-errors.exp:1.6 --- src/usr.bin/make/unit-tests/varparse-errors.exp:1.5 Mon Jan 24 22:59:49 2022 +++ src/usr.bin/make/unit-tests/varparse-errors.exp Wed Aug 24 21:38:06 2022 @@ -6,6 +6,43 @@ make: Bad modifier ":OX" for variable "" make: Bad modifier ":OX" for variable "" make: "varparse-errors.mk" line 68: Undefined variable "${:U:OX" make: Bad modifier ":OX" for variable "" +make: "varparse-errors.mk" line 72: Unknown modifier "Q" +make: Unclosed variable expression, expecting '}' for modifier "Q" of variable "" with value "" +make: "varparse-errors.mk" line 72: Undefined variable "${:U:Q" +make: "varparse-errors.mk" line 74: Unknown modifier "sh" +make: Unclosed variable expression, expecting '}' for modifier "sh" of variable "" with value "" +make: "varparse-errors.mk" line 74: Undefined variable "${:U:sh" +make: Bad modifier ":tA" for variable "" +make: "varparse-errors.mk" line 76: Undefined variable "${:U:tA" +make: Bad modifier ":tsX" for variable "" +make: "varparse-errors.mk" line 78: Undefined variable "${:U:ts" +make: Bad modifier ":ts" for variable "" +make: "varparse-errors.mk" line 80: Undefined variable "${:U:ts" +make: Bad modifier ":ts\040" for variable "" +make: "varparse-errors.mk" line 82: Undefined variable "${:U:ts" +make: "varparse-errors.mk" line 84: Unknown modifier "u" +make: Unclosed variable expression, expecting '}' for modifier "u" of variable "" with value "" +make: "varparse-errors.mk" line 84: Undefined variable "${:U:u" +make: "varparse-errors.mk" line 86: Unknown modifier "H" +make: Unclosed variable expression, expecting '}' for modifier "H" of variable "" with value "" +make: "varparse-errors.mk" line 86: Undefined variable "${:U:H" +make: Bad modifier ":[1]" for variable "" +make: "varparse-errors.mk" line 88: Undefined variable "${:U:[1]" +make: "varparse-errors.mk" line 90: Unknown modifier "hash" +make: Unclosed variable expression, expecting '}' for modifier "hash" of variable "" with value "" +make: "varparse-errors.mk" line 90: Undefined variable "${:U:hash" +make: "varparse-errors.mk" line 92: Unknown modifier "range" +make: Unclosed variable expression, expecting '}' for modifier "range" of variable "" with value "" +make: "varparse-errors.mk" line 92: Undefined variable "${:U:range" +make: "varparse-errors.mk" line 94: Unknown modifier "_" +make: Unclosed variable expression, expecting '}' for modifier "_" of variable "" with value "" +make: "varparse-errors.mk" line 94: Undefined variable "${:U:_" +make: "varparse-errors.mk" line 96: Unknown modifier "gmtime" +make: Unclosed variable expression, expecting '}' for modifier "gmtime" of variable "" with value "" +make: "varparse-errors.mk" line 96: Undefined variable "${:U:gmtime" +make: "varparse-errors.mk" line 98: Unknown modifier "localtime" +make: Unclosed variable expression, expecting '}' for modifier "localtime" of variable "" with value "" +make: "varparse-errors.mk" line 98: Undefined variable "${:U:localtime" make: Fatal errors encountered -- cannot continue make: stopped in unit-tests exit status 1 Index: src/usr.bin/make/unit-tests/varparse-errors.mk diff -u src/usr.bin/make/unit-tests/varparse-errors.mk:1.5 src/usr.bin/make/unit-tests/varparse-errors.mk:1.6 --- src/usr.bin/make/unit-tests/varparse-errors.mk:1.5 Mon Jan 24 22:59:49 2022 +++ src/usr.bin/make/unit-tests/varparse-errors.mk Wed Aug 24 21:38:06 2022 @@ -1,4 +1,4 @@ -# $NetBSD: varparse-errors.mk,v 1.5 2022/01/24 22:59:49 rillig Exp $ +# $NetBSD: varparse-errors.mk,v 1.6 2022/08/24 21:38:06 rillig Exp $ # Tests for parsing and evaluating all kinds of variable expressions. # @@ -68,4 +68,31 @@ IND= ${:OX} _:= ${:U:OX:U${IND}} ${:U:OX:U${IND}} #.MAKEFLAGS: -d0 -all: +# expect+1: Unknown modifier "Q" +UNCLOSED:= ${:U:Q +# expect+1: Unknown modifier "sh" +UNCLOSED:= ${:U:sh +# expect: make: Bad modifier ":tA" for variable "" +UNCLOSED:= ${:U:tA +# expect: make: Bad modifier ":tsX" for variable "" +UNCLOSED:= ${:U:tsX +# expect: make: Bad modifier ":ts" for variable "" +UNCLOSED:= ${:U:ts +# expect: make: Bad modifier ":ts\040" for variable "" +UNCLOSED:= ${:U:ts\040 +# expect+1: Unknown modifier "u" +UNCLOSED:= ${:U:u +# expect+1: Unknown modifier "H" +UNCLOSED:= ${:U:H +# expect: make: Bad modifier ":[1]" for variable "" +UNCLOSED:= ${:U:[1] +# expect+1: Unknown modifier "hash" +UNCLOSED:= ${:U:hash +# expect+1: Unknown modifier "range" +UNCLOSED:= ${:U:range +# expect+1: Unknown modifier "_" +UNCLOSED:= ${:U:_ +# expect+1: Unknown modifier "gmtime" +UNCLOSED:= ${:U:gmtime +# expect+1: Unknown modifier "localtime" +UNCLOSED:= ${:U:localtime Index: src/usr.bin/make/unit-tests/varmod.mk diff -u src/usr.bin/make/unit-tests/varmod.mk:1.6 src/usr.bin/make/unit-tests/varmod.mk:1.7 --- src/usr.bin/make/unit-tests/varmod.mk:1.6 Sat Aug 6 07:06:58 2022 +++ src/usr.bin/make/unit-tests/varmod.mk Wed Aug 24 21:38:06 2022 @@ -1,6 +1,9 @@ -# $NetBSD: varmod.mk,v 1.6 2022/08/06 07:06:58 rillig Exp $ +# $NetBSD: varmod.mk,v 1.7 2022/08/24 21:38:06 rillig Exp $ # # Tests for variable modifiers, such as :Q, :S,from,to or :Ufallback. +# +# See also: +# varparse-errors.mk # As of 2022-08-06, the possible behaviors during parsing are: #