You are viewing a plain text version of this content. The canonical link for it is here.
Posted to test-dev@httpd.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2001/10/17 02:44:32 UTC

Outch(es) on Win32 perl-framework

In the testbench, with lots 'n lots o' modules enabled, I hit this;
waiting for server to warm up......

[Tue Oct 16 19:07:41 2001] [error] (33501)No such host is known.  : Cannot resolve host name _default_:mod_proxy --- ignoring!
[Tue Oct 16 19:07:41 2001] [error] (33501)No such host is known.  : Cannot resolve host name _default_:mod_vhost_alias --- ignoring!
[Tue Oct 16 19:07:42 2001] [error] (33501)No such host is known.  : Cannot resolve host name _default_:mod_headers --- ignoring!
...
[Tue Oct 16 19:07:45 2001] [error] (33504)No host data of that type was found: Cannot resolve host name _default_:mod_proxy ---
ignoring!
[Tue Oct 16 19:07:45 2001] [error] (33504)No host data of that type was found: Cannot resolve host name
_default_:mod_vhost_alias --- ignoring!
[Tue Oct 16 19:07:45 2001] [error] (33504)No host data of that type was found: Cannot
resolve host name _default_:mod_headers --- ignoring!

what's up with that :-?

Then, in the tests (with the latest cvs snapshot of lwp installed for HTTP/1.1
conformance on Win32...)

apache\404..........ok
apache\byterange....[Tue Oct 16 19:10:19 2001] [error] (33504)No host data of th
at type was found: Cannot resolve host name _default_:mod_proxy --- ignoring!
[Tue Oct 16 19:10:19 2001] [error] (33504)No host data of that type was found: C
annot resolve host name _default_:mod_vhost_alias --- ignoring!
[Tue Oct 16 19:10:19 2001] [error] (33504)No host data of that type was found: C
annot resolve host name _default_:mod_headers --- ignoring!
apache\byterange....FAILED tests 1-82
        Failed 82/82 tests, 0.00% okay
apache\getfile......FAILED tests 1-84
        Failed 84/84 tests, 0.00% okay
apache\options......FAILED tests 1-2
        Failed 2/2 tests, 0.00% okay
apache\post.........skipped test on this platform
apache\rwrite.......skipped test on this platform
apr\uri.............skipped test on this platform
filter\case.........skipped test on this platform
filter\case_in......skipped test on this platform
filter\input_body...skipped test on this platform
http11\all..........ok
http11\basicauth....skipped test on this platform
http11\chunked......skipped test on this platform
modules\access......FAILED tests 1, 3, 5, 7, 9, 11, 13-18, 20, 22, 24, 26, 28, 30-35, 37, 39, 41, 43, 45, 47-52, 54, 56, 58, 60, 62,
64-69, 71, 73, 75, 77, 79, 81-86, 88, 90, 92, 94, 96, 98-103, 116-120, 133-137, 151, 153-154, 168, 170-171, 185, 187-188, 202,
204-205, 219, 221-222, 236, 238, 273, 287, 289-290, 304, 306-307, 321, 323-324, 338, 340-341, 355, 357-358, 372, 374
        Failed 112/408 tests, 72.55% okay
modules\alias.......FAILED tests 1-62
        Failed 62/62 tests, 0.00% okay
modules\autoindex...FAILED tests 1-84
        Failed 84/84 tests, 0.00% okay
modules\cgi.........FAILED tests 2, 4-8, 10, 12, 14, 16, 18, 20, 22, 24-36
        Failed 26/36 tests, 27.78% okay
modules\dav.........skipped test on this platform
modules\dir.........FAILED tests 1-209
        Failed 209/209 tests, 0.00% okay
modules\env.........FAILED tests 1-5
        Failed 5/5 tests, 0.00% okay
modules\expires.....Use of uninitialized value in exists at modules\expires.t li
ne 217.
modules\expires.....dubious
        Test returned status 77 (wstat 19712, 0x4d00)
DIED. FAILED tests 1-92
        Failed 92/92 tests, 0.00% okay
modules\headers.....FAILED tests 1-6, 8-11, 13-16, 19-21, 23-27, 29-32, 34-37, 40-42, 44-48, 50-53, 55-58, 61-63, 66-69, 71-74,
76-79, 82-84, 86-91, 93-96, 98-101, 104-106, 108-112, 114-117, 119-122, 125-127, 129-133, 135-138, 140-143, 146-148, 151-154,
156-159, 161-164, 167-169, 171-176, 178-181, 183-186, 189-191, 193-197, 199-202, 204-207, 210-212, 214-218, 220-223, 225-228,
231-233, 236-239, 241-244, 246-249, 252-254, 257-261, 263-266, 268-271, 274-276, 278-282, 284-287, 289-292, 295-297, 299-303,
305-308, 310-313, 316-318, 321-324, 326-329, 331-334, 337-339
        Failed 255/340 tests, 25.00% okay
modules\include.....FAILED tests 1-26
        Failed 26/26 tests, 0.00% okay
modules\info........FAILED test 1
        Failed 1/1 tests, 0.00% okay

[missed some here, you get the gist... php wasn't compiled so we pick up with...]

ssl\all.............ok
ssl\basicauth.......Use of uninitialized value in join or string at C:/clean/htt
pd-test/perl-framework/blib/lib/Apache/TestConfig.pm line 513.
ssl\basicauth.......dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1-3
        Failed 3/3 tests, 0.00% okay
ssl\env.............Use of uninitialized value in join or string at C:/clean/htt
pd-test/perl-framework/blib/lib/Apache/TestConfig.pm line 513.
ssl\env.............dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1-22
        Failed 22/22 tests, 0.00% okay
ssl\http............Use of uninitialized value in join or string at C:/clean/htt
pd-test/perl-framework/blib/lib/Apache/TestConfig.pm line 513.
ssl\http............dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED test 1
        Failed 1/1 tests, 0.00% okay
ssl\require.........Use of uninitialized value in join or string at C:/clean/htt
pd-test/perl-framework/blib/lib/Apache/TestConfig.pm line 513.
ssl\require.........dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1-5
        Failed 5/5 tests, 0.00% okay
ssl\varlookup.......Use of uninitialized value in join or string at C:/clean/htt
pd-test/perl-framework/blib/lib/Apache/TestConfig.pm line 513.
ssl\varlookup.......dubious
        Test returned status 255 (wstat 65280, 0xff00)
ssl\verify..........Use of uninitialized value in join or string at C:/clean/htt
pd-test/perl-framework/blib/lib/Apache/TestConfig.pm line 513.
ssl\verify..........dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1-3
        Failed 3/3 tests, 0.00% okay


Paths, across the board, are incorrect.  We are using perl's understanding of
'\' seperators in File::Find, etc, and need to keep Apache's conf in '/' syntax.
This could explain some of the problems, above.

The list of skipped tests implies that we know nothing of the modules.c list
from Win32.  Can we change the logic to rely instead upon httpd -l ???
Here's apache -l from Win32's stock configuration;

Compiled in modules:
  core.c
  mpm_winnt.c
  http_core.c
  mod_so.c
  mod_mime.c
  mod_access.c
  mod_auth.c
  mod_negotiation.c
  mod_include.c
  mod_autoindex.c
  mod_dir.c
  mod_cgi.c
  mod_userdir.c
  mod_alias.c
  mod_env.c
  mod_log_config.c
  mod_asis.c
  mod_imap.c
  mod_actions.c
  mod_setenvif.c
  mod_isapi.c

I would start debugging, but I rather expect there are all sorts of unix
assumptions by the testbench and modules, WRT line endings and the like.
Any suggestions on what to hack first?  Alternate approaches to invoking
t/TEST that could rule out/rule in suspects?  See any patterns in the
failure list?

All hints appreciated,

Bill



Re: Outch(es) on Win32 perl-framework

Posted by Doug MacEachern <do...@covalent.net>.
On Tue, 16 Oct 2001, William A. Rowe, Jr. wrote:

>     join ':', $$resolve, $self->port($module);

that's weird because there are checks to make sure both $$resolve and
$module are initialized.  seems to be what is killing all of the tests.
wonder if this double check helps at all?

--- Apache-Test/lib/Apache/TestConfig.pm        2001/10/17 01:30:40 1.74
+++ Apache-Test/lib/Apache/TestConfig.pm        2001/10/17 02:41:38
@@ -509,7 +509,7 @@
         }
     }
 
-    join ':', $$resolve, $self->port($module);
+    join ':', $$resolve || 'localhost', $self->port($module || '');
 }
 
 #look for mod_foo.so



Re: Outch(es) on Win32 perl-framework

Posted by "William A. Rowe, Jr." <wr...@covalent.net>.
Works (horah!)  Well, changes things at least;

server www2.rowe-clan.net:8529 started
apache/404..........Use of uninitialized value in join or string at C:/clean/htt
pd-test/perl-framework/blib/lib/Apache/TestConfig.pm line 513.
apache/404..........dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1-2
        Failed 2/2 tests, 0.00% okay
apache/byterange....Use of uninitialized value in join or string at C:/clean/htt
pd-test/perl-framework/blib/lib/Apache/TestConfig.pm line 513.
apache/byterange....dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1-82
        Failed 82/82 tests, 0.00% okay
apache/getfile......Use of uninitialized value in join or string at C:/clean/htt
pd-test/perl-framework/blib/lib/Apache/TestConfig.pm line 513.
apache/getfile......dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1-84
        Failed 84/84 tests, 0.00% okay

What's with status 255?  I dunno.  Line 513;

    join ':', $$resolve, $self->port($module);

???

----- Original Message ----- 
From: "Doug MacEachern" <do...@covalent.net>
To: <te...@httpd.apache.org>
Sent: Tuesday, October 16, 2001 9:00 PM
Subject: Re: Outch(es) on Win32 perl-framework


> bill, try the patch below.  it should force File::Spec functions and
> anything that uses them (Apache::Test*, File::Find, etc.) to use unix
> /path/file.ext conventions.
> 
> Index: Apache-Test/lib/Apache/TestRun.pm
> ===================================================================
> RCS file: /home/cvs/httpd-test/perl-framework/Apache-Test/lib/Apache/TestRun.pm,v
> retrieving revision 1.58
> diff -u -r1.58 TestRun.pm
> --- Apache-Test/lib/Apache/TestRun.pm 2001/10/17 01:30:40 1.58
> +++ Apache-Test/lib/Apache/TestRun.pm 2001/10/17 01:47:55
> @@ -3,6 +3,12 @@
>  use strict;
>  use warnings FATAL => 'all';
>  
> +BEGIN {
> +    $INC{'File/Spec.pm'} = __FILE__;
> +    require File::Spec::Unix;
> +    @File::Spec::ISA = qw(File::Spec::Unix);
> +}
> +
>  use Apache::TestConfig ();
>  use Apache::TestConfigC ();
>  use Apache::TestRequest ();
> 
> 
> 
> 


Re: Outch(es) on Win32 perl-framework

Posted by Doug MacEachern <do...@covalent.net>.
bill, try the patch below.  it should force File::Spec functions and
anything that uses them (Apache::Test*, File::Find, etc.) to use unix
/path/file.ext conventions.

Index: Apache-Test/lib/Apache/TestRun.pm
===================================================================
RCS file: /home/cvs/httpd-test/perl-framework/Apache-Test/lib/Apache/TestRun.pm,v
retrieving revision 1.58
diff -u -r1.58 TestRun.pm
--- Apache-Test/lib/Apache/TestRun.pm	2001/10/17 01:30:40	1.58
+++ Apache-Test/lib/Apache/TestRun.pm	2001/10/17 01:47:55
@@ -3,6 +3,12 @@
 use strict;
 use warnings FATAL => 'all';
 
+BEGIN {
+    $INC{'File/Spec.pm'} = __FILE__;
+    require File::Spec::Unix;
+    @File::Spec::ISA = qw(File::Spec::Unix);
+}
+
 use Apache::TestConfig ();
 use Apache::TestConfigC ();
 use Apache::TestRequest ();




Re: Outch(es) on Win32 perl-framework

Posted by "William A. Rowe, Jr." <wr...@covalent.net>.
From: "Doug MacEachern" <do...@covalent.net>
Sent: Tuesday, October 16, 2001 8:50 PM


> On Tue, 16 Oct 2001, William A. Rowe, Jr. wrote:
>  
> > [Tue Oct 16 19:07:41 2001] [error] (33501)No such host is
> > known.  : Cannot resolve host name _default_:mod_proxy --- ignoring! 
> 
> when config files are generated from .conf.in to .conf these are supposed
> to be replaced with a port number, see
> Apache::TestConfig::replace_vhost_modules().

I'll look into that.

> > Paths, across the board, are incorrect.  We are using perl's understanding of
> > '\' seperators in File::Find, etc, and need to keep Apache's conf in '/' syntax.
> > This could explain some of the problems, above.
> 
> ha, and here we were thinking that using File::Spec functions would make
> things portable.

What about creating an Apache::Config::Path stub utility to take anything
from File::Spec and turn it into valid Apache .conf paths?

> > The list of skipped tests implies that we know nothing of the modules.c list
> > from Win32.  Can we change the logic to rely instead upon httpd -l ???
> 
> it does use httpd -l.  see get_httpd_static_modules() in
> TestConfigParse.pm

Ok :(

> > I would start debugging, but I rather expect there are all sorts of unix
> > assumptions by the testbench and modules, WRT line endings and the like.
> > Any suggestions on what to hack first?  Alternate approaches to invoking
> > t/TEST that could rule out/rule in suspects?  See any patterns in the
> > failure list?
> 
> i would concentrate on getting the following to work:
> 
>  t/TEST -start

Works (with bad proxy, vhost_alias and headers port numbers)

> and try a few simple urls:
>  t/TEST -get /

returns
HTTP/1.1 200 OK
Connection: close
Date: Wed, 17 Oct 2001 02:30:48 GMT
Accept-Ranges: bytes
Server: Apache/2.0.27-dev (Win32) DAV/2 mod_ssl/3.0a0 OpenSSL/0.9.6b
Content-Length: 27
Content-Type: text/html
ETag: "0-1b-d1ed2e80"
Last-Modified: Mon, 30 Jul 2001 19:37:14 GMT
Client-Date: Wed, 17 Oct 2001 02:30:48 GMT
Client-Peer: 208.176.192.150:8529

welcome to localhost:8529

>  t/TEST -get /server-info

works (attached).

Looks like it's the comparison code that causes these failures :(

> i have an unused machine at home i've been thinking about install NT and
> msdev studio on, i could probably be more help that way.

That would be good - or point me at another thing to test out.  My perl
skills are mediocre, my perl debugging skills are pretty lame.

Bill

Re: Outch(es) on Win32 perl-framework

Posted by Doug MacEachern <do...@covalent.net>.
On Tue, 16 Oct 2001, William A. Rowe, Jr. wrote:
 
> [Tue Oct 16 19:07:41 2001] [error] (33501)No such host is
> known.  : Cannot resolve host name _default_:mod_proxy --- ignoring! 

when config files are generated from .conf.in to .conf these are supposed
to be replaced with a port number, see
Apache::TestConfig::replace_vhost_modules().

> Paths, across the board, are incorrect.  We are using perl's understanding of
> '\' seperators in File::Find, etc, and need to keep Apache's conf in '/' syntax.
> This could explain some of the problems, above.

ha, and here we were thinking that using File::Spec functions would make
things portable.
 
> The list of skipped tests implies that we know nothing of the modules.c list
> from Win32.  Can we change the logic to rely instead upon httpd -l ???

it does use httpd -l.  see get_httpd_static_modules() in
TestConfigParse.pm

> I would start debugging, but I rather expect there are all sorts of unix
> assumptions by the testbench and modules, WRT line endings and the like.
> Any suggestions on what to hack first?  Alternate approaches to invoking
> t/TEST that could rule out/rule in suspects?  See any patterns in the
> failure list?

i would concentrate on getting the following to work:

 t/TEST -start

and try a few simple urls:
 t/TEST -get /

 t/TEST -get /server-info

i have an unused machine at home i've been thinking about install NT and
msdev studio on, i could probably be more help that way.