package Varnish::Test::Case;
use strict;
-use Carp 'croak';
use Varnish::Test::Logger;
use strict;
use base 'Varnish::Test::Case';
-use Carp 'croak';
-
our $VCL = "
sub vcl_recv {
pass;
my ($event, $response) = $self->run_loop('ev_client_response', 'ev_client_timeout');
- croak 'Client time-out before receiving a (complete) response'
- if $event eq 'ev_client_timeout';
- croak 'Server was not contacted by Varnish'
- if $self->{'engine'}->{'server'}->{'requests'} != $requests + 1;
- croak sprintf('Protocol version mismatch: got: %s expected: %s',
- $response->protocol, $sv)
- if $response->protocol ne $sv;
+ die 'Client time-out before receiving a (complete) response\n'
+ if $event eq 'ev_client_timeout';
+ die 'Server was not contacted by Varnish\n'
+ if $self->{'engine'}->{'server'}->{'requests'} != $requests + 1;
+ die sprintf('Protocol version mismatch: got: %s expected: %s\n',
+ $response->protocol, $sv)
+ if $response->protocol ne $sv;
return sprintf("Client: %s Server: %s", $cv, $sv);
}
use strict;
use base 'Varnish::Test::Case';
-use Carp 'croak';
-
our $VCL = <<EOVCL;
sub vcl_recv {
if (req.request == "POST" &&
my ($event, $response) = $self->run_loop('ev_client_response', 'ev_client_timeout');
- croak 'Client time-out before receiving a (complete) response'
- if $event eq 'ev_client_timeout';
- croak 'Empty body' if $response->content eq '';
- croak 'Incorrect body' if $response->content ne $body;
+ die 'Client time-out before receiving a (complete) response\n'
+ if $event eq 'ev_client_timeout';
+ die 'Empty body\n'
+ if $response->content eq '';
+ die 'Incorrect body\n'
+ if $response->content ne $body;
}
return 'OK';
package Varnish::Test::Client;
use strict;
-use Carp 'croak';
use IO::Socket::INET;
my $fh = IO::Socket::INET->new('Proto' => 'tcp',
'PeerAddr' => 'localhost',
'PeerPort' => '8080')
- or croak "socket: $@";
+ or die "socket(): $!\n";
$self->{'fh'} = $fh;
$self->{'mux'}->add($fh);
my ($self, $mux, $fh, $data) = @_;
if ($$data ne '') {
- croak 'Junk or incomplete response' unless $$data =~ "\n\r?\n";
+ die 'Junk or incomplete response\n'
+ unless $$data =~ "\n\r?\n";
my $response = HTTP::Response->parse($$data);
$$data = '';
package Varnish::Test::Engine;
use strict;
-use Carp 'croak';
use Varnish::Test::Server;
use Varnish::Test::Varnish;
sub run_loop($@) {
my ($self, @wait_for) = @_;
- croak 'Engine::run_loop: Already inside select-loop. Your code is buggy.'
+ die 'Engine::run_loop: Already inside select-loop. Your code is buggy.\n'
if exists($self->{'in_loop'});
- croak 'Engine::run_loop: No events to wait for.'
+ die 'Engine::run_loop: No events to wait for.\n'
if @wait_for == 0;
while (@{$self->{'pending'}} > 0) {
return if $event eq 'DESTROY';
- croak sprintf('Unknown method "%s"', $event)
- unless $event =~ /^ev_(.*)$/;
+ die sprintf('Unknown method "%s"\n', $event)
+ unless $event =~ /^ev_(.*)$/;
$self->log($self, 'ENG: ', sprintf('EVENT "%s"', $1));
@args = $self->{'case'}->$event(@args)
- if (defined($self->{'case'}) and $self->{'case'}->can($event));
+ if (defined($self->{'case'}) and $self->{'case'}->can($event));
if (@{$self->{'pending'}} > 0) {
push(@{$self->{'pending'}}, [ $event, @args ]);
package Varnish::Test::Server;
use strict;
-use Carp 'croak';
use IO::Socket::INET;
'LocalPort' => $port,
'Listen' => 4,
'ReuseAddr' => 1)
- or croak "socket: $@";
+ or die "socket(): $!\n";
my $self = bless({ 'engine' => $engine,
'mux' => $engine->{'mux'},
package Varnish::Test::Server::Connection;
use strict;
-use Carp 'croak';
sub new($$) {
my ($this, $server, $fh) = @_;
sub mux_eof($$$$) {
my ($self, $mux, $fh, $data) = @_;
- croak 'Junk or incomplete request' unless $$data eq '';
+ die 'Junk or incomplete request\n'
+ unless $$data eq '';
}
1;
package Varnish::Test::Varnish;
use strict;
-use Carp 'croak';
use Socket;
delete $SIG{CHLD};
my $pid = fork;
- croak "fork(): $@\n" unless defined($pid);
+ die "fork(): $!\n"
+ unless defined($pid);
if ($pid == 0) {
# Child
sub send_command($@) {
my ($self, @args) = @_;
- croak 'not ready' if $self->{'state'} eq 'init';
- croak sprintf('busy awaiting earlier command (%s)', $self->{'pending'})
- if defined $self->{'pending'};
+ die 'not ready\n'
+ if $self->{'state'} eq 'init';
+ die sprintf('busy awaiting earlier command (%s)\n', $self->{'pending'})
+ if defined $self->{'pending'};
foreach (@args) {
if (m/[\s\"\n]/) {
sub start_child($) {
my ($self) = @_;
- croak 'not ready' if $self->{'state'} eq 'init';
- croak 'already started' if $self->{'state'} eq 'started';
+ die 'not ready\n'
+ if $self->{'state'} eq 'init';
+ die 'already started\n'
+ if $self->{'state'} eq 'started';
$self->send_command("start");
}
sub stop_child($) {
my ($self) = @_;
- croak 'not ready' if $self->{'state'} eq 'init';
- croak 'already stopped' if $self->{'state'} eq 'stopped';
+ die 'not ready\n'
+ if $self->{'state'} eq 'init';
+ die 'already stopped\n'
+ if $self->{'state'} eq 'stopped';
$self->send_command("stop");
}
my ($self, $signal) = @_;
$signal ||= 15;
- croak 'Not running' unless defined($self->{'pid'});
+ die 'Not running\n'
+ unless defined($self->{'pid'});
kill($signal, $self->{'pid'});
delete $self->{'pid'};
}