use warnings;
use File::Path;
-use File::Slurp qw(write_file);
use FindBin;
use IO::Socket;
use Test::More;
eval "use File::Copy::Recursive";
plan skip_all => 'File::Copy::Recursive required' if $@;
-my $lighttpd_bin = $ENV{LIGHTTPD_BIN} || 'lighttpd';
-plan skip_all => 'Cannot find lighttpd, please set LIGHTTPD_BIN'
- unless -x $lighttpd_bin;
+my $lighttpd_bin = $ENV{LIGHTTPD_BIN};
+plan skip_all => 'Please set LIGHTTPD_BIN to run this test'
+ unless $lighttpd_bin && -x $lighttpd_bin;
plan tests => 1;
# Clean up docroot path
$docroot =~ s{/t/..}{};
-my $conf = qq{
+my $conf = <<"END";
# basic lighttpd config file for testing fcgi+catalyst
server.modules = (
"mod_access",
server.errorlog = "$docroot/error.log"
accesslog.filename = "$docroot/access.log"
+server.bind = "127.0.0.1"
server.port = $port
# catalyst app specific fcgi setup
)
)
)
-};
+END
-write_file "$docroot/lighttpd.conf", $conf;
+open(my $lightconf, '>', "$docroot/lighttpd.conf") or die "Can't open $docroot/lighttpd.conf: $!";
+print {$lightconf} $conf or die "Write error: $!";
+close $lightconf;
my $pid = open my $lighttpd, "$lighttpd_bin -D -f $docroot/lighttpd.conf 2>&1 |"
or die "Unable to spawn lighttpd: $!";
sleep 1;
}
-exit;
-
# run the testsuite against the server
$ENV{CATALYST_SERVER} = "http://localhost:$port";
system( 'prove -r -Ilib/ t/live_*' );
else {
return 0;
}
-}
\ No newline at end of file
+}