Skip %2F and period tests on remote servers
Andy Grundman [Tue, 27 Mar 2007 20:25:45 +0000 (20:25 +0000)]
t/live_component_controller_args.t

index 0b869f5..f5768ae 100644 (file)
@@ -11,7 +11,7 @@ use URI::Escape;
 our @paths;
 our $iters;
 
-BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 2;
+BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 1;
 
        # add special paths to test here
        @paths = (
@@ -62,29 +62,36 @@ sub run_test_for {
     } else {
         $path = uri_escape($test);
     }
+    
+    SKIP:
+    {   
+        # Skip %2F and . tests on real webservers, they are often ignored by default
+        if ( $ENV{CATALYST_SERVER} && $path =~ /(?:%2F|\.)/ ) {
+            skip "Skipping $path tests on remote server", 6;
+        }
 
-    my $response;
+        my $response;
 
-    ok( $response = request("http://localhost/args/args/$path"), "Requested args for path $path");
+        ok( $response = request("http://localhost/args/args/$path"), "Requested args for path $path");
 
-    is( $response->content, $test, 'as args' );
+        is( $response->content, $test, "$test as args" );
 
-    undef $response;
+        undef $response;
 
-    ok( $response = request("http://localhost/args/params/$path"), "Requested params for path $path");
+        ok( $response = request("http://localhost/args/params/$path"), "Requested params for path $path");
 
-    is( $response->content, $test, 'as params' );
+        is( $response->content, $test, "$test as params" );
 
-    undef $response;
+        undef $response;
 
-    if( $test =~ m{/} ) {
-        $test =~ s{/}{}g;
-        $path = uri_escape( $test ); 
-    }
-
-    ok( $response = request("http://localhost/chained/multi_cap/$path/baz"), "Requested capture for path $path");
+        if( $test =~ m{/} ) {
+            $test =~ s{/}{}g;
+            $path = uri_escape( $test ); 
+        }
 
-    is( $response->content, join( ', ', split( //, $test ) ) ."; ", 'as capture' );
+        ok( $response = request("http://localhost/chained/multi_cap/$path/baz"), "Requested capture for path $path");
 
+        is( $response->content, join( ', ', split( //, $test ) ) ."; ", "$test as capture" );
+    }
 }