diff options
Diffstat (limited to 'tests/scripts/functions')
-rw-r--r-- | tests/scripts/functions/foreach | 18 | ||||
-rw-r--r-- | tests/scripts/functions/origin | 44 |
2 files changed, 24 insertions, 38 deletions
diff --git a/tests/scripts/functions/foreach b/tests/scripts/functions/foreach index 904c160..9d1c464 100644 --- a/tests/scripts/functions/foreach +++ b/tests/scripts/functions/foreach @@ -1,10 +1,7 @@ # -*-perl-*- +# $Id$ -# Updated 16 June 1993 variable "MAKE" is default was environment override -# For make 3.63 and above - -$description = "The following test creates a makefile to verify -test the foreach function."; +$description = "Test the foreach function."; $details = "This is a test of the foreach function in gnu make. This function starts with a space separated list of @@ -16,14 +13,12 @@ types of foreach loops are tested\n"; # TEST 0 -# On WIN32 systems, the user's path is found in %Path% ($Path) -# -$pathvar = (($port_type eq 'Windows') ? "Path" : "PATH"); +# Set an environment variable that we can test in the makefile. +$extraENV{FOOFOO} = 'foo foo'; -run_make_test(" +run_make_test("space = ' '".' null := -space = ' ' -auto_var = udef space CC null $pathvar".' MAKE foo CFLAGS WHITE @ < +auto_var = udef space CC null FOOFOO MAKE foo CFLAGS WHITE @ < foo = bletch null @ garf av = $(foreach var, $(auto_var), $(origin $(var)) ) override WHITE := BLACK @@ -36,6 +31,7 @@ for2: ; @echo $(fe)', "undefined file default file environment default file command line override automatic automatic foo.o bletch.o null.o @.o garf.o .o .o undefined.o file.o default.o file.o environment.o default.o file.o command.o line.o override.o automatic.o automatic.o"); +delete $extraENV{FOOFOO}; # TEST 1: Test that foreach variables take precedence over global # variables in a global scope (like inside an eval). Tests bug #11913 diff --git a/tests/scripts/functions/origin b/tests/scripts/functions/origin index 49e6f38..f7b7eb8 100644 --- a/tests/scripts/functions/origin +++ b/tests/scripts/functions/origin @@ -18,34 +18,24 @@ defined per the following list: # Set an environment variable $extraENV{MAKETEST} = 1; -open(MAKEFILE,"> $makefile"); - -print MAKEFILE <<EOF; +run_make_test(' foo := bletch garf -auto_var = udef CC MAKETEST MAKE foo CFLAGS WHITE \@ -av = \$(foreach var, \$(auto_var), \$(origin \$(var)) ) +auto_var = undefined CC MAKETEST MAKE foo CFLAGS WHITE @ +av = $(foreach var, $(auto_var), $(origin $(var)) ) override WHITE := BLACK all: auto -\t\@echo \$(origin undefined) -\t\@echo \$(origin CC) -\t\@echo \$(origin MAKETEST) -\t\@echo \$(origin MAKE) -\t\@echo \$(origin foo) -\t\@echo \$(origin CFLAGS) -\t\@echo \$(origin WHITE) -\t\@echo \$(origin \@) + @echo $(origin undefined) + @echo $(origin CC) + @echo $(origin MAKETEST) + @echo $(origin MAKE) + @echo $(origin foo) + @echo $(origin CFLAGS) + @echo $(origin WHITE) + @echo $(origin @) auto : -\t\@echo \$(av) -EOF - -close(MAKEFILE); - -&run_make_with_options($makefile, - "-e WHITE=WHITE CFLAGS=", - &get_logfile); - -# Create the answer to what should be produced by this Makefile -$answer = "undefined default environment default file command line override automatic + @echo $(av)', + '-e WHITE=WHITE CFLAGS=', + 'undefined default environment default file command line override automatic undefined default environment @@ -53,9 +43,9 @@ default file command line override -automatic\n"; - +automatic'); -&compare_output($answer,&get_logfile(1)); +# Reset an environment variable +delete $extraENV{MAKETEST}; 1; |