in lib/Search/Elasticsearch/TestServer.pm [47:82]
sub start {
#===================================
my $self = shift;
my $home = $self->es_home
or throw( 'Param', "Missing required param <es_home>" );
$self->es_version
or throw( 'Param', "Missing required param <es_version>" );
my $instances = $self->instances;
my $port = $self->http_port;
my $es_port = $self->es_port;
my @http = map { $port++ } ( 1 .. $instances );
my @transport = map { $es_port++ } ( 1 .. $instances );
$self->_check_ports( @http, @transport );
my $old_SIGINT = $SIG{INT};
$SIG{INT} = sub {
$self->shutdown;
if ( ref $old_SIGINT eq 'CODE' ) {
return $old_SIGINT->();
}
exit(1);
};
for ( 0 .. $instances - 1 ) {
my $dir = File::Temp->newdir();
push @{ $self->dirs }, $dir;
print "Starting node: http://127.0.0.1:$http[$_]\n";
$self->_start_node( $dir, $transport[$_], $http[$_] );
}
$self->_check_nodes(@http);
return [ map {"http://127.0.0.1:$_"} @http ];
}