Home | History | Annotate | Download | only in functions
      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