X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Foptional_threads.t;h=3d7dd8abf47e1809d6a8033e04704bbf875eb263;hp=05b4c965b828a550970f5745f3e250997f3abf51;hb=4e45fa288ea80bf2a4587dd2278c784286aafdc3;hpb=c7ded7aaf69e506924a5406349fd665c7717acb8 diff --git a/t/optional_threads.t b/t/optional_threads.t index 05b4c96..3d7dd8a 100644 --- a/t/optional_threads.t +++ b/t/optional_threads.t @@ -1,20 +1,19 @@ -#!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 Test::More; use Catalyst::Test 'TestApp'; use Catalyst::Request; use Config; use HTTP::Response; -plan skip_all => 'set TEST_THREADS to enable this test' - unless $ENV{TEST_THREADS}; - if ( $Config{useithreads} && !$ENV{CATALYST_SERVER} ) { require threads; plan tests => 3; @@ -27,15 +26,16 @@ 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',@_) }, - @_ +my $request_code = \&request; +*request = sub { + my $thr = threads->new( + sub { $request_code->(@_) }, + @_ ); $thr->join; -} +}; # test that running inside a thread works ok { @@ -43,11 +43,11 @@ sub request { TestApp::Controller::Action::Default->begin TestApp::Controller::Action::Default->default TestApp::View::Dump::Request->process - TestApp->end + 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' );