[Catalyst-commits] r6651 - in trunk/Catalyst-Runtime/t: . conf
andyg at dev.catalyst.perl.org
andyg at dev.catalyst.perl.org
Mon Aug 13 03:16:35 GMT 2007
Author: andyg
Date: 2007-08-13 03:16:34 +0100 (Mon, 13 Aug 2007)
New Revision: 6651
Added:
trunk/Catalyst-Runtime/t/optional_apache-fastcgi-non-root.t
Modified:
trunk/Catalyst-Runtime/t/conf/extra.conf.in
trunk/Catalyst-Runtime/t/optional_apache-fastcgi.pl
Log:
Update Apache FastCGI tests to test at the root location as well as non-root.
Modified: trunk/Catalyst-Runtime/t/conf/extra.conf.in
===================================================================
--- trunk/Catalyst-Runtime/t/conf/extra.conf.in 2007-08-12 21:00:27 UTC (rev 6650)
+++ trunk/Catalyst-Runtime/t/conf/extra.conf.in 2007-08-13 02:16:34 UTC (rev 6651)
@@ -26,5 +26,16 @@
<IfModule mod_fastcgi.c>
FastCgiIpcDir @ServerRoot@/tmp/tmp
FastCgiServer @ServerRoot@/tmp/TestApp/script/testapp_fastcgi.pl -idle-timeout 300 -processes 1
- ScriptAlias /fastcgi/ @ServerRoot@/tmp/TestApp/script/testapp_fastcgi.pl/
+
+ # Test at a non-root location
+ ScriptAlias /fastcgi/deep/path/ @ServerRoot@/tmp/TestApp/script/testapp_fastcgi.pl/
+
+ # Test at root
+ ScriptAlias / @ServerRoot@/tmp/TestApp/script/testapp_fastcgi.pl/
+
+ <IfModule mod_rewrite.c>
+ # Fix trailing slas
+ RewriteEngine on
+ RewriteRule /fastcgi/deep/path$ /fastcgi/deep/path/ [PT]
+ </IfModule>
</IfModule>
Copied: trunk/Catalyst-Runtime/t/optional_apache-fastcgi-non-root.t (from rev 6650, trunk/Catalyst-Runtime/t/optional_apache-fastcgi.pl)
===================================================================
--- trunk/Catalyst-Runtime/t/optional_apache-fastcgi-non-root.t (rev 0)
+++ trunk/Catalyst-Runtime/t/optional_apache-fastcgi-non-root.t 2007-08-13 02:16:34 UTC (rev 6651)
@@ -0,0 +1,65 @@
+#!perl
+
+# Run all tests against FastCGI mode under Apache
+#
+# Note, to get this to run properly, you may need to give it the path to your
+# httpd.conf:
+#
+# perl t/optional_apache-fastcgi-non-root.pl -httpd_conf /etc/apache/httpd.conf t/live_*
+
+use strict;
+use warnings;
+
+use Apache::Test;
+use Apache::TestRun ();
+
+use File::Path;
+use File::Copy::Recursive;
+use FindBin;
+use IO::Socket;
+
+# clean up
+rmtree "$FindBin::Bin/../t/tmp" if -d "$FindBin::Bin/../t/tmp";
+
+# create a TestApp and copy the test libs into it
+mkdir "$FindBin::Bin/../t/tmp";
+chdir "$FindBin::Bin/../t/tmp";
+system "$FindBin::Bin/../script/catalyst.pl TestApp";
+chdir "$FindBin::Bin/..";
+File::Copy::Recursive::dircopy( 't/lib', 't/tmp/TestApp/lib' );
+
+# remove TestApp's tests so Apache::Test doesn't try to run them
+rmtree 't/tmp/TestApp/t';
+
+$ENV{CATALYST_SERVER} = 'http://localhost:8529/fastcgi/deep/path';
+
+if ( !-e 't/optional_apache-fastcgi.pl' ) {
+ die "ERROR: Please run test from the Catalyst-Runtime directory\n";
+}
+
+push @ARGV, glob( 't/live_*' );
+
+Apache::TestRun->new->run(@ARGV);
+
+# clean up if the server has shut down
+# this allows the test files to stay around if the user ran -start-httpd
+if ( !check_port( 'localhost', 8529 ) ) {
+ rmtree "$FindBin::Bin/../t/tmp" if -d "$FindBin::Bin/../t/tmp";
+}
+
+sub check_port {
+ my ( $host, $port ) = @_;
+
+ my $remote = IO::Socket::INET->new(
+ Proto => "tcp",
+ PeerAddr => $host,
+ PeerPort => $port
+ );
+ if ($remote) {
+ close $remote;
+ return 1;
+ }
+ else {
+ return 0;
+ }
+}
Modified: trunk/Catalyst-Runtime/t/optional_apache-fastcgi.pl
===================================================================
--- trunk/Catalyst-Runtime/t/optional_apache-fastcgi.pl 2007-08-12 21:00:27 UTC (rev 6650)
+++ trunk/Catalyst-Runtime/t/optional_apache-fastcgi.pl 2007-08-13 02:16:34 UTC (rev 6651)
@@ -5,7 +5,7 @@
# Note, to get this to run properly, you may need to give it the path to your
# httpd.conf:
#
-# perl t/optional_apache-fastcgi.pl -httpd_conf /etc/apache/httpd.conf
+# perl t/optional_apache-fastcgi.pl -httpd_conf /etc/apache/httpd.conf t/live_*
use strict;
use warnings;
@@ -31,8 +31,14 @@
# remove TestApp's tests so Apache::Test doesn't try to run them
rmtree 't/tmp/TestApp/t';
-$ENV{CATALYST_SERVER} = 'http://localhost:8529/fastcgi';
+$ENV{CATALYST_SERVER} = 'http://localhost:8529';
+if ( !-e 't/optional_apache-fastcgi.pl2' ) {
+ die "ERROR: Please run test from the Catalyst-Runtime directory\n";
+}
+
+push @ARGV, glob( 't/live_*' );
+
Apache::TestRun->new->run(@ARGV);
# clean up if the server has shut down
More information about the Catalyst-commits
mailing list