summaryrefslogtreecommitdiffstats
path: root/src/kmk/tests/scripts/functions/suffix
blob: 0c4f919ea102f56456595230ceea1a4fab3ae332 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
$description = "The following test creates a makefile to test the suffix\n"
              ."function. \n";

$details = "The suffix function will return the string following the last _._\n"
          ."the list provided. It will provide all of the unique suffixes found\n"
          ."in the list. The long strings are sorted to remove duplicates.\n";

# IF YOU NEED >1 MAKEFILE FOR THIS TEST, USE &get_tmpfile; TO GET
# THE NAME OF THE MAKEFILE.  THIS INSURES CONSISTENCY AND KEEPS TRACK OF
# HOW MANY MAKEFILES EXIST FOR EASY DELETION AT THE END.
# EXAMPLE: $makefile2 = &get_tmpfile;


open(MAKEFILE,"> $makefile");

# The Contents of the MAKEFILE ...

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"
              ."string2 := \$(string) \$(string) \$(string) \$(string) \$(string) \$(string) \$(string)\n"
              ."string3 := \$(string2) \$(string2) \$(string2) \$(string2) \$(string2) \$(string2) \$(string2)\n"
              ."string4 := \$(string3) \$(string3) \$(string3) \$(string3) \$(string3) \$(string3) \$(string3)\n"
              ."all: \n"
              ."\t\@echo \$(suffix \$(string)) \n"
              ."\t\@echo \$(sort \$(suffix \$(string4))) \n"
              ."\t\@echo \$(suffix \$(string) a.out) \n"
              ."\t\@echo \$(sort \$(suffix \$(string3))) \n";



# END of Contents of MAKEFILE

close(MAKEFILE);

&run_make_with_options($makefile,"",&get_logfile,0);

# Create the answer to what should be produced by this Makefile

# COMPARE RESULTS
$answer = ".pl .pl1 .pl .pl3 .perl .c .c\n"
         .".c .perl .pl .pl1 .pl3\n"
         .".pl .pl1 .pl .pl3 .perl .c .c .out\n"
         .".c .perl .pl .pl1 .pl3\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;