diff options
Diffstat (limited to 'tests/scripts')
-rw-r--r-- | tests/scripts/features/targetvars | 26 | ||||
-rw-r--r-- | tests/scripts/functions/if | 6 |
2 files changed, 29 insertions, 3 deletions
diff --git a/tests/scripts/features/targetvars b/tests/scripts/features/targetvars index 83bf9ed..e4dc0b2 100644 --- a/tests/scripts/features/targetvars +++ b/tests/scripts/features/targetvars @@ -124,5 +124,31 @@ close(MAKEFILE); $answer = "foo bar\n"; &compare_output($answer, &get_logfile(1)); +# TEST #9 +# For PR/1380: Using += assignment in target-specific variables sometimes fails + +$makefile3 = &get_tmpfile; + +open(MAKEFILE,"> $makefile3"); +print MAKEFILE <<'EOF'; +.PHONY: all one +all: FOO += baz +all: one; @echo $(FOO) + +FOO = bar + +one: FOO += biz +one: ; @echo $(FOO) +EOF +close(MAKEFILE); + +&run_make_with_options("$makefile3", "", &get_logfile); +$answer = "bar baz biz\nbar baz\n"; +&compare_output($answer, &get_logfile(1)); + +&run_make_with_options("$makefile3", "one", &get_logfile); +$answer = "bar biz\n"; +&compare_output($answer, &get_logfile(1)); + 1; diff --git a/tests/scripts/functions/if b/tests/scripts/functions/if index cb1f5fc..fa2d0df 100644 --- a/tests/scripts/functions/if +++ b/tests/scripts/functions/if @@ -18,14 +18,14 @@ all: \t\@echo \$(if ,\$(shell echo hi),false) \t\@echo \$(if \$(call NEQ,a,b),true,false) \t\@echo \$(if \$(call NEQ,a,a),true,false) -\t\@echo \$(if z,true,fal,se) -\t\@echo \$(if ,true,fal,se) +\t\@echo \$(if z,true,fal,se) hi +\t\@echo \$(if ,true,fal,se)there EOMAKE close(MAKEFILE); &run_make_with_options($makefile, "", &get_logfile); -$answer = "false\n\n\ntrue\ntrue\nfalse\ntrue\nfalse\ntrue\nfal,se\n"; +$answer = "false\n\n\ntrue\ntrue\nfalse\ntrue\nfalse\ntrue hi\nfal,sethere\n"; &compare_output($answer, &get_logfile(1)); 1; |