Commit | Line | Data |
c7ded7aa |
1 | #!perl |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
6 | use FindBin; |
7 | use lib "$FindBin::Bin/lib"; |
8 | |
9 | use Test::More; |
10 | use Catalyst::Test 'TestApp'; |
c7ded7aa |
11 | |
12 | our ( $iters, $tests ); |
13 | |
14 | BEGIN { |
15 | plan skip_all => 'set TEST_STRESS to enable this test' |
16 | unless $ENV{TEST_STRESS}; |
17 | |
15f0ede8 |
18 | eval "use YAML"; |
19 | plan skip_all => 'YAML is required for this test' if $@; |
20 | |
c7ded7aa |
21 | $iters = $ENV{TEST_STRESS} || 10; |
22 | $tests = YAML::LoadFile("$FindBin::Bin/optional_stress.yml"); |
23 | |
24 | my $total_tests = 0; |
25 | map { $total_tests += scalar @{ $tests->{$_} } } keys %{$tests}; |
26 | plan tests => $iters * $total_tests; |
27 | } |
28 | |
29 | for ( 1 .. $iters ) { |
30 | run_tests(); |
31 | } |
32 | |
33 | sub run_tests { |
34 | foreach my $test_group ( keys %{$tests} ) { |
35 | foreach my $test ( @{ $tests->{$test_group} } ) { |
36 | ok( request($test), $test_group . ' - ' . $test ); |
37 | } |
38 | } |
39 | } |