Fix the return value of Catalyst::Request's body method + tests.
[catagits/Catalyst-Runtime.git] / t / optional_stress.t
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';
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
18     eval "use YAML";
19     plan skip_all => 'YAML is required for this test' if $@;
20
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 }