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=c4020902bff884f1b4042c817ec595ebd92274eb;hp=6e1bb67dc092f4f53c1d580d58d1099d54c9b449;hb=7991d6fc21b6827110266ea18a2e302a609190e2;hpb=868a7cca6687d5a4df03ad4f70f60fc124033f62 diff --git a/t/optional_lighttpd-fastcgi-non-root.t b/t/optional_lighttpd-fastcgi-non-root.t index 6e1bb67..c402090 100644 --- a/t/optional_lighttpd-fastcgi-non-root.t +++ b/t/optional_lighttpd-fastcgi-non-root.t @@ -1,27 +1,30 @@ -#!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 $@; +BEGIN { + eval "use FCGI"; + plan skip_all => 'FCGI required' if $@; -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 $@; -eval "use File::Copy::Recursive"; -plan skip_all => 'File::Copy::Recursive required' if $@; + eval "use Test::Harness"; + plan skip_all => 'Test::Harness required' if $@; +} -eval "use Test::Harness"; -plan skip_all => 'Test::Harness required' if $@; +use lib 't/lib'; +use MakeTestApp; my $lighttpd_bin = $ENV{LIGHTTPD_BIN} || `which lighttpd`; chomp $lighttpd_bin; @@ -31,25 +34,16 @@ plan skip_all => 'Please set LIGHTTPD_BIN to the path to lighttpd' plan tests => 1; -# clean up -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 "$^X -I$FindBin::Bin/../lib $FindBin::Bin/../script/catalyst.pl TestApp"; -chdir "$FindBin::Bin/.."; -File::Copy::Recursive::dircopy( 't/lib', 't/tmp/TestApp/lib' ); - -# remove TestApp's tests -rmtree 't/tmp/TestApp/t'; +make_test_app; # Create a temporary lighttpd config 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 @@ -69,7 +63,7 @@ server.bind = "127.0.0.1" server.port = $port # Work around inability to hit http://localhost/deep/path -# without a trailing slash +# without a trailing slash url.rewrite = ( "deep/path\$" => "deep/path/" ) # catalyst app specific fcgi setup @@ -83,21 +77,21 @@ fastcgi.server = ( "max-procs" => 1, "idle-timeout" => 20, "bin-environment" => ( - "PERL5LIB" => "$docroot/../../lib" + "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..."; @@ -107,7 +101,7 @@ while ( check_port( 'localhost', $port ) != 1 ) { # run the testsuite against the server $ENV{CATALYST_SERVER} = "http://localhost:$port/deep/path"; -my @tests = (shift) || glob('t/live_*'); +my @tests = (shift) || glob('t/aggregate/live_*'); eval { runtests(@tests); };