Switched to Module::Install
[catagits/Catalyst-Runtime.git] / t / optional_stress.t
diff --git a/t/optional_stress.t b/t/optional_stress.t
new file mode 100644 (file)
index 0000000..d9fdf56
--- /dev/null
@@ -0,0 +1,37 @@
+#!perl\r
+\r
+use strict;\r
+use warnings;\r
+\r
+use FindBin;\r
+use lib "$FindBin::Bin/../live/lib";\r
+\r
+use Test::More;\r
+use Catalyst::Test 'TestApp';\r
+use YAML;\r
+\r
+our ( $iters, $tests );\r
+\r
+BEGIN {\r
+    plan skip_all => 'set TEST_STRESS to enable this test'\r
+      unless $ENV{TEST_STRESS};\r
+\r
+    $iters = $ENV{TEST_STRESS} || 10;\r
+    $tests = YAML::LoadFile("$FindBin::Bin/optional_stress.yml");\r
+\r
+    my $total_tests = 0;\r
+    map { $total_tests += scalar @{ $tests->{$_} } } keys %{$tests};\r
+    plan tests => $iters * $total_tests;\r
+}\r
+\r
+for ( 1 .. $iters ) {\r
+    run_tests();\r
+}\r
+\r
+sub run_tests {\r
+    foreach my $test_group ( keys %{$tests} ) {\r
+        foreach my $test ( @{ $tests->{$test_group} } ) {\r
+            ok( request($test), $test_group . ' - ' . $test );\r
+        }\r
+    }\r
+}\r