diff options
author | Paul Smith <psmith@gnu.org> | 2009-06-04 06:30:27 +0000 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2009-06-04 06:30:27 +0000 |
commit | 81f3e4babd128f6740d05b371122762924522fb6 (patch) | |
tree | eeb19eaf947791c834620ff72c9b80e77d9fcc8b /tests/scripts/features | |
parent | 5b4d419476e9fbda8ea26017f6ec15956d103ed9 (diff) | |
download | gunmake-81f3e4babd128f6740d05b371122762924522fb6.tar.gz |
- Modify access of config and gnulib Savannah modules to use GIT
- Fix Savannah bug #24655.
- Fix Savannah bug #24588.
- Fix Savannah bug #24277.
- Fix Savannah bug #25697.
- Fix Savannah bug #25694.
- Fix Savannah bug #25460.
- Fix Savannah bug #26207.
- Fix Savannah bug #25712.
- Fix Savannah bug #26593.
- Fix various doc issues.
Diffstat (limited to 'tests/scripts/features')
-rw-r--r-- | tests/scripts/features/override | 55 | ||||
-rw-r--r-- | tests/scripts/features/patspecific_vars | 10 | ||||
-rw-r--r-- | tests/scripts/features/patternrules | 15 | ||||
-rw-r--r-- | tests/scripts/features/se_explicit | 7 | ||||
-rw-r--r-- | tests/scripts/features/targetvars | 18 |
5 files changed, 80 insertions, 25 deletions
diff --git a/tests/scripts/features/override b/tests/scripts/features/override index 23e4f2b..fff6c4e 100644 --- a/tests/scripts/features/override +++ b/tests/scripts/features/override @@ -1,34 +1,45 @@ -$description = "The following test creates a makefile to ..."; +# -*-perl-*- -$details = ""; - -open(MAKEFILE,"> $makefile"); - -# The Contents of the MAKEFILE ... - -print MAKEFILE "override define foo\n" - ."\@echo First comes the definition.\n" - ."\@echo Then comes the override.\n" - ."endef\n" - ."all: \n" - ."\t\$(foo)\n"; +$description = "Test the override directive on variable assignments."; -# END of Contents of MAKEFILE - -close(MAKEFILE); +$details = ""; -&run_make_with_options($makefile,"foo=Hello",&get_logfile); +# TEST 0: Basic override -# Create the answer to what should be produced by this Makefile -$answer = "First comes the definition.\n" - ."Then comes the override.\n"; +run_make_test(' +X = start +override recur = $(X) +override simple := $(X) +X = end +all: ; @echo "$(recur) $(simple)" +', + 'recur=I simple=J', "end start\n"); -&compare_output($answer,&get_logfile(1)); +# TEST 1: Override with append -1; +run_make_test(' +X += X1 +override X += X2 +override Y += Y1 +Y += Y2 +all: ; @echo "$(X) $(Y)" +', + '', "X1 X2 Y1\n"); +# TEST 2: Override with append to the command line +run_make_test(undef, 'X=C Y=C', "C X2 C Y1\n"); +# Test override of define/endef +run_make_test(' +override define foo +@echo First comes the definition. +@echo Then comes the override. +endef +all: ; $(foo) +', + 'foo=Hello', "First comes the definition.\nThen comes the override.\n"); +1; diff --git a/tests/scripts/features/patspecific_vars b/tests/scripts/features/patspecific_vars index 20c1cfc..355e86d 100644 --- a/tests/scripts/features/patspecific_vars +++ b/tests/scripts/features/patspecific_vars @@ -120,5 +120,15 @@ run_make_test(undef, # reuse previous makefile 'normal: global: new $t pattern: good $t inherit: good $t; pattrn: global: new $t pattern: good $t inherit: good $t;'); +# TEST #8: override in pattern-specific variables + +run_make_test(' +a%: override FOO += f1 +a%: FOO += f2 +ab: ; @echo "$(FOO)" +', + '', "f1\n"); + +run_make_test(undef, 'FOO=C', "C f1\n"); 1; diff --git a/tests/scripts/features/patternrules b/tests/scripts/features/patternrules index 53ec704..35f155a 100644 --- a/tests/scripts/features/patternrules +++ b/tests/scripts/features/patternrules @@ -145,5 +145,20 @@ echo foo.c foo.h >foo.o'); unlink('foo.in', 'foo.h', 'foo.c', 'foo.o'); +# TEST #5: make sure both prefix and suffix patterns work with multiple +# target patterns (Savannah bug #26593). +# +run_make_test(' +all: foo.s1 foo.s2 p1.foo p2.foo + +p1.% p2.%: %.orig + @echo $@ +%.s1 %.s2: %.orig + @echo $@ + +.PHONY: foo.orig +', + '', "foo.s1\np1.foo\n"); + # This tells the test driver that the perl test script executed properly. 1; diff --git a/tests/scripts/features/se_explicit b/tests/scripts/features/se_explicit index 01860a9..b0342c7 100644 --- a/tests/scripts/features/se_explicit +++ b/tests/scripts/features/se_explicit @@ -123,5 +123,12 @@ baz.1 baz.2 '); +# TEST #4: eval in a context where there is no reading_file +run_make_test(' +.SECONDEXPANSION: +all : $$(eval $$(info test)) +', '', "test\n#MAKE#: Nothing to be done for `all'.\n"); + + # This tells the test driver that the perl test script executed properly. 1; diff --git a/tests/scripts/features/targetvars b/tests/scripts/features/targetvars index ad0766c..3864bf8 100644 --- a/tests/scripts/features/targetvars +++ b/tests/scripts/features/targetvars @@ -219,12 +219,24 @@ rmdir('t1'); # Test appending to a simple variable containing a "$": avoid a # double-expansion. See Savannah bug #15913. -run_make_test(" -VAR := \$\$FOO +run_make_test(' +VAR := $$FOO foo: VAR += BAR -foo: ; \@echo '\$(VAR)'", +foo: ; @echo '."'".'$(VAR)'."'".' +', '', '$FOO BAR'); +# TEST #19: Override with append variables + +run_make_test(' +a: override FOO += f1 +a: FOO += f2 +a: ; @echo "$(FOO)" +', + '', "f1\n"); + +run_make_test(undef, 'FOO=C', "C f1\n"); + # TEST #19: Test define/endef variables as target-specific vars # run_make_test(' |