FAQ
This appears to be a bug in a test library in the released current version mod_perl 2.0.8. $r->args can return undef if there is no ? in the url to specify a query string, apparently. Patch is at the bottom. HTH. -Mark

sre@tst1.ntf.cftdev1 /ntfhome/local/src/perl/mod_perl-2.0.8
2014-06-22 23:01:22 Sun $ t/TEST -verbose t/api/err_headers_out.t t/directive/perlloadmodule2.t
/ntfhome/local/sbin/httpd -d /ntfhome/local/src/perl/mod_perl-2.0.8/t -f /ntfhome/local/src/perl/mod_perl-2.0.8/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
using Apache/2.2.27 (prefork MPM)

waiting 120 seconds for server to start: .[Sun Jun 22 23:01:46 2014] [info] 6 Apache2:: modules loaded
[Sun Jun 22 23:01:46 2014] [info] 0 APR:: modules loaded
[Sun Jun 22 23:01:46 2014] [info] base server + 29 vhosts ready to run tests
....
waiting 120 seconds for server to start: ok (waited 3 secs)
server localhost:8529 started
server localhost:8530 listening (filter_out_apache)
server localhost:8531 listening (perlsections)
server localhost:8532 listening (inherit)
server localhost:8533 listening (TestModperl::merge)
server localhost:8534 listening (TestModperl::perl_options)
server localhost:8535 listening (TestModperl::perl_options2)
server localhost:8536 listening (TestModperl::setupenv)
server localhost:8537 listening (TestModules::proxy)
server localhost:8538 listening (TestUser::rewrite)
server localhost:8539 listening (TestVhost::config)
server localhost:8540 listening (TestVhost::log)
server localhost:8541 listening (TestProtocol::echo_bbs)
server localhost:8542 listening (TestProtocol::echo_bbs2)
server localhost:8543 listening (TestProtocol::echo_block)
server localhost:8544 listening (TestProtocol::echo_filter)
server localhost:8545 listening (TestProtocol::echo_nonblock)
server localhost:8546 listening (TestProtocol::echo_timeout)
server localhost:8547 listening (TestProtocol::pseudo_http)
server localhost:8548 listening (TestPreConnection::note)
server localhost:8549 listening (TestHooks::hookrun)
server localhost:8550 listening (TestHooks::init)
server localhost:8551 listening (TestHooks::stacked_handlers2)
server localhost:8552 listening (TestHooks::startup)
server localhost:8553 listening (TestHooks::trans)
server localhost:8554 listening (TestFilter::both_str_con_add)
server localhost:8555 listening (TestFilter::in_bbs_inject_header)
server localhost:8556 listening (TestFilter::in_bbs_msg)
server localhost:8557 listening (TestFilter::in_str_msg)
server localhost:8558 listening (TestDirective::perlmodule)
server localhost:8559 listening (TestDirective::perlrequire)
server localhost:8560 listening (TestAPI::add_config)
server localhost:8561 listening (TestDirective::perlloadmodule3)
server localhost:8562 listening (TestDirective::perlloadmodule4)
server localhost:8563 listening (TestDirective::perlloadmodule5)
server localhost:8564 listening (TestDirective::perlloadmodule6)
server localhost:8565 listening (TestHooks::push_handlers_anon)
t/api/err_headers_out.t ........
1..6
# Running under perl version 5.020000 for linux
# Current time local: Sun Jun 22 23:01:51 2014
# Current time GMT: Mon Jun 23 06:01:51 2014
# Using Test.pm version 1.26
# Using Apache/Test.pm version 1.37
# testing : OK
# expected: 200
# received: 200
ok 1
# testing : X-err_headers_out: made it
# expected: err_headers_out
# received: undef
not ok 2
# Failed test 2 in t/api/err_headers_out.t at line 30
# testing : X-headers_out: made it
# expected: headers_out
# received: undef
not ok 3
# Failed test 3 in t/api/err_headers_out.t at line 33
# testing : not found
# expected: 404
# received: 404
ok 4
# testing : X-err_headers_out: made it
# expected: err_headers_out
# received: undef
not ok 5
# Failed test 5 in t/api/err_headers_out.t at line 55
ok 6
Failed 3/6 subtests
t/directive/perlloadmodule2.t ..
1..3
# Running under perl version 5.020000 for linux
# Current time local: Sun Jun 22 23:01:52 2014
# Current time GMT: Mon Jun 23 06:01:52 2014
# Using Test.pm version 1.26
# Using Apache/Test.pm version 1.37
# testing : access server settings
# expected: srv: one two
# received: srv: one two
ok 1
# testing : server/dir merge
# expected: dir: one two three four
# received: dir: one two three four
ok 2
# testing : server/dir/subdir merge
# expected: dir: one two three four five six
# received: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
# <html><head>
# <title>500 Internal Server Error</title>
# </head><body>
# <h1>Internal Server Error</h1>
# <p>The server encountered an internal error or
# misconfiguration and was unable to complete
# your request.</p>
# <p>Please contact the server administrator,
# you@example.com and inform them of the time the error occurred,
# and anything you might have done that may have
# caused the error.</p>
# <p>More information about this error may be available
# in the server error log.</p>
# <hr>
# <address>Apache/2.2.27 (Unix) world domination series/2.0 mod_perl/2.0.8 Perl/v5.20.0 Server at localhost Port 8529</address>
# </body></html>
not ok 3
# Failed test 3 in t/directive/perlloadmodule2.t at line 30
Failed 1/3 subtests

Test Summary Report
-------------------
t/api/err_headers_out.t (Wstat: 0 Tests: 6 Failed: 3)
   Failed tests: 2-3, 5
t/directive/perlloadmodule2.t (Wstat: 0 Tests: 3 Failed: 1)
   Failed test: 3
Files=2, Tests=9, 3 wallclock secs ( 0.06 usr 0.06 sys + 1.48 cusr 0.45 csys = 2.05 CPU)
Result: FAIL
Failed 2/2 test programs. 4/9 subtests failed.
[warning] server localhost:8529 shutdown
[warning] port 8529 still in use...
done
[ error] error running tests (please examine t/logs/error_log)

sre@tst1.ntf.cftdev1 /ntfhome/local/src/perl/mod_perl-2.0.8
2014-06-22 23:01:57 Sun $ cat t/logs/error_log
********************************************************************************
*** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
*** Following a line consisting only of * characters there should be a line ***
*** containing ***
*** "cleanup died: testing server_shutdown_cleanup_register". ***
*** The next line should then read ***
*** "done with server_shutdown_cleanup_register" ***
********************************************************************************
Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
*** done with server_shutdown_cleanup_register ***
********************************************************************************
END in modperl_extra.pl, pid=21358
[Sun Jun 22 23:01:50 2014] [notice] Digest: generating secret for digest authentication ...
[Sun Jun 22 23:01:50 2014] [notice] Digest: done
[Sun Jun 22 23:01:50 2014] [notice] Apache/2.2.27 (Unix) world domination series/2.0 mod_perl/2.0.8 Perl/v5.20.0 configured -- resuming normal operations
[Sun Jun 22 23:01:50 2014] [info] Server built: Jun 22 2014 14:00:48
[Sun Jun 22 23:01:50 2014] [debug] prefork.c(1023): AcceptMutex: sysvsem (default: sysvsem)
[Sun Jun 22 23:01:53 2014] [error] [client 127.0.0.1] Use of uninitialized value in string eq at /ntfhome/local/src/perl/mod_perl-2.0.8/t/response/TestDirective/perlloadmodule2.pm line 85.\n
[Sun Jun 22 23:01:54 2014] [info] Child process pid=21367 is exiting
[Sun Jun 22 23:01:54 2014] [info] Child process pid=21366 is exiting
[Sun Jun 22 23:01:54 2014] [info] Child process pid=21367 is exiting - server push
[Sun Jun 22 23:01:54 2014] [info] Child process pid=21366 is exiting - server push
END in modperl_extra.pl, pid=21367
END in modperl_extra.pl, pid=21366
[Sun Jun 22 23:01:55 2014] [info] removed PID file /ntfhome/local/src/perl/mod_perl-2.0.8/t/logs/httpd.pid (pid=21362)
[Sun Jun 22 23:01:55 2014] [notice] caught SIGTERM, shutting down
********************************************************************************
*** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
*** Following a line consisting only of * characters there should be a line ***
*** containing ***
*** "cleanup died: testing server_shutdown_cleanup_register". ***
*** The next line should then read ***
*** "done with server_shutdown_cleanup_register" ***
********************************************************************************
Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
*** done with server_shutdown_cleanup_register ***
********************************************************************************
END in modperl_extra.pl, pid=21362

sre@tst1.ntf.cftdev1 /ntfhome/local/src/perl/mod_perl-2.0.8
2014-06-22 23:07:19 Sun $ cp /ntfhome/local/src/perl/mod_perl-2.0.8/t/response/TestDirective/perlloadmodule2.pm /ntfhome/local/src/perl/mod_perl-2.0.8/t/response/TestDirective/perlloadmodule2.pm.orig

sre@tst1.ntf.cftdev1 /ntfhome/local/src/perl/mod_perl-2.0.8
2014-06-22 23:07:40 Sun $ gvim /ntfhome/local/src/perl/mod_perl-2.0.8/t/response/TestDirective/perlloadmodule2.pm

sre@tst1.ntf.cftdev1 /ntfhome/local/src/perl/mod_perl-2.0.8
2014-06-22 23:07:46 Sun $ t/TEST -verbose t/directive/perlloadmodule2.t
/ntfhome/local/sbin/httpd -d /ntfhome/local/src/perl/mod_perl-2.0.8/t -f /ntfhome/local/src/perl/mod_perl-2.0.8/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
using Apache/2.2.27 (prefork MPM)

waiting 120 seconds for server to start: .[Sun Jun 22 23:08:51 2014] [info] 6 Apache2:: modules loaded
[Sun Jun 22 23:08:51 2014] [info] 0 APR:: modules loaded
[Sun Jun 22 23:08:51 2014] [info] base server + 29 vhosts ready to run tests
....
waiting 120 seconds for server to start: ok (waited 4 secs)
server localhost:8529 started
server localhost:8530 listening (filter_out_apache)
server localhost:8531 listening (perlsections)
server localhost:8532 listening (inherit)
server localhost:8533 listening (TestModperl::merge)
server localhost:8534 listening (TestModperl::perl_options)
server localhost:8535 listening (TestModperl::perl_options2)
server localhost:8536 listening (TestModperl::setupenv)
server localhost:8537 listening (TestModules::proxy)
server localhost:8538 listening (TestUser::rewrite)
server localhost:8539 listening (TestVhost::config)
server localhost:8540 listening (TestVhost::log)
server localhost:8541 listening (TestProtocol::echo_bbs)
server localhost:8542 listening (TestProtocol::echo_bbs2)
server localhost:8543 listening (TestProtocol::echo_block)
server localhost:8544 listening (TestProtocol::echo_filter)
server localhost:8545 listening (TestProtocol::echo_nonblock)
server localhost:8546 listening (TestProtocol::echo_timeout)
server localhost:8547 listening (TestProtocol::pseudo_http)
server localhost:8548 listening (TestPreConnection::note)
server localhost:8549 listening (TestHooks::hookrun)
server localhost:8550 listening (TestHooks::init)
server localhost:8551 listening (TestHooks::stacked_handlers2)
server localhost:8552 listening (TestHooks::startup)
server localhost:8553 listening (TestHooks::trans)
server localhost:8554 listening (TestFilter::both_str_con_add)
server localhost:8555 listening (TestFilter::in_bbs_inject_header)
server localhost:8556 listening (TestFilter::in_bbs_msg)
server localhost:8557 listening (TestFilter::in_str_msg)
server localhost:8558 listening (TestDirective::perlmodule)
server localhost:8559 listening (TestDirective::perlrequire)
server localhost:8560 listening (TestAPI::add_config)
server localhost:8561 listening (TestDirective::perlloadmodule3)
server localhost:8562 listening (TestDirective::perlloadmodule4)
server localhost:8563 listening (TestDirective::perlloadmodule5)
server localhost:8564 listening (TestDirective::perlloadmodule6)
server localhost:8565 listening (TestHooks::push_handlers_anon)
t/directive/perlloadmodule2.t ..
1..3
# Running under perl version 5.020000 for linux
# Current time local: Sun Jun 22 23:08:56 2014
# Current time GMT: Mon Jun 23 06:08:56 2014
# Using Test.pm version 1.26
# Using Apache/Test.pm version 1.37
# testing : access server settings
# expected: srv: one two
# received: srv: one two
ok 1
# testing : server/dir merge
# expected: dir: one two three four
# received: dir: one two three four
ok 2
# testing : server/dir/subdir merge
# expected: dir: one two three four five six
# received: dir: one two three four five six
ok 3
ok
All tests successful.
Files=1, Tests=3, 1 wallclock secs ( 0.02 usr 0.01 sys + 0.83 cusr 0.23 csys = 1.09 CPU)
Result: PASS
[warning] server localhost:8529 shutdown
[warning] port 8529 still in use...
done

sre@tst1.ntf.cftdev1 /ntfhome/local/src/perl/mod_perl-2.0.8
2014-06-22 23:09:00 Sun $ diff -u /ntfhome/local/src/perl/mod_perl-2.0.8/t/response/TestDirective/perlloadmodule2.pm.orig /ntfhome/local/src/perl/mod_perl-2.0.8/t/response/TestDirective/perlloadmodule2.pm
--- /ntfhome/local/src/perl/mod_perl-2.0.8/t/response/TestDirective/perlloadmodule2.pm.orig 2014-06-22 23:07:40.833878000 -0700
+++ /ntfhome/local/src/perl/mod_perl-2.0.8/t/response/TestDirective/perlloadmodule2.pm 2014-06-22 23:08:16.291719000 -0700
@@ -82,7 +82,8 @@

      my $s = $r->server;

- if ($r->args eq 'srv') {
+ my $args = $r->args;
+ if (defined $args && $args eq 'srv') {
          my $srv_cfg = $self->get_config($s);
          $r->print("srv: @{ $srv_cfg->{MyMergeTest}||[] }");
      }

Search Discussions

  • Steve Hay at Jun 23, 2014 at 6:57 am

    On 23 June 2014 07:16, Mark Hedges wrote:
    sre@tst1.ntf.cftdev1 /ntfhome/local/src/perl/mod_perl-2.0.8
    2014-06-22 23:09:00 Sun $ diff -u /ntfhome/local/src/perl/mod_perl-2.0.8/t/response/TestDirective/perlloadmodule2.pm.orig /ntfhome/local/src/perl/mod_perl-2.0.8/t/response/TestDirective/perlloadmodule2.pm
    --- /ntfhome/local/src/perl/mod_perl-2.0.8/t/response/TestDirective/perlloadmodule2.pm.orig 2014-06-22 23:07:40.833878000 -0700
    +++ /ntfhome/local/src/perl/mod_perl-2.0.8/t/response/TestDirective/perlloadmodule2.pm 2014-06-22 23:08:16.291719000 -0700
    @@ -82,7 +82,8 @@

    my $s = $r->server;

    - if ($r->args eq 'srv') {
    + my $args = $r->args;
    + if (defined $args && $args eq 'srv') {
    my $srv_cfg = $self->get_config($s);
    $r->print("srv: @{ $srv_cfg->{MyMergeTest}||[] }");
    }
    Thanks for the patch. However, this is already fixed in trunk in the
    SVN repository.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupmodperl @
categoriesmodperl, perl
postedJun 23, '14 at 6:16a
activeJun 23, '14 at 6:57a
posts2
users2
websiteperl.apache.org

2 users in discussion

Mark Hedges: 1 post Steve Hay: 1 post

People

Translate

site design / logo © 2018 Grokbase