Discussion:
Apache::Test v1.25 error - Can't use string ("Test::Builder")
Matt Hicks
2005-07-18 19:22:01 UTC
Permalink
well, it's not exactly a bug - it looks like Test::Builder changed
reset() from a class method to an object method since that code was written.
I guess I'll need to fix that :)
fixed in svn. if you have a moment to test, that would be great.
Thanks! Here's the report for Apache-Test:

C:\code\httpd-test\perl-framework\Apache-Test>perl makefile.pl
[ info] generating script t/TEST
[ info] generating script ./t/cgi-bin/cookies.pl
[ info] generating script t/TEST
Writing Makefile for Apache::TestItSelf
Too late to run INIT block at C:/Perl/site/lib/Devel/Cover.pm line 153.
Too late to run CHECK block at C:/Perl/site/lib/Devel/Cover.pm line 155.
Writing Makefile for Apache::Test
Checking for File::Spec...ok
Checking for Cwd...ok

C:\code\httpd-test\perl-framework\Apache-Test>nmake

Microsoft (R) Program Maintenance Utility Version 7.00.9955
Copyright (C) Microsoft Corporation. All rights reserved.


C:\code\httpd-test\perl-framework\Apache-Test>nmake test

Microsoft (R) Program Maintenance Utility Version 7.00.9955
Copyright (C) Microsoft Corporation. All rights reserved.

C:\Perl\bin\perl.exe -Iblib\arch -Iblib\lib t/TEST -clean
C:\Perl\bin\perl.exe -Iblib\arch -Iblib\lib t/TEST -bugreport -verbo
se=0
c:/apache2/bin/apache.exe -d C:/code/httpd-test/perl-framework/Apache-Test/t -f
C:/code/httpd-test/perl-framework/Apache-Test/t/conf/httpd.conf -D APACHE2 -D P
ERL_USEITHREADS
using Apache/2.0.54 (winnt MPM)

waiting 60 seconds for server to start: .
waiting 60 seconds for server to start: ok (waited 0 secs)
server localhost:8529 started
[ info] adding source lib C:\code\httpd-test\perl-framework\Apache-Test\lib to
@INC
t\bad_coding.........ok 0.652s
t\cookies............ok 1.074s
t\more\01testpm......ok 1.315s
t\more\02testmore....request has failed (the response code was: 500)
see t/logs/error_log for more details
t\more\02testmore....dubious
Test returned status 9 (wstat 2304, 0x900)
t\more\03testpm......ok 0.648s
t\more\04testmore....request has failed (the response code was: 500)
see t/logs/error_log for more details
t\more\04testmore....dubious
Test returned status 9 (wstat 2304, 0x900)
t\ping...............ok 0.627s
t\redirect...........ok 2/6# Failed test 4 in t\redirect.t at line 17
t\redirect...........NOK 4# Failed test 6 in t\redirect.t at line 23
t\redirect...........FAILED tests 4, 6
Failed 2/6 tests, 66.67% okay
t\request............# Failed test 1 in t\request.t at line 11
t\request............ok 4/9# Failed test 5 in t\request.t at line 16
t\request............ok 7/9# Failed test 8 in t\request.t at line 20
t\request............NOK 8# Failed test 9 in t\request.t at line 22
t\request............FAILED tests 1, 5, 8-9
Failed 4/9 tests, 55.56% okay
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t\more\02testmore.t 9 2304 ?? ?? % ??
t\more\04testmore.t 9 2304 ?? ?? % ??
t\redirect.t 6 2 33.33% 4 6
t\request.t 9 4 44.44% 1 5 8-9
Failed 4/9 test scripts, 55.56% okay. 6/23 subtests failed, 73.91% okay.
[warning] server localhost:8529 shutdown
[ error] error running tests (please examine t\logs\error_log)
+-----------------------------------------------------+
| To report problems please refer to the SUPPORT file |
+-----------------------------------------------------+
NMAKE : fatal error U1077: 'C:\Perl\bin\perl.exe' : return code '0x1'
Stop.


The only interesting line in t/logs/error_log is:
[Mon Jul 18 14:32:40 2005] [error] [client 127.0.0.1] failed to
resolve handler `TestMore::testmorepm': Can't dup STDERR: Bad file
descriptor at C:/Perl/lib/Test/Builder.pm line 1218.\nCompilation
failed in require at C:/Perl/lib/Test/More.pm line 6.\nBEGIN
failed--compilation aborted at C:/Perl/lib/Test/More.pm line
6.\nCompilation failed in require at
C:\\code\\httpd-test\\perl-framework\\Apache-Test\\t\\response/TestMore/testmorepm.pm
line 6.\nBEGIN failed--compilation aborted at
C:\\code\\httpd-test\\perl-framework\\Apache-Test\\t\\response/TestMore/testmorepm.pm
line 6.\nCompilation failed in require at (eval 25) line 3.\n


My environment info:

C:\code\httpd-test\perl-framework>c:\apache2\bin\apache -V
Server version: Apache/2.0.54
Server built: Apr 16 2005 14:25:31
Server's Module Magic Number: 20020903:9
Architecture: 32-bit
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/winnt"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D HTTPD_ROOT="/apache"
-D SUEXEC_BIN="/apache/bin/suexec"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error.log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
...perl -V
Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
...
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
USE_SITECUSTOMIZE PERL_IMPLICIT_CONTEXT
PERL_IMPLICIT_SYS
Locally applied patches:
ActivePerl Build 813 [148120]
Iin_load_module moved for compatibility with build 806
PerlEx hacks for CGI::Carp
Less verbose ExtUtils::Install and Pod::Find
instmodsh upgraded from ExtUtils-MakeMaker-6.25
24699 ICMP_UNREACHABLE handling in Net::Ping
21540 Fix backward-compatibility issues in if.pm
Built under MSWin32
Compiled at Jun 6 2005 13:36:37


A quick note, the "perl-framework" nmake test (which I was mistakenly
running until Geoff set me straight) returns:

waiting 60 seconds for server to start: .Syntax error on line 382 of C:/code/htt
pd-test/perl-framework/t/conf/extra.conf:
Invalid command 'DAVLockDB', perhaps mis-spelled or defined by a module not incl
uded in the server configuration

If I comment out the webdav section from t/conf/extra.conf.in, the
tests can run (with errors, but that's another matter).


--Matt
Geoffrey Young
2005-07-18 19:41:55 UTC
Permalink
Post by Matt Hicks
Too late to run INIT block at C:/Perl/site/lib/Devel/Cover.pm line 153.
Too late to run CHECK block at C:/Perl/site/lib/Devel/Cover.pm line 155.
don't worry about those.
Post by Matt Hicks
[Mon Jul 18 14:32:40 2005] [error] [client 127.0.0.1] failed to
resolve handler `TestMore::testmorepm': Can't dup STDERR: Bad file
descriptor at C:/Perl/lib/Test/Builder.pm line 1218.
that looks like it's out of my control.

maybe randy has more insights?
Post by Matt Hicks
waiting 60 seconds for server to start: .Syntax error on line 382 of C:/code/htt
Invalid command 'DAVLockDB', perhaps mis-spelled or defined by a module not incl
uded in the server configuration
If I comment out the webdav section from t/conf/extra.conf.in, the
tests can run (with errors, but that's another matter).
odd, since those directives are in a <IfModule mod_dav.c> block, so I
wouldn't think it would hit those directives without being able to process
them. hmm...

does t/conf/httpd.conf (which is autogenerated) have something like

Loadmodule dav_module mod_dav.dll
Addmodule mod_dav.c

? or maybe mod_dav is compiled in statically but is incomplete? maybe

Dav On

is missing? sorry, but I'm not a dav user, so I don't know the gory details
of that module.

--Geoff

Loading...