| # -*-perl-*- | |
| $description = "The following test creates a makefile to verify | |
| the ability of make to sort lists of object. Sort | |
| will also remove any duplicate entries. This will also | |
| be tested."; | |
| $details = "The make file is built with a list of object in a random order | |
| and includes some duplicates. Make should sort all of the elements | |
| remove all duplicates\n"; | |
| run_make_test(' | |
| foo := moon_light days | |
| foo1:= jazz | |
| bar := captured#SPACE# | |
| bar2 = boy end, has rise A midnight#SPACE# | |
| bar3:= $(foo) | |
| s1 := _by | |
| s2 := _and_a | |
| t1 := $(addsuffix $(s1), $(bar) ) | |
| t2 := $(addsuffix $(s2), $(foo1) ) | |
| t3 := $(t2) $(t2) $(t2) $(t2) $(t2) $(t2) $(t2) $(t2) $(t2) $(t2)#SPACE# | |
| t4 := $(t3) $(t3) $(t3) $(t3) $(t3) $(t3) $(t3) $(t3) $(t3) $(t3)#SPACE# | |
| t5 := $(t4) $(t4) $(t4) $(t4) $(t4) $(t4) $(t4) $(t4) $(t4) $(t4)#SPACE# | |
| t6 := $(t5) $(t5) $(t5) $(t5) $(t5) $(t5) $(t5) $(t5) $(t5) $(t5)#SPACE# | |
| t7 := $(t6) $(t6) $(t6)#SPACE# | |
| p1 := $(addprefix $(foo1), $(s2) ) | |
| blank:=#SPACE# | |
| all: | |
| #TAB#@echo $(sort $(bar2) $(foo) $(addsuffix $(s1), $(bar) ) $(t2) $(bar2) $(bar3)) | |
| #TAB#@echo $(sort $(blank) $(foo) $(bar2) $(t1) $(p1) ) | |
| #TAB#@echo $(sort $(foo) $(bar2) $(t1) $(t4) $(t5) $(t7) $(t6) ) | |
| ', | |
| '', 'A boy captured_by days end, has jazz_and_a midnight moon_light rise | |
| A boy captured_by days end, has jazz_and_a midnight moon_light rise | |
| A boy captured_by days end, has jazz_and_a midnight moon_light rise | |
| '); | |
| # Test with non-space/tab whitespace. Note that you can't see the | |
| # original bug except using valgrind. | |
| run_make_test("FOO = a b\tc\rd\fe \f \f \f \f \ff | |
| all: ; \@echo \$(words \$(sort \$(FOO)))\n", | |
| '', "6\n"); | |
| 1; |