Mailing List Archive

r1516 - in trunk/varnish-tools/regress: . lib/Varnish lib/Varnish/Test
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'});
}
}