Moved some PAR stuff
[catagits/Catalyst-Runtime.git] / t / live / component / controller / action / begin.t
index f94d13b..ab65643 100644 (file)
@@ -6,29 +6,48 @@ use warnings;
 use FindBin;
 use lib "$FindBin::Bin/../../../lib";
 
-use Test::More tests => 7;
+our $iters;
+
+BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2; }
+
+use Test::More tests => 7*$iters;
 use Catalyst::Test 'TestApp';
 
-{
-    my @expected = qw[
-      TestApp::Controller::Action::Begin->begin
-      TestApp::Controller::Action::Begin->default
-      TestApp::View::Dump::Request->process
-    ];
-
-    my $expected = join( ", ", @expected );
-
-    ok( my $response = request('http://localhost/action/begin'), 'Request' );
-    ok( $response->is_success, 'Response Successful 2xx' );
-    is( $response->content_type, 'text/plain', 'Response Content-Type' );
-    is( $response->header('X-Catalyst-Action'), 'default', 'Test Action' );
-    is(
-        $response->header('X-Test-Class'),
-        'TestApp::Controller::Action::Begin',
-        'Test Class'
-    );
-    is( $response->header('X-Catalyst-Executed'),
-        $expected, 'Executed actions' );
-    like( $response->content, qr/'Catalyst::Request'/,
-        'Content is a serialized Catalyst::Request' );
+if ( $ENV{CAT_BENCHMARK} ) {
+    require Benchmark;
+    Benchmark::timethis( $iters, \&run_tests );
+}
+else {
+    for ( 1 .. $iters ) {
+        run_tests();
+    }
+}
+
+sub run_tests {
+
+    {
+        my @expected = qw[
+          TestApp::Controller::Action::Begin->begin
+          TestApp::Controller::Action::Begin->default
+          TestApp::View::Dump::Request->process
+         TestApp->end
+        ];
+
+        my $expected = join( ", ", @expected );
+
+        ok( my $response = request('http://localhost/action/begin'),
+            'Request' );
+        ok( $response->is_success, 'Response Successful 2xx' );
+        is( $response->content_type, 'text/plain', 'Response Content-Type' );
+        is( $response->header('X-Catalyst-Action'), 'default', 'Test Action' );
+        is(
+            $response->header('X-Test-Class'),
+            'TestApp::Controller::Action::Begin',
+            'Test Class'
+        );
+        is( $response->header('X-Catalyst-Executed'),
+            $expected, 'Executed actions' );
+        like( $response->content, qr/'Catalyst::Request'/,
+            'Content is a serialized Catalyst::Request' );
+    }
 }