Index: lib/Apache/TestConfig.pm
===================================================================
RCS file: /home/cvspublic/httpd-test/perl-framework/Apache-Test/lib/Apache/TestConfig.pm,v
retrieving revision 1.70
diff -u -r1.70 TestConfig.pm
--- lib/Apache/TestConfig.pm	2001/10/07 05:03:32	1.70
+++ lib/Apache/TestConfig.pm	2001/10/13 23:24:28
@@ -258,7 +258,7 @@
     my $self = shift;
     my $vars = $self->{vars};
 
-    $vars->{target} ||= 'httpd';
+    $vars->{target} ||= (WIN32 ? 'Apache.exe' : 'httpd');
 
     unless ($vars->{httpd}) {
         #sbindir should be bin/ with the default layout
Index: lib/Apache/TestMM.pm
===================================================================
RCS file: /home/cvspublic/httpd-test/perl-framework/Apache-Test/lib/Apache/TestMM.pm,v
retrieving revision 1.11
diff -u -r1.11 TestMM.pm
--- lib/Apache/TestMM.pm	2001/09/10 04:18:22	1.11
+++ lib/Apache/TestMM.pm	2001/10/13 23:24:28
@@ -2,6 +2,7 @@
 
 use strict;
 use warnings FATAL => 'all';
+use constant WIN32   => $^O eq 'MSWin32';
 
 use Config;
 use Apache::TestConfig ();
@@ -35,8 +36,20 @@
 
 sub test {
 
-    my $env = Apache::TestConfig->passenv_makestr();
+    if (WIN32) {
+      return <<'EOF';
+test_clean :
+	$(FULLPERL) -I$(INST_ARCHLIB) -I$(INST_LIB) \
+	t/TEST -clean
+	
+run_tests : test_clean
+	$(FULLPERL) -I$(INST_ARCHLIB) -I$(INST_LIB) \
+	t/TEST
 
+test :: pure_all run_tests test_clean
+EOF
+    }
+    my $env = Apache::TestConfig->passenv_makestr();
     my $preamble = <<EOF;
 PASSENV = $env
 EOF
Index: lib/Apache/TestServer.pm
===================================================================
RCS file: /home/cvspublic/httpd-test/perl-framework/Apache-Test/lib/Apache/TestServer.pm,v
retrieving revision 1.33
diff -u -r1.33 TestServer.pm
--- lib/Apache/TestServer.pm	2001/10/12 19:10:31	1.33
+++ lib/Apache/TestServer.pm	2001/10/13 23:24:30
@@ -2,6 +2,7 @@
 
 use strict;
 use warnings FATAL => 'all';
+use constant WIN32   => $^O eq 'MSWin32';
 
 use Config;
 use Socket ();
@@ -275,6 +276,12 @@
     my $self = shift;
     my $aborted = shift;
 
+    if (WIN32) {
+      if ($self->{config}->{vars}->{win32obj}) {
+	$self->{config}->{vars}->{win32obj}->Kill(-1);
+	return 1;
+      }
+    }
     my $pid = 0;
     my $tries = 3;
     my $tried_kill = 0;
@@ -378,7 +385,20 @@
     }
 
     print "$cmd\n";
-    system "$cmd &";
+    if (WIN32) {
+      use Win32::Process;
+      my $obj;
+      Win32::Process::Create($obj,
+                $httpd,
+                $cmd,
+                0,
+                NORMAL_PRIORITY_CLASS,
+                ".") || die ErrorReport();
+      $vars->{win32obj} = $obj;
+    }
+    else {
+      system "$cmd &";
+    }
 
     while ($old_pid and $old_pid == $self->pid) {
         warning "old pid file ($old_pid) still exists\n";

