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.3
Committed: Fri Aug 11 14:09:57 2000 UTC (24 years, 9 months ago) by williamc
Content type: text/plain
Branch: HPWbranch
CVS Tags: V0_16_2, V0_16_1, V0_16_0, V0_15_1, V0_15_0, V0_15_0beta, V0_14_0
Branch point for: V0_16branch, V0_15branch
Changes since 1.1.2.2.2.2: +5 -0 lines
Log Message:
add url overwrite 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.2 $self->{tool}->url($self->{testfile});
17 williamc 1.1.2.2.2.1 $self->{testlocation}=$self->temparea()."/".$self->newfilename();
18 williamc 1.1.2.1
19     # make a dummy lib tool
20     $self->{dummylib}=$self->temparea()."/".$self->newfilename();
21     use Utilities::AddDir;
22     AddDir::adddir($self->{dummylib}."/lib");
23     $fh=FileHandle->new();
24     $fh->open(">".$self->{dummylib}."/lib/lib1");
25     $fh->close();
26     $fh->open(">".$self->{dummylib}."/lib/lib2");
27     $fh->close();
28     }
29    
30     sub test {
31     my $self=shift;
32 williamc 1.1.2.2.2.1 my $dummyvar=$self->{dummylib};
33 williamc 1.1.2.1 $self->newtest("Initiation test");
34     $self->newobject();
35 williamc 1.1.2.2.2.1 $self->testinterface("verbosity", 1);
36 williamc 1.1.2.1 $self->testinterface("tool",$self->{tool});
37     $self->{object}->{ToolEnv}{dummyvar}=$self->{dummylib};
38 williamc 1.1.2.2.2.1 $self->newtest("Test of setup");
39 williamc 1.1.2.1 $self->testinterface("setup",$self->{testfile},"Test","version1");
40    
41     # check if our object is initialised OK
42     $self->_teststring("test",$self->{tool}->name());
43     $self->_teststring("version1",$self->{tool}->version(),"version1");
44     my @vals=$self->{tool}->features();
45 williamc 1.1.2.2.2.1 $self->_expectarray(\@vals,"lib","Testvar1","Testvar2","Testvar3","Testvar4","Testvar5","_externals");
46 williamc 1.1.2.1 my ($temp)=$self->{tool}->getfeature("Testvar1");
47     $self->_teststring("A",$temp);
48     ($temp)=$self->{tool}->getfeature("Testvar2");
49     $self->_teststring("A/B",$temp);
50     @vals=$self->{tool}->getfeature("lib");
51     $self->_expectarray(\@vals,"lib1","lib2");
52 williamc 1.1.2.2 @vals=$self->{tool}->getfeature("_externals");
53     $self->_expectarray(\@vals,"package1","package2");
54 williamc 1.1.2.2.2.1 @vals=$self->{tool}->getfeature("Testvar5");
55     $self->_expectarray(\@vals,"$dummyvar/lib",$dummyvar);
56    
57 williamc 1.1.2.2.2.3 # -- Check setup has not overwritten the url
58     $self->newtest("test that there is no overwrite of url");
59     $self->cmpstring($self->{testfile},$self->{tool}->url());
60    
61 williamc 1.1.2.2.2.1 # -- setup with a searcher
62     $self->newtest("Setup with a tool searcher");
63     $self->newobject();
64     $self->testinterface("verbosity", 1);
65     $self->{tool}=BuildSystem::Tool->new();
66 williamc 1.1.2.2.2.3 $self->{tool}->url($self->{testfile});
67 williamc 1.1.2.2.2.1 $self->testinterface("tool",$self->{tool});
68     $self->_expectarray(\@vals,"$dummyvar/lib",$dummyvar);
69     $self->{object}->{ToolEnv}{dummyvar}=$self->{dummylib};
70     $self->testinterface("toolsearcher", $self);
71     print $self."--- THIS\n";
72     $self->{alastnumb}=2;
73     $self->testinterface("setup",$self->{testfile},"Test","version1");
74     @vals=$self->{tool}->features();
75     $self->_expectarray(\@vals,"lib","Testvar1","Testvar2","Testvar3","Testvar4","Testvar5","_externals");
76     @vals=$self->{tool}->getfeature("Testvar5");
77     $self->_expectarray(\@vals,"$dummyvar/lib",$dummyvar);
78 williamc 1.1.2.2.2.2
79     # -- Check setup has not overwritten the url
80     $self->newtest("test that there is no overwrite of url");
81     $self->cmpstring($self->{testfile},$self->{tool}->url());
82 williamc 1.1.2.1 }
83    
84     sub _teststring {
85     my $self=shift;
86     my $string1=shift;
87     my $string2=shift;
88    
89     if ( $string1 eq $string2 ) {
90     $self->testpass("$string2 returned as expected");
91     }
92     else {
93     $self->testfail("Expecting $string1 got $string2");
94     }
95     }
96    
97     sub _expectarray {
98     my $self=shift;
99     my $array=shift;
100     my @vals=@_;
101    
102     if ( $#{$array} ne $#vals) { $self->testfail(
103     $#{$array}." items retuned, $#vals expected");
104 williamc 1.1.2.2.2.1 print "returned @$array"."\n";
105 williamc 1.1.2.1 }
106     else {
107     for( my $i=0; $i<= $#{$array}; $i++) {
108     $self->_teststring($vals[$i],$$array[$i]);
109     }
110     }
111 williamc 1.1.2.2.2.1 }
112    
113     # -- stubs
114    
115     sub newiterator {
116     my $self=shift;
117     return $self;
118     }
119    
120     sub next {
121     my $self=shift;
122     return $self;
123     }
124    
125     sub location {
126     my $self=shift;
127     return $self->{testlocation};
128     }
129    
130     sub last {
131     my $self=shift;
132     $self->{alastnumb}-=1;
133     print "Dummy last : ".$self->{alastnumb}."\n";
134     return ( $self->{alastnumb} >= 0 )?0:1;
135     }
136    
137     sub toolbox {
138     my $self=shift;
139     return $self;
140     }
141    
142     sub gettool {
143     my $self=shift;
144     return $self;
145     }
146    
147     sub getfeature {
148     my $self=shift;
149     my $name=shift;
150     print "Feature $name requested - returning multiple\n";
151     return ( "testreturnvalue1", "testreturnvalue2", "testreturnvalue3");
152     }
153    
154     sub equals {
155     my $self=shift;
156     return 1;
157 williamc 1.1.2.1 }