X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Foptional_lighttpd-fastcgi.t;h=9e4daf1afccae39ba93f6d519fd8ef10aae44e17;hp=6ad351a058578523376388ff3682b7e9cb61f35a;hb=f3d2ec61cac867693834d3093c9dff7891e3e3f5;hpb=ac30970a0d0351b0ba3ab0d6de26bfcfc29b7e37 diff --git a/t/optional_lighttpd-fastcgi.t b/t/optional_lighttpd-fastcgi.t index 6ad351a..9e4daf1 100644 --- a/t/optional_lighttpd-fastcgi.t +++ b/t/optional_lighttpd-fastcgi.t @@ -1,16 +1,17 @@ -#!perl - use strict; use warnings; +use Test::More; +BEGIN { + plan skip_all => 'set TEST_LIGHTTPD to enable this test' + unless $ENV{TEST_LIGHTTPD}; +} + use File::Path; use FindBin; use IO::Socket; -use Test::More; +use Config (); -plan skip_all => 'set TEST_LIGHTTPD to enable this test' - unless $ENV{TEST_LIGHTTPD}; - eval "use FCGI"; plan skip_all => 'FCGI required' if $@; @@ -37,7 +38,7 @@ rmtree "$FindBin::Bin/../t/tmp" if -d "$FindBin::Bin/../t/tmp"; # create a TestApp and copy the test libs into it mkdir "$FindBin::Bin/../t/tmp"; chdir "$FindBin::Bin/../t/tmp"; -system "perl -I$FindBin::Bin/../lib $FindBin::Bin/../script/catalyst.pl TestApp"; +system "$^X -I$FindBin::Bin/../lib $FindBin::Bin/../script/catalyst.pl TestApp"; chdir "$FindBin::Bin/.."; File::Copy::Recursive::dircopy( 't/lib', 't/tmp/TestApp/lib' ); @@ -49,7 +50,9 @@ my $docroot = "$FindBin::Bin/../t/tmp"; my $port = 8529; # Clean up docroot path -$docroot =~ s{/t/..}{}; +$docroot =~ s{/t/\.\.}{}; + +my $perl5lib = join($Config::Config{path_sep}, "$docroot/../../lib", $ENV{PERL5LIB} || ()); my $conf = <<"END"; # basic lighttpd config file for testing fcgi+catalyst @@ -71,25 +74,28 @@ server.port = $port fastcgi.server = ( "" => ( "FastCgiTest" => ( - "socket" => "$docroot/test.socket", - "check-local" => "disable", - "bin-path" => "$docroot/TestApp/script/testapp_fastcgi.pl", - "min-procs" => 1, - "max-procs" => 1, - "idle-timeout" => 20 + "socket" => "$docroot/test.socket", + "check-local" => "disable", + "bin-path" => "$docroot/TestApp/script/testapp_fastcgi.pl", + "min-procs" => 1, + "max-procs" => 1, + "idle-timeout" => 20, + "bin-environment" => ( + "PERL5LIB" => "$perl5lib" + ) ) ) ) END -open(my $lightconf, '>', "$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; -my $pid = open my $lighttpd, "$lighttpd_bin -D -f $docroot/lighttpd.conf 2>&1 |" +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 while ( check_port( 'localhost', $port ) != 1 ) { diag "Waiting for server to start..."; @@ -99,7 +105,7 @@ while ( check_port( 'localhost', $port ) != 1 ) { # run the testsuite against the server $ENV{CATALYST_SERVER} = "http://localhost:$port"; -my @tests = glob('t/live_*'); +my @tests = (shift) || glob('t/aggregate/live_*'); eval { runtests(@tests); };