stas 2003/08/26 16:28:04
Modified: lib/ModPerl TestRun.pm Added: t/modules proxy.t t/response/TestModules proxy.pm Log: new test: converting a normal request to a proxy request - requires to bump up the number of maxclients to 2 Revision Changes Path 1.11 +7 -0 modperl-2.0/lib/ModPerl/TestRun.pm Index: TestRun.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/ModPerl/TestRun.pm,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- TestRun.pm 26 Aug 2003 22:19:19 -0000 1.10 +++ TestRun.pm 26 Aug 2003 23:28:04 -0000 1.11 @@ -5,8 +5,15 @@ use base qw(Apache::TestRunPerl); +# some mp2 tests require more than one server instance to be available +# without which the server may hang, waiting for the single server +# become available +use constant MIN_MAXCLIENTS => 2; + sub new_test_config { my $self = shift; + + $self->{conf_opts}->{maxclients} = MIN_MAXCLIENTS; ModPerl::TestConfig->new($self->{conf_opts}); } 1.1 modperl-2.0/t/modules/proxy.t Index: proxy.t =================================================================== use strict; use warnings FATAL => 'all'; use Apache::Test; use Apache::TestUtil; use Apache::TestRequest; my $location = "/TestModules__proxy"; plan tests => 1, [qw(proxy access)]; my $expected = "ok"; my $received = GET_BODY_ASSERT $location; ok t_cmp($expected, $received, "internally proxified request"); 1.1 modperl-2.0/t/response/TestModules/proxy.pm Index: proxy.pm =================================================================== package TestModules::proxy; use strict; use warnings FATAL => 'all'; use Apache::Test; use Apache::Server (); use Apache::RequestRec (); use Apache::RequestIO (); my $uri_real = "/TestModules__proxy_real"; use Apache::Const -compile => qw(DECLINED OK); sub proxy { my $r = shift; return Apache::DECLINED if $r->proxyreq; return Apache::DECLINED unless $r->uri eq '/TestModules__proxy'; my $s = $r->server; my $real_url = sprintf "http://%s:%d%s", $s->server_hostname, $s->port, $uri_real; $r->proxyreq(1); $r->uri($real_url); $r->filename("proxy:$real_url"); $r->handler('proxy-server'); return Apache::OK; } sub response { my $r = shift; $r->content_type('text/plain'); $r->print("ok"); return Apache::OK; } 1; __END__ <NoAutoConfig> <IfModule mod_proxy.c> <IfModule mod_access.c> <Proxy http://@servername@:@port@/*> Order Deny,Allow Deny from all Allow from @servername@ </Proxy> ProxyRequests On PerlModule TestModules::proxy PerlTransHandler TestModules::proxy::proxy <Location /TestModules__proxy_real> SetHandler modperl PerlResponseHandler TestModules::proxy::response </Location> </IfModule> </IfModule> </NoAutoConfig>