Added a simple stress test that hits every URI in the test suite
[catagits/Catalyst-Runtime.git] / t / optional / stress.t
CommitLineData
ec54df42 1#!perl\r
2\r
3use strict;\r
4use warnings;\r
5\r
6use FindBin;\r
7use lib "$FindBin::Bin/../live/lib";\r
8\r
9use Test::More;\r
10use Catalyst::Test 'TestApp';\r
11use YAML;\r
12\r
13our ($iters, $tests);\r
14BEGIN { \r
15 plan skip_all => 'set CAT_STRESS to enable this test' unless $ENV{CAT_STRESS};\r
16 \r
17 $iters = $ENV{CAT_STRESS} || 10;\r
18 $tests = YAML::LoadFile( "$FindBin::Bin/stress.yml" );\r
19 \r
20 my $total_tests = 0;\r
21 map { $total_tests += scalar @{ $tests->{$_} } } keys %{$tests};\r
22 plan tests => $iters * $total_tests;\r
23}\r
24\r
25for ( 1 .. $iters ) {\r
26 run_tests();\r
27}\r
28\r
29sub run_tests {\r
30 foreach my $test_group ( keys %{$tests} ) {\r
31 foreach my $test ( @{ $tests->{$test_group} } ) {\r
32 ok( request( $test ), $test_group . ' - ' . $test );\r
33 }\r
34 }\r
35}\r