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

doh!

here's a better patch.

--Geoff


Index: 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
--- Test.pm     19 Jun 2003 00:45:31 -0000      1.63
+++ Test.pm     30 Jun 2003 13:46:35 -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: 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
--- TestConfigParse.pm  27 Apr 2003 22:52:28 -0000      1.33
+++ TestConfigParse.pm  30 Jun 2003 13:46:36 -0000
@@ -309,6 +309,10 @@
     if (my $mpm_dir = $self->{httpd_defines}->{APACHE_MPM_DIR}) {
         $self->{mpm} = basename $mpm_dir;
     }
+    else {
+        # Apache 1.3
+        $self->{mpm} = 'prefork';
+    }
 }
 
 sub httpd_version {
@@ -339,6 +343,10 @@
     close $v;
 
     return $version;
+}
+
+sub httpd_mpm {
+    return shift->{mpm};
 }
 
 1;
Index: 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
--- TestServer.pm       21 May 2003 04:02:14 -0000      1.62
+++ TestServer.pm       30 Jun 2003 13:46:36 -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;
 

Reply via email to