-#!perl\r
-\r
-use strict;\r
-use warnings;\r
-\r
-use FindBin;\r
-use lib "$FindBin::Bin/../live/lib";\r
-\r
-use Test::More;\r
-use Catalyst::Test 'TestApp';\r
-use Catalyst::Request;\r
-use Config;\r
-\r
-plan skip_all => 'set TEST_THREADS to enable this test'\r
- unless $ENV{TEST_THREADS};\r
-\r
-if ( $Config{useithreads} && !$ENV{CATALYST_SERVER} ) {\r
- require threads;\r
- plan tests => 3;\r
-}\r
-else {\r
- if ( $ENV{CATALYST_SERVER} ) {\r
- plan skip_all => 'Using remote server';\r
- }\r
- else {\r
- plan skip_all => 'Needs a Perl with ithreads enabled';\r
- }\r
-}\r
- \r
-no warnings 'redefine';\r
-sub request {\r
- my $thr = threads->new( \r
- sub { TestApp->run(@_) },\r
- @_ \r
- );\r
- $thr->join;\r
-}\r
-\r
-# test that running inside a thread works ok\r
-{\r
- my @expected = qw[\r
- TestApp::Controller::Action::Default->begin\r
- TestApp::Controller::Action::Default->default\r
- TestApp::View::Dump::Request->process\r
- TestApp->end\r
- ];\r
-\r
- my $expected = join( ", ", @expected );\r
- \r
- ok( my $response = request('http://localhost/action/default'), 'Request' );\r
- ok( $response->is_success, 'Response Successful 2xx' );\r
- is( $response->header('X-Catalyst-Executed'), $expected, 'Executed actions' );\r
-}\r
+#!perl
+
+use strict;
+use warnings;
+
+use Test::More;
+BEGIN {
+ plan skip_all => 'set TEST_THREADS to enable this test'
+ unless $ENV{TEST_THREADS};
+}
+
+use FindBin;
+use lib "$FindBin::Bin/lib";
+use Catalyst::Test 'TestApp';
+use Catalyst::Request;
+use Config;
+use HTTP::Response;
+
+if ( $Config{useithreads} && !$ENV{CATALYST_SERVER} ) {
+ require threads;
+ plan tests => 3;
+}
+else {
+ if ( $ENV{CATALYST_SERVER} ) {
+ plan skip_all => 'Using remote server';
+ }
+ else {
+ plan skip_all => 'Needs a Perl with ithreads enabled';
+ }
+}
+
+no warnings 'redefine';
+sub request {
+ my $thr = threads->new(
+ sub { Catalyst::Test::local_request('TestApp',@_) },
+ @_
+ );
+ $thr->join;
+}
+
+# test that running inside a thread works ok
+{
+ my @expected = qw[
+ TestApp::Controller::Action::Default->begin
+ TestApp::Controller::Action::Default->default
+ TestApp::View::Dump::Request->process
+ TestApp::Controller::Root->end
+ ];
+
+ my $expected = join( ", ", @expected );
+
+ ok( my $response = request('http://localhost/action/default'), 'Request' );
+ ok( $response->is_success, 'Response Successful 2xx' );
+ is( $response->header('X-Catalyst-Executed'), $expected, 'Executed actions' );
+}