httpd-test-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stas Bekman <s...@stason.org>
Subject Re: [patch] have_apache_mpm()
Date Sun, 29 Jun 2003 11:17:55 GMT
Geoffrey Young wrote:
> hi all
> 
>   I thought it might be useful to have an have_apache_mpm function.  
> while not particularly useful for individual tests, I use 
> have_min_apache_version() from my Makefile.PL and plan to use 
> have_apache_mpm() from there as well.  I suspect it's real utility, 
> though, would be from a custom TEST.PL.
> 
>   anyway, I tested it with the prefork and worker mpms on unix - tests 
> from other platforms welcome to make sure I have a decent (well, usable) 
> regex. patch is against current CVS.

looks good, but what happens when 1.3 is used? Shouldn't it always return 
preforked?


> ------------------------------------------------------------------------
> 
> ? have_apache_mpm.patch
> Index: lib/Apache/Test.pm
> ===================================================================
> RCS file: /home/cvspublic/httpd-test/perl-framework/Apache-Test/lib/Apache/Test.pm,v
> retrieving revision 1.63
> diff -u -r1.63 Test.pm
> --- lib/Apache/Test.pm	19 Jun 2003 00:45:31 -0000	1.63
> +++ lib/Apache/Test.pm	25 Jun 2003 13:27:40 -0000
> @@ -15,7 +15,7 @@
>               have_cgi have_access have_auth have_module have_apache
>               have_min_apache_version have_apache_version have_perl 
>               have_min_perl_version have_min_module_version
> -             have_threads under_construction);
> +             have_threads under_construction have_apache_mpm);
>  $VERSION = '1.04';
>  
>  %SubTests = ();
> @@ -274,6 +274,22 @@
>          push @SkipReasons,
>            "apache version $wanted or higher is required," .
>            " this is version $current";
> +        return 0;
> +    }
> +    else {
> +        return 1;
> +    }
> +}
> +
> +sub have_apache_mpm {
> +    my $wanted = shift;
> +    my $cfg = Apache::Test::config();
> +    my $current = $cfg->{server}->{mpm};
> +
> +    if ($current ne $wanted) {
> +        push @SkipReasons,
> +          "apache mpm $wanted is required," .
> +          " this is the $current mpm";
>          return 0;
>      }
>      else {
> Index: lib/Apache/TestConfigParse.pm
> ===================================================================
> RCS file: /home/cvspublic/httpd-test/perl-framework/Apache-Test/lib/Apache/TestConfigParse.pm,v
> retrieving revision 1.33
> diff -u -r1.33 TestConfigParse.pm
> --- lib/Apache/TestConfigParse.pm	27 Apr 2003 22:52:28 -0000	1.33
> +++ lib/Apache/TestConfigParse.pm	25 Jun 2003 13:27:40 -0000
> @@ -341,4 +341,25 @@
>      return $version;
>  }
>  
> +sub httpd_mpm {
> +    my $self = shift;
> +
> +    my $httpd = $self->{vars}->{httpd};
> +    return unless $httpd;
> +
> +    my $mpm;
> +    my $cmd = "$httpd -V";
> +
> +    my $v = $self->open_cmd($cmd);
> +
> +    while (my $line = <$v>) {
> +        ($mpm) = $line =~ m!APACHE_MPM_DIR.*\b(\w+)"$!;
> +        last if $mpm;
> +    }
> +
> +    close $v;
> +
> +    return $mpm;
> +}
> +
>  1;
> Index: lib/Apache/TestServer.pm
> ===================================================================
> RCS file: /home/cvspublic/httpd-test/perl-framework/Apache-Test/lib/Apache/TestServer.pm,v
> retrieving revision 1.62
> diff -u -r1.62 TestServer.pm
> --- lib/Apache/TestServer.pm	21 May 2003 04:02:14 -0000	1.62
> +++ lib/Apache/TestServer.pm	25 Jun 2003 13:27:41 -0000
> @@ -38,6 +38,7 @@
>      $self->{port_counter} = $self->{config}->{vars}->{port};
>  
>      $self->{version} = $self->{config}->httpd_version || '';
> +    $self->{mpm}     = $self->{config}->httpd_mpm || '';
>      ($self->{rev}) = $self->{version} =~ m:^Apache/(\d)\.:;
>      $self->{rev} ||= 2;
>  


-- 


__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


Mime
View raw message