Mercurial > pub > Impl
comparison Lib/IMPL/Test/Plan.pm @ 194:4d0e1962161c
Replaced tabs with spaces
IMPL::Web::View - fixed document model, new features (control classes, document constructor parameters)
author | cin |
---|---|
date | Tue, 10 Apr 2012 20:08:29 +0400 |
parents | 4267a2ac3d46 |
children |
comparison
equal
deleted
inserted
replaced
193:8e8401c0aea4 | 194:4d0e1962161c |
---|---|
73 | 73 |
74 $info{Unit} = $Unit; | 74 $info{Unit} = $Unit; |
75 try { | 75 try { |
76 $info{Tests} = [$Unit->List]; | 76 $info{Tests} = [$Unit->List]; |
77 } otherwise { | 77 } otherwise { |
78 my $err = $@; | 78 my $err = $@; |
79 $Unit = $info{Unit} = new IMPL::Test::BadUnit( | 79 $Unit = $info{Unit} = new IMPL::Test::BadUnit( |
80 $Unit->can('UnitName') ? | 80 $Unit->can('UnitName') ? |
81 $Unit->UnitName : | 81 $Unit->UnitName : |
82 $Unit, | 82 $Unit, |
83 "Failed to extract tests", | 83 "Failed to extract tests", |
84 $err | 84 $err |
85 ); | 85 ); |
86 $info{Tests} = [$Unit->List]; | 86 $info{Tests} = [$Unit->List]; |
87 }; | 87 }; |
88 $count += @{$info{Tests}}; | 88 $count += @{$info{Tests}}; |
89 push @cache, \%info if @{$info{Tests}}; | 89 push @cache, \%info if @{$info{Tests}}; |
90 } | 90 } |
117 }; | 117 }; |
118 | 118 |
119 my @results; | 119 my @results; |
120 | 120 |
121 if (not $@) { | 121 if (not $@) { |
122 | 122 |
123 foreach my $test (@{$info->{Tests}}) { | 123 foreach my $test (@{$info->{Tests}}) { |
124 my $name = $test->Name; | 124 my $name = $test->Name; |
125 | 125 |
126 #protected creation of the test | 126 #protected creation of the test |
127 $test = eval { $info->{Unit}->new($test); } || new IMPL::Test::BadUnit( | 127 $test = eval { $info->{Unit}->new($test); } || new IMPL::Test::BadUnit( |
128 $info->{Unit}->can('UnitName') ? | 128 $info->{Unit}->can('UnitName') ? |
129 $info->{Unit}->UnitName : | 129 $info->{Unit}->UnitName : |
130 $info->{Unit}, | 130 $info->{Unit}, |
131 "Failed to construct the test $name", | 131 "Failed to construct the test $name", |
132 $@ | 132 $@ |
133 ); | 133 ); |
134 | 134 |
135 # invoke the test | 135 # invoke the test |
136 $this->_Tell(RunTest => $test); | 136 $this->_Tell(RunTest => $test); |
137 my $result = $test->Run($data); | 137 my $result = $test->Run($data); |
138 $this->_Tell(EndTest => $test,$result); | 138 $this->_Tell(EndTest => $test,$result); |
139 | 139 |
140 push @results,$result; | 140 push @results,$result; |
141 } | 141 } |
142 } else { | 142 } else { |
143 my $e = $@; | 143 my $e = $@; |
144 my $badTest = new IMPL::Test::BadUnit( | 144 my $badTest = new IMPL::Test::BadUnit( |
145 $info->{Unit}->can('UnitName') ? | 145 $info->{Unit}->can('UnitName') ? |
146 $info->{Unit}->UnitName : | 146 $info->{Unit}->UnitName : |
147 $info->{Unit}, | 147 $info->{Unit}, |
148 "Failed to initialize the unit", | 148 "Failed to initialize the unit", |
149 $@ | 149 $@ |
150 ); | 150 ); |
151 foreach my $test (@{$info->{Tests}}) { | 151 foreach my $test (@{$info->{Tests}}) { |
152 | 152 |
153 $this->_Tell(RunTest => $badTest); | 153 $this->_Tell(RunTest => $badTest); |
154 my $result = new IMPL::Test::Result( | 154 my $result = new IMPL::Test::Result( |
155 Name => $test->Name, | 155 Name => $test->Name, |
156 State => IMPL::Test::Result::FAIL, | 156 State => IMPL::Test::Result::FAIL, |
157 Exception => $e | 157 Exception => $e |