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.2
Committed: Fri Aug 11 13:53:39 2000 UTC (24 years, 9 months ago) by williamc
Content type: text/plain
Branch: HPWbranch
Changes since 1.1.2.2.2.1: +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     # -- setup with a searcher
58     $self->newtest("Setup with a tool searcher");
59     $self->newobject();
60     $self->testinterface("verbosity", 1);
61     $self->{tool}=BuildSystem::Tool->new();
62     $self->testinterface("tool",$self->{tool});
63     $self->_expectarray(\@vals,"$dummyvar/lib",$dummyvar);
64     $self->{object}->{ToolEnv}{dummyvar}=$self->{dummylib};
65     $self->testinterface("toolsearcher", $self);
66     print $self."--- THIS\n";
67     $self->{alastnumb}=2;
68     $self->testinterface("setup",$self->{testfile},"Test","version1");
69     @vals=$self->{tool}->features();
70     $self->_expectarray(\@vals,"lib","Testvar1","Testvar2","Testvar3","Testvar4","Testvar5","_externals");
71     @vals=$self->{tool}->getfeature("Testvar5");
72     $self->_expectarray(\@vals,"$dummyvar/lib",$dummyvar);
73 williamc 1.1.2.2.2.2
74     # -- Check setup has not overwritten the url
75     $self->newtest("test that there is no overwrite of url");
76     $self->cmpstring($self->{testfile},$self->{tool}->url());
77 williamc 1.1.2.1 }
78    
79     sub _teststring {
80     my $self=shift;
81     my $string1=shift;
82     my $string2=shift;
83    
84     if ( $string1 eq $string2 ) {
85     $self->testpass("$string2 returned as expected");
86     }
87     else {
88     $self->testfail("Expecting $string1 got $string2");
89     }
90     }
91    
92     sub _expectarray {
93     my $self=shift;
94     my $array=shift;
95     my @vals=@_;
96    
97     if ( $#{$array} ne $#vals) { $self->testfail(
98     $#{$array}." items retuned, $#vals expected");
99 williamc 1.1.2.2.2.1 print "returned @$array"."\n";
100 williamc 1.1.2.1 }
101     else {
102     for( my $i=0; $i<= $#{$array}; $i++) {
103     $self->_teststring($vals[$i],$$array[$i]);
104     }
105     }
106 williamc 1.1.2.2.2.1 }
107    
108     # -- stubs
109    
110     sub newiterator {
111     my $self=shift;
112     return $self;
113     }
114    
115     sub next {
116     my $self=shift;
117     return $self;
118     }
119    
120     sub location {
121     my $self=shift;
122     return $self->{testlocation};
123     }
124    
125     sub last {
126     my $self=shift;
127     $self->{alastnumb}-=1;
128     print "Dummy last : ".$self->{alastnumb}."\n";
129     return ( $self->{alastnumb} >= 0 )?0:1;
130     }
131    
132     sub toolbox {
133     my $self=shift;
134     return $self;
135     }
136    
137     sub gettool {
138     my $self=shift;
139     return $self;
140     }
141    
142     sub getfeature {
143     my $self=shift;
144     my $name=shift;
145     print "Feature $name requested - returning multiple\n";
146     return ( "testreturnvalue1", "testreturnvalue2", "testreturnvalue3");
147     }
148    
149     sub equals {
150     my $self=shift;
151     return 1;
152 williamc 1.1.2.1 }