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: Apache::TestMM::generate_script vs. Win32 Paths
Date Wed, 18 Feb 2004 04:41:47 GMT
Randy Kobes wrote:
> On Tue, 3 Feb 2004, Christopher H. Laco wrote:
> 
> 
>>I've installed Apache::Test 1.07 on ActiveState perl 5.6.1
>>build 630 and am trying to make test scripts for a pile of
>>pages in a package I'm workin on.
>>
>>If I pass in an -httpd path that has spaces in the path,
>>it fails.
>>
>>    use ExtUtils::MakeMaker;
>>    use Apache::TestMM qw(test clean);
>>
>>    push @ARGV, '-httpd', 'C:\Program Files\Apache Group\Apache\Apache.exe';
> 
> [ .. ]
> 
>>Is this an Apache::Test problem, or possible an nmake issue?
> 
> 
> This case should be handled I'd think on the Apache::Test
> side. Does
>    my $exe = 'C:\Program Files\Apache Group\Apache\Apache.exe';
>    $exe = Win32::GetShortPathName($exe);
>    push @ARGV, '-httpd', $exe;
> work? If so, I'll look at seeing where this could be added
> within Apache::Test.

This patch should probably take care of it. It's untested.

Index: lib/Apache/TestConfig.pm
===================================================================
RCS file: 
/home/cvs/httpd-test/perl-framework/Apache-Test/lib/Apache/TestConfig.pm,v
retrieving revision 1.205
diff -u -r1.205 TestConfig.pm
--- lib/Apache/TestConfig.pm	18 Feb 2004 00:30:57 -0000	1.205
+++ lib/Apache/TestConfig.pm	18 Feb 2004 04:40:21 -0000
@@ -67,6 +67,16 @@
     (map { $_ . '_module_name', "$_ module name"} qw(cgi ssl thread access 
auth)),
  );

+my %filepath_conf_opts = map { $_ => 1 }
+    qw(top_dir t_dir t_conf t_logs t_conf_file src_dir serverroot
+       documentroot bindir sbindir httpd apxs httpd_conf perlpod sslca
+       libmodperl);
+
+sub conf_opt_is_a_filepath {
+    my $opt = shift;
+    $opt && exists $filepath_conf_opts{$opt};
+}
+
  sub usage {
      for my $hash (\%Usage) {
          for (sort keys %$hash){
Index: lib/Apache/TestRun.pm
===================================================================
RCS file: /home/cvs/httpd-test/perl-framework/Apache-Test/lib/Apache/TestRun.pm,v
retrieving revision 1.149
diff -u -r1.149 TestRun.pm
--- lib/Apache/TestRun.pm	18 Feb 2004 04:09:08 -0000	1.149
+++ lib/Apache/TestRun.pm	18 Feb 2004 04:40:21 -0000
@@ -238,6 +238,15 @@
          push @argv, $val;
      }

+    # fixup the filepath options on win32 (spaces, short names, etc.)
+    if (Apache::TestConfig::WIN32) {
+        require Win32::GetShortPathName;
+        for my $key (keys %conf_opts) {
+            next unless Apache::TestConfig::conf_opt_is_a_filepath($key);
+            $conf_opts{$key} = Win32::GetShortPathName($conf_opts{$key});
+        }
+    }
+
      $opts{req_args} = \%req_args;

      # only test files/dirs if any at all are left in argv

__________________________________________________________________
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