r1516 - in trunk/varnish-tools/regress: . lib/Varnish lib/Varnish/Test
des at projects.linpro.no
des at projects.linpro.no
Thu Jun 14 18:38:59 CEST 2007
Author: des
Date: 2007-06-14 18:38:58 +0200 (Thu, 14 Jun 2007)
New Revision: 1516
Modified:
trunk/varnish-tools/regress/lib/Varnish/Test.pm
trunk/varnish-tools/regress/lib/Varnish/Test/Case.pm
trunk/varnish-tools/regress/varnish-regress.pl
Log:
Rather than start and stop the engine for every test case, just stop (and
restart) it if a test failed.
Modified: trunk/varnish-tools/regress/lib/Varnish/Test/Case.pm
===================================================================
--- trunk/varnish-tools/regress/lib/Varnish/Test/Case.pm 2007-06-14 14:14:12 UTC (rev 1515)
+++ trunk/varnish-tools/regress/lib/Varnish/Test/Case.pm 2007-06-14 16:38:58 UTC (rev 1516)
@@ -97,6 +97,11 @@
}
delete $self->{'engine'}->{'case'};
+
+ if ($self->{'failed'}) {
+ die sprintf("%d out of %d tests failed\n",
+ $self->{'failed'}, $self->{'count'});
+ }
}
sub run($;@) {
Modified: trunk/varnish-tools/regress/lib/Varnish/Test.pm
===================================================================
--- trunk/varnish-tools/regress/lib/Varnish/Test.pm 2007-06-14 14:14:12 UTC (rev 1515)
+++ trunk/varnish-tools/regress/lib/Varnish/Test.pm 2007-06-14 16:38:58 UTC (rev 1516)
@@ -67,8 +67,6 @@
package Varnish::Test;
-use Carp 'croak';
-
use Varnish::Test::Engine;
sub new($) {
@@ -89,7 +87,10 @@
sub stop_engine($;$) {
my ($self) = @_;
- (delete $self->{'engine'})->shutdown if defined $self->{'engine'};
+ if (defined($self->{'engine'})) {
+ $self->{'engine'}->shutdown();
+ delete $self->{'engine'};
+ }
}
sub run_case($$) {
@@ -98,19 +99,23 @@
my $module = 'Varnish::Test::Case::' . $name;
eval 'use ' . $module;
- croak $@ if $@;
+ die $@ if $@;
- $self->start_engine;
+ $self->start_engine();
my $case = $module->new($self->{'engine'});
push(@{$self->{'cases'}}, $case);
- $case->init;
- $case->run;
- $case->fini;
-
- $self->stop_engine;
+ eval {
+ $case->init();
+ $case->run();
+ $case->fini();
+ };
+ if ($@) {
+ $self->{'engine'}->log($self, 'TST: ', $@);
+ $self->stop_engine();
+ }
}
1;
Modified: trunk/varnish-tools/regress/varnish-regress.pl
===================================================================
--- trunk/varnish-tools/regress/varnish-regress.pl 2007-06-14 14:14:12 UTC (rev 1515)
+++ trunk/varnish-tools/regress/varnish-regress.pl 2007-06-14 16:38:58 UTC (rev 1516)
@@ -86,16 +86,18 @@
}
}
- my $controller = Varnish::Test->new;
+ my $controller = new Varnish::Test;
+ $controller->start_engine();
foreach my $casename (@casenames) {
$controller->run_case($casename);
}
+ $controller->stop_engine();
foreach my $case (@{$controller->{'cases'}}) {
(my $name = ref($case)) =~ s/.*://;
- print sprintf("%s: Successful: %d Failed: %d\n",
- $name, $case->{'successful'}, $case->{'failed'});
+ printf("%s: Successful: %d Failed: %d\n",
+ $name, $case->{'successful'}, $case->{'failed'});
}
}
More information about the varnish-commit
mailing list