ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/BuildSystem/test/test_ToolDoc.pm
Revision: 1.1.2.2.2.1
Committed: Mon Aug 7 12:10:47 2000 UTC (24 years, 9 months ago) by williamc
Content type: text/plain
Branch: HPWbranch
Changes since 1.1.2.2: +71 -2 lines
Log Message:
Add new multi variable setting test

File Contents

# User Rev Content
1 williamc 1.1.2.1 #
2     # ToolDoc.pm test suite
3     #
4    
5     package BuildSystem::test::test_ToolDoc;
6     require 5.001;
7     use BuildSystem::Tool;
8     use BuildSystem::ToolDoc;
9    
10     @ISA = ("Utilities::TestClass"); #methods both from the test class
11    
12     sub init {
13     my $self=shift;
14     $self->{testfile}=$self->datadir()."/ToolDocTest";
15     $self->{tool}=BuildSystem::Tool->new();
16 williamc 1.1.2.2.2.1 $self->{testlocation}=$self->temparea()."/".$self->newfilename();
17 williamc 1.1.2.1
18     # make a dummy lib tool
19     $self->{dummylib}=$self->temparea()."/".$self->newfilename();
20     use Utilities::AddDir;
21     AddDir::adddir($self->{dummylib}."/lib");
22     $fh=FileHandle->new();
23     $fh->open(">".$self->{dummylib}."/lib/lib1");
24     $fh->close();
25     $fh->open(">".$self->{dummylib}."/lib/lib2");
26     $fh->close();
27     }
28    
29     sub test {
30     my $self=shift;
31 williamc 1.1.2.2.2.1 my $dummyvar=$self->{dummylib};
32 williamc 1.1.2.1 $self->newtest("Initiation test");
33     $self->newobject();
34 williamc 1.1.2.2.2.1 $self->testinterface("verbosity", 1);
35 williamc 1.1.2.1 $self->testinterface("tool",$self->{tool});
36     $self->{object}->{ToolEnv}{dummyvar}=$self->{dummylib};
37 williamc 1.1.2.2.2.1 $self->newtest("Test of setup");
38 williamc 1.1.2.1 $self->testinterface("setup",$self->{testfile},"Test","version1");
39    
40     # check if our object is initialised OK
41     $self->_teststring("test",$self->{tool}->name());
42     $self->_teststring("version1",$self->{tool}->version(),"version1");
43     my @vals=$self->{tool}->features();
44 williamc 1.1.2.2.2.1 $self->_expectarray(\@vals,"lib","Testvar1","Testvar2","Testvar3","Testvar4","Testvar5","_externals");
45 williamc 1.1.2.1 my ($temp)=$self->{tool}->getfeature("Testvar1");
46     $self->_teststring("A",$temp);
47     ($temp)=$self->{tool}->getfeature("Testvar2");
48     $self->_teststring("A/B",$temp);
49     @vals=$self->{tool}->getfeature("lib");
50     $self->_expectarray(\@vals,"lib1","lib2");
51 williamc 1.1.2.2 @vals=$self->{tool}->getfeature("_externals");
52     $self->_expectarray(\@vals,"package1","package2");
53 williamc 1.1.2.2.2.1 @vals=$self->{tool}->getfeature("Testvar5");
54     $self->_expectarray(\@vals,"$dummyvar/lib",$dummyvar);
55    
56     # -- setup with a searcher
57     $self->newtest("Setup with a tool searcher");
58     $self->newobject();
59     $self->testinterface("verbosity", 1);
60     $self->{tool}=BuildSystem::Tool->new();
61     $self->testinterface("tool",$self->{tool});
62     $self->_expectarray(\@vals,"$dummyvar/lib",$dummyvar);
63     $self->{object}->{ToolEnv}{dummyvar}=$self->{dummylib};
64     $self->testinterface("toolsearcher", $self);
65     print $self."--- THIS\n";
66     $self->{alastnumb}=2;
67     $self->testinterface("setup",$self->{testfile},"Test","version1");
68     @vals=$self->{tool}->features();
69     $self->_expectarray(\@vals,"lib","Testvar1","Testvar2","Testvar3","Testvar4","Testvar5","_externals");
70     @vals=$self->{tool}->getfeature("Testvar5");
71     $self->_expectarray(\@vals,"$dummyvar/lib",$dummyvar);
72 williamc 1.1.2.1 }
73    
74     sub _teststring {
75     my $self=shift;
76     my $string1=shift;
77     my $string2=shift;
78    
79     if ( $string1 eq $string2 ) {
80     $self->testpass("$string2 returned as expected");
81     }
82     else {
83     $self->testfail("Expecting $string1 got $string2");
84     }
85     }
86    
87     sub _expectarray {
88     my $self=shift;
89     my $array=shift;
90     my @vals=@_;
91    
92     if ( $#{$array} ne $#vals) { $self->testfail(
93     $#{$array}." items retuned, $#vals expected");
94 williamc 1.1.2.2.2.1 print "returned @$array"."\n";
95 williamc 1.1.2.1 }
96     else {
97     for( my $i=0; $i<= $#{$array}; $i++) {
98     $self->_teststring($vals[$i],$$array[$i]);
99     }
100     }
101 williamc 1.1.2.2.2.1 }
102    
103     # -- stubs
104    
105     sub newiterator {
106     my $self=shift;
107     return $self;
108     }
109    
110     sub next {
111     my $self=shift;
112     return $self;
113     }
114    
115     sub location {
116     my $self=shift;
117     return $self->{testlocation};
118     }
119    
120     sub last {
121     my $self=shift;
122     $self->{alastnumb}-=1;
123     print "Dummy last : ".$self->{alastnumb}."\n";
124     return ( $self->{alastnumb} >= 0 )?0:1;
125     }
126    
127     sub toolbox {
128     my $self=shift;
129     return $self;
130     }
131    
132     sub gettool {
133     my $self=shift;
134     return $self;
135     }
136    
137     sub getfeature {
138     my $self=shift;
139     my $name=shift;
140     print "Feature $name requested - returning multiple\n";
141     return ( "testreturnvalue1", "testreturnvalue2", "testreturnvalue3");
142     }
143    
144     sub equals {
145     my $self=shift;
146     return 1;
147 williamc 1.1.2.1 }