X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Foptional_lighttpd-fastcgi-non-root.t;h=675d63583110aa818f00c1af72f8b540a0375bea;hb=c21edb69700062e68b1d925b46c3c89228ca9e9d;hp=5618014cf4507ddd27bac0fc7cf67c6f220b7af3;hpb=3f5f2699dc0cb69fbb435bd748d2ac12466f182d;p=catagits%2FCatalyst-Runtime.git diff --git a/t/optional_lighttpd-fastcgi-non-root.t b/t/optional_lighttpd-fastcgi-non-root.t index 5618014..675d635 100644 --- a/t/optional_lighttpd-fastcgi-non-root.t +++ b/t/optional_lighttpd-fastcgi-non-root.t @@ -8,14 +8,22 @@ use FindBin; use IO::Socket; use Test::More; +plan skip_all => 'set TEST_LIGHTTPD to enable this test' + unless $ENV{TEST_LIGHTTPD}; + eval "use Catalyst::Devel 1.0"; plan skip_all => 'Catalyst::Devel required' if $@; eval "use File::Copy::Recursive"; plan skip_all => 'File::Copy::Recursive required' if $@; -my $lighttpd_bin = $ENV{LIGHTTPD_BIN}; -plan skip_all => 'Please set LIGHTTPD_BIN to run this test' +eval "use Test::Harness"; +plan skip_all => 'Test::Harness required' if $@; + +my $lighttpd_bin = $ENV{LIGHTTPD_BIN} || `which lighttpd`; +chomp $lighttpd_bin; + +plan skip_all => 'Please set LIGHTTPD_BIN to the path to lighttpd' unless $lighttpd_bin && -x $lighttpd_bin; plan tests => 1; @@ -71,7 +79,8 @@ fastcgi.server = ( ) END -open(my $lightconf, '>', "$docroot/lighttpd.conf") or die "Can't open $docroot/lighttpd.conf: $!"; +open(my $lightconf, '>', "$docroot/lighttpd.conf") + or die "Can't open $docroot/lighttpd.conf: $!"; print {$lightconf} $conf or die "Write error: $!"; close $lightconf; @@ -79,14 +88,19 @@ my $pid = open my $lighttpd, "$lighttpd_bin -D -f $docroot/lighttpd.conf 2>&1 |" or die "Unable to spawn lighttpd: $!"; # wait for it to start -print "Waiting for server to start...\n"; while ( check_port( 'localhost', $port ) != 1 ) { + diag "Waiting for server to start..."; sleep 1; } # run the testsuite against the server $ENV{CATALYST_SERVER} = "http://localhost:$port/deep/path"; -system( 'prove -r -Ilib/ t/live_*' ); + +my @tests = glob('t/live_*'); +eval { + runtests(@tests); +}; +ok(!$@, 'lighttpd tests ran OK'); # shut it down kill 'INT', $pid; @@ -95,8 +109,6 @@ close $lighttpd; # clean up rmtree "$FindBin::Bin/../t/tmp" if -d "$FindBin::Bin/../t/tmp"; -ok( 'done' ); - sub check_port { my ( $host, $port ) = @_;