mirror of
https://github.com/mirror/make.git
synced 2025-01-10 04:10:37 +08:00
65 lines
1.9 KiB
Perl
65 lines
1.9 KiB
Perl
# -*-perl-*-
|
|
$description = "Test the word, words, and wordlist functions.\n";
|
|
|
|
$details = "\
|
|
Produce a variable with a large number of words in it,
|
|
determine the number of words, and then read each one back.\n";
|
|
|
|
open(MAKEFILE,"> $makefile");
|
|
|
|
# The Contents of the MAKEFILE ...
|
|
|
|
print MAKEFILE <<'EOF';
|
|
string := word.pl general_test2.pl FORCE.pl word.pl generic_test.perl MAKEFILES_variable.pl
|
|
string2 := $(string) $(string) $(string) $(string) $(string) $(string) $(string)
|
|
string3 := $(string2) $(string2) $(string2) $(string2) $(string2) $(string2) $(string2)
|
|
string4 := $(string3) $(string3) $(string3) $(string3) $(string3) $(string3) $(string3)
|
|
all:
|
|
@echo $(words $(string))
|
|
@echo $(words $(string4))
|
|
@echo $(word 1, $(string))
|
|
@echo $(word 100, $(string))
|
|
@echo $(word 1, $(string))
|
|
@echo $(word 1000, $(string3))
|
|
@echo $(wordlist 3, 4, $(string))
|
|
@echo $(wordlist 4, 3, $(string))
|
|
@echo $(wordlist 1, 6, $(string))
|
|
@echo $(wordlist 5, 7, $(string))
|
|
@echo $(wordlist 100, 110, $(string))
|
|
@echo $(wordlist 7, 10, $(string2))
|
|
EOF
|
|
|
|
|
|
|
|
# END of Contents of MAKEFILE
|
|
|
|
close(MAKEFILE);
|
|
|
|
&run_make_with_options($makefile, "", &get_logfile);
|
|
|
|
# Create the answer to what should be produced by this Makefile
|
|
|
|
# COMPARE RESULTS
|
|
$answer = "6\n"
|
|
."2058\n"
|
|
."word.pl\n"
|
|
."\n"
|
|
."word.pl\n"
|
|
."\n"
|
|
."FORCE.pl word.pl\n"
|
|
."\n"
|
|
."word.pl general_test2.pl FORCE.pl word.pl generic_test.perl MAKEFILES_variable.pl\n"
|
|
."generic_test.perl MAKEFILES_variable.pl\n"
|
|
."\n"
|
|
."word.pl general_test2.pl FORCE.pl word.pl\n"
|
|
;
|
|
|
|
# In this call to compare output, you should use the call &get_logfile(1)
|
|
# to send the name of the last logfile created. You may also use
|
|
# the special call &get_logfile(1) which returns the same as &get_logfile(1).
|
|
|
|
&compare_output($answer, &get_logfile(1));
|
|
|
|
# This tells the test driver that the perl test script executed properly.
|
|
1;
|