1 $description = "The following test creates a makefile to test the suffix\n" 2 ."function. \n"; 3 4 $details = "The suffix function will return the string following the last _._\n" 5 ."the list provided. It will provide all of the unique suffixes found\n" 6 ."in the list. The long strings are sorted to remove duplicates.\n"; 7 8 # IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET 9 # THE NAME OF THE MAKEFILE. THIS INSURES CONSISTENCY AND KEEPS TRACK OF 10 # HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END. 11 # EXAMPLE: $makefile2 = &get_tmpfile; 12 13 14 open(MAKEFILE,"> $makefile"); 15 16 # The Contents of the MAKEFILE ... 17 18 print MAKEFILE "string := word.pl general_test2.pl1 FORCE.pl word.pl3 generic_test.perl /tmp.c/bar foo.baz/bar.c MAKEFILES_variable.c\n" 19 ."string2 := \$(string) \$(string) \$(string) \$(string) \$(string) \$(string) \$(string)\n" 20 ."string3 := \$(string2) \$(string2) \$(string2) \$(string2) \$(string2) \$(string2) \$(string2)\n" 21 ."string4 := \$(string3) \$(string3) \$(string3) \$(string3) \$(string3) \$(string3) \$(string3)\n" 22 ."all: \n" 23 ."\t\@echo \$(suffix \$(string)) \n" 24 ."\t\@echo \$(sort \$(suffix \$(string4))) \n" 25 ."\t\@echo \$(suffix \$(string) a.out) \n" 26 ."\t\@echo \$(sort \$(suffix \$(string3))) \n"; 27 28 29 30 # END of Contents of MAKEFILE 31 32 close(MAKEFILE); 33 34 &run_make_with_options($makefile,"",&get_logfile,0); 35 36 # Create the answer to what should be produced by this Makefile 37 38 # COMPARE RESULTS 39 $answer = ".pl .pl1 .pl .pl3 .perl .c .c\n" 40 .".c .perl .pl .pl1 .pl3\n" 41 .".pl .pl1 .pl .pl3 .perl .c .c .out\n" 42 .".c .perl .pl .pl1 .pl3\n"; 43 44 # In this call to compare output, you should use the call &get_logfile(1) 45 # to send the name of the last logfile created. You may also use 46 # the special call &get_logfile(1) which returns the same as &get_logfile(1). 47 48 &compare_output($answer,&get_logfile(1)); 49 50 # This tells the test driver that the perl test script executed properly. 51 1; 52 53 54 55 56 57 58