diff options
Diffstat (limited to 'tests/scripts/options/warn')
-rw-r--r-- | tests/scripts/options/warn | 68 |
1 files changed, 66 insertions, 2 deletions
diff --git a/tests/scripts/options/warn b/tests/scripts/options/warn index 98155d46..f41f84ff 100644 --- a/tests/scripts/options/warn +++ b/tests/scripts/options/warn @@ -5,8 +5,8 @@ $description = "Test the --warn option."; my %warn_test = ( '--warn' => '', '--warn=warn' => '', '--warn=error --warn=warn' => '', '--warn --warn=error' => '=error', - '--warn=ignore --warn=error --warn=ignore --warn=undefined-var' => '=ignore,undefined-var', - '--warn=undefined-var:error --warn' => '=warn,undefined-var:error' + '--warn=ignore --warn=error --warn=ignore --warn=invalid-var,invalid-ref,undefined-var' => '=ignore,invalid-var,invalid-ref,undefined-var', + '--warn=invalid-ref:ignore --warn=error --warn=invalid-var:warn,,,,,undefined-var:error,,,,,' => '=error,invalid-var,invalid-ref:ignore,undefined-var:error' ); # Verify the deprecated --warn-undefined-variables option @@ -83,4 +83,68 @@ ref"); run_make_test(undef, '--warn=undefined-var:error', "#MAKEFILE#:7: *** reference to undefined variable 'UNDEFINED'. Stop.", 512); +# Check invalid variable reference warnings + +# With no options we still check for invalid references +run_make_test(' +IREF = $(bad variable) +SIREF := $(IREF) + +define nl + + +endef + +all: ; @echo ref $(also$(nl)bad) $(IREF) $(SIREF)', + '', "#MAKEFILE#:2: invalid variable reference 'bad variable' +#MAKEFILE#:10: invalid variable reference 'also\nbad' +#MAKEFILE#:2: invalid variable reference 'bad variable' +ref"); + +run_make_test(undef, '--warn=ignore', 'ref'); + +run_make_test(undef, '--warn=invalid-ref:ignore', 'ref'); + +# Check and errors +run_make_test(undef, '--warn=invalid-ref:error', + "#MAKEFILE#:2: *** invalid variable reference 'bad variable'. Stop.", 512); + +# Check invalid variable name warnings + +# With no options we still check for invalid references +run_make_test(' +EMPTY = +SPACE = $(EMPTY) $(EMPTY) +BAD$(SPACE)VAR = foo + +define nl + + +endef + +NL$(nl)VAR = bar + +define BAD$(SPACE)DEF := +foo +endef + +define NL$(nl)DEF := +foo +endef + +all: ; @echo ref', + '', "#MAKEFILE#:4: invalid variable name 'BAD VAR' +#MAKEFILE#:11: invalid variable name 'NL\nVAR' +#MAKEFILE#:13: invalid variable name 'BAD DEF' +#MAKEFILE#:17: invalid variable name 'NL\nDEF' +ref"); + +run_make_test(undef, '--warn=ignore', 'ref'); + +run_make_test(undef, '--warn=invalid-var:ignore', 'ref'); + +# Check and errors +run_make_test(undef, '--warn=invalid-var:error', + "#MAKEFILE#:4: *** invalid variable name 'BAD VAR'. Stop.", 512); + 1; |