X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Foptional_lighttpd-fastcgi-non-root.t;h=1a59e29908e712186e48438c66cf9ecff7749efb;hp=d76d489aac4c7a0a37f80315e1aaee5b43ad47e1;hb=8ae5aabd9cdab481eeb9f885eff96ad5fb768b55;hpb=ec904766414ffebc2a3a3fcb13aaf2b7f7805ff4 diff --git a/t/optional_lighttpd-fastcgi-non-root.t b/t/optional_lighttpd-fastcgi-non-root.t index d76d489..1a59e29 100644 --- a/t/optional_lighttpd-fastcgi-non-root.t +++ b/t/optional_lighttpd-fastcgi-non-root.t @@ -1,15 +1,18 @@ -#!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; -plan skip_all => 'set TEST_LIGHTTPD to enable this test' - unless $ENV{TEST_LIGHTTPD}; +eval "use FCGI"; +plan skip_all => 'FCGI required' if $@; eval "use Catalyst::Devel 1.0"; plan skip_all => 'Catalyst::Devel required' if $@; @@ -20,7 +23,9 @@ plan skip_all => 'File::Copy::Recursive required' if $@; eval "use Test::Harness"; plan skip_all => 'Test::Harness required' if $@; -my $lighttpd_bin = $ENV{LIGHTTPD_BIN}; +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; @@ -32,7 +37,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' ); @@ -51,6 +56,7 @@ my $conf = <<"END"; server.modules = ( "mod_access", "mod_fastcgi", + "mod_rewrite", "mod_accesslog" ) @@ -62,16 +68,23 @@ accesslog.filename = "$docroot/access.log" server.bind = "127.0.0.1" server.port = $port +# Work around inability to hit http://localhost/deep/path +# without a trailing slash +url.rewrite = ( "deep/path\$" => "deep/path/" ) + # catalyst app specific fcgi setup fastcgi.server = ( "/deep/path" => ( "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" => "$docroot/../../lib" + ) ) ) ) @@ -94,7 +107,7 @@ while ( check_port( 'localhost', $port ) != 1 ) { # run the testsuite against the server $ENV{CATALYST_SERVER} = "http://localhost:$port/deep/path"; -my @tests = glob('t/live_*'); +my @tests = (shift) || glob('t/aggregate/live_*'); eval { runtests(@tests); };