Subject: | warning, optional test failures |
Hi,
while packaging Catalyst 5.90010 for Debian I'm trying to enable
additional tests, including "optional" tests. Why are these tests named
optional? And what about the t/optional_apache*.pl tests, they don't seem
to follow the usual TAP conventions?
1) a warning about "undecoded UTF-32":
$ perl -w t/aggregate/live_component_controller_action_streaming.t
ok 1 - Request
ok 2 - Response Successful 2xx
ok 3 - Response Content-Type
ok 4 - No Content-Length for streaming responses
ok 5 - Response content
ok 6 - Content is a stream
ok 7 - Request
ok 8 - Response Successful 2xx
ok 9 - Response Content-Type
ok 10 - Response Content-Length
ok 11 - Content is read from filehandle
ok 12 - Request
ok 13 - Response Successful 2xx
ok 14 - Response Content-Type
ok 15 - Response Content-Length
ok 16 - Content is read from filehandle
Parsing of undecoded UTF-32 at /usr/share/perl5/Catalyst/Test.pm line 314.
ok 17 - Request
ok 18 - Response Successful 2xx
ok 19 - Response Content-Type
ok 20 - Response Content-Length
ok 21 - Content is read from filehandle
1..21
2) t/optional_threads.t produces a segfault - ?!
$ TEST_THREADS=1 perl -w t/optional_threads.t
1..3
Calling Catalyst::Test::local_request() directly is deprecated.
Please import Catalyst::Test into your namespace and use the provided
request()
function instead.
at t/optional_threads.t line 35 thread 1
[2] 14300 segmentation fault TEST_THREADS=1 perl -w
t/optional_threads.t
3) t/optional_http-server-restart.t, t/optional_memleak.t,
t/optional_stress.t all work fine, but the lighttpd and apache tests
produce massive amounts of failures (almost all tests fail). Notices such
as "Change to application directory and Run "perl Makefile.PL" to make
sure your install is complete" or "unable to resolve mods-enabled/*.load -
cannot find a suitable ServerRoot" indicate problems with the basic setup
of the test environment - see also some of the return values below.
I'm copying the beginning of test output, please tell me if you need it
all.
$ TEST_LIGHTTPD=1 perl -w t/optional_lighttpd-fastcgi-non-root.t
1..1
created "TestApp"
created "TestApp/script"
created "TestApp/lib"
created "TestApp/root"
created "TestApp/root/static"
created "TestApp/root/static/images"
created "TestApp/t"
created "TestApp/lib/TestApp"
created "TestApp/lib/TestApp/Model"
created "TestApp/lib/TestApp/View"
created "TestApp/lib/TestApp/Controller"
created "TestApp/testapp.conf"
created "TestApp/testapp.psgi"
created "TestApp/lib/TestApp.pm"
created "TestApp/lib/TestApp/Controller/Root.pm"
created "TestApp/README"
created "TestApp/Changes"
created "TestApp/t/01app.t"
created "TestApp/t/02pod.t"
created "TestApp/t/03podcoverage.t"
created "TestApp/root/static/images/catalyst_logo.png"
created "TestApp/root/static/images/btn_120x50_built.png"
created "TestApp/root/static/images/btn_120x50_built_shadow.png"
created "TestApp/root/static/images/btn_120x50_powered.png"
created "TestApp/root/static/images/btn_120x50_powered_shadow.png"
created "TestApp/root/static/images/btn_88x31_built.png"
created "TestApp/root/static/images/btn_88x31_built_shadow.png"
created "TestApp/root/static/images/btn_88x31_powered.png"
created "TestApp/root/static/images/btn_88x31_powered_shadow.png"
created "TestApp/root/favicon.ico"
created "TestApp/Makefile.PL"
created "TestApp/script/testapp_cgi.pl"
created "TestApp/script/testapp_fastcgi.pl"
created "TestApp/script/testapp_server.pl"
created "TestApp/script/testapp_test.pl"
created "TestApp/script/testapp_create.pl"
Change to application directory and Run "perl Makefile.PL" to make sure
your install is complete
# Waiting for server to start...
t/aggregate/live_component_controller_action_action.t ............ 1/?
# Failed test 'Response Successful 2xx'
# at t/aggregate/live_component_controller_action_action.t line 30.
# Failed test 'Response Content-Type'
# at t/aggregate/live_component_controller_action_action.t line 31.
# got: 'text/html'
# expected: 'text/plain'
# Failed test 'Test Action'
# at t/aggregate/live_component_controller_action_action.t line 32.
# got: undef
# expected: 'action_action_one'
# Failed test 'Test Class'
# at t/aggregate/live_component_controller_action_action.t line 34.
# got: undef
# expected: 'TestApp::Controller::Action::Action'
# Failed test at t/aggregate/live_component_controller_action_action.t
line 39.
# got: undef
# expected: 'works'
# Failed test 'Content is a serialized Catalyst::Request'
# at t/aggregate/live_component_controller_action_action.t line 40.
# '<?xml version="1.0" encoding="iso-8859-1"?>
# <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
# "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
# <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
# <head>
# <title>500 - Internal Server Error</title>
# </head>
# <body>
# <h1>500 - Internal Server Error</h1>
# </body>
# </html>
# '
# doesn't match '(?^s:^bless\( .* 'Catalyst::Request' \)$)'
...
$ prove t/optional_apache-cgi.pl
t/optional_apache-cgi.pl .. [warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/bin/perl /home/fs/src/pkg-
perl/git/packages/libcatalyst-perl/t/optional_apache-cgi.pl
't/aggregate/live_component_controller_action_action.t'
't/aggregate/live_component_controller_action_auto.t'
't/aggregate/live_component_controller_action_begin.t'
't/aggregate/live_component_controller_action_chained.t'
't/aggregate/live_component_controller_action_chained2.t'
't/aggregate/live_component_controller_action_default.t'
't/aggregate/live_component_controller_action_detach.t'
't/aggregate/live_component_controller_action_die_in_end.t'
't/aggregate/live_component_controller_action_end.t'
't/aggregate/live_component_controller_action_forward.t'
't/aggregate/live_component_controller_action_global.t'
't/aggregate/live_component_controller_action_go.t'
't/aggregate/live_component_controller_action_index.t'
't/aggregate/live_component_controller_action_index_or_default.t'
't/aggregate/live_component_controller_action_inheritance.t'
't/aggregate/live_component_controller_action_local.t'
't/aggregate/live_component_controller_action_multipath.t'
't/aggregate/live_component_controller_action_path.t'
't/aggregate/live_component_controller_action_path_matchsingle.t'
't/aggregate/live_component_controller_action_private.t'
't/aggregate/live_component_controller_action_regexp.t'
't/aggregate/live_component_controller_action_streaming.t'
't/aggregate/live_component_controller_action_visit.t'
't/aggregate/live_component_controller_anon.t'
't/aggregate/live_component_controller_args.t'
't/aggregate/live_component_controller_attributes.t'
't/aggregate/live_component_controller_moose.t'
't/aggregate/live_component_view_single.t'
't/aggregate/live_engine_request_auth.t'
't/aggregate/live_engine_request_body.t'
't/aggregate/live_engine_request_body_demand.t'
't/aggregate/live_engine_request_cookies.t'
't/aggregate/live_engine_request_env.t'
't/aggregate/live_engine_request_escaped_path.t'
't/aggregate/live_engine_request_headers.t'
't/aggregate/live_engine_request_parameters.t'
't/aggregate/live_engine_request_remote_user.t'
't/aggregate/live_engine_request_uploads.t'
't/aggregate/live_engine_request_uri.t'
't/aggregate/live_engine_response_body.t'
't/aggregate/live_engine_response_cookies.t'
't/aggregate/live_engine_response_emptybody.t'
't/aggregate/live_engine_response_errors.t'
't/aggregate/live_engine_response_headers.t'
't/aggregate/live_engine_response_large.t'
't/aggregate/live_engine_response_print.t'
't/aggregate/live_engine_response_redirect.t'
't/aggregate/live_engine_response_status.t'
't/aggregate/live_engine_setup_basics.t'
't/aggregate/live_engine_setup_plugins.t' 't/aggregate/live_loop.t'
't/aggregate/live_plugin_loaded.t' 't/aggregate/live_priorities.t'
't/aggregate/live_recursion.t' 't/aggregate/live_view_warnings.t'
[warning] unable to resolve mods-enabled/*.load - cannot find a suitable
ServerRoot
[warning] please specify a ServerRoot in your httpd.conf or use apxs
[warning] unable to resolve mods-enabled/*.conf - cannot find a suitable
ServerRoot
[warning] please specify a ServerRoot in your httpd.conf or use apxs
[warning] unable to resolve httpd.conf - cannot find a suitable ServerRoot
[warning] please specify a ServerRoot in your httpd.conf or use apxs
[warning] unable to resolve ports.conf - cannot find a suitable ServerRoot
[warning] please specify a ServerRoot in your httpd.conf or use apxs
[warning] unable to resolve conf.d/ - cannot find a suitable ServerRoot
[warning] please specify a ServerRoot in your httpd.conf or use apxs
[warning] unable to resolve sites-enabled/ - cannot find a suitable
ServerRoot
[warning] please specify a ServerRoot in your httpd.conf or use apxs
[warning] unable to resolve mods-enabled/*.load - cannot find a suitable
ServerRoot
[warning] please specify a ServerRoot in your httpd.conf or use apxs
[warning] unable to resolve mods-enabled/*.conf - cannot find a suitable
ServerRoot
[warning] please specify a ServerRoot in your httpd.conf or use apxs
[warning] unable to resolve httpd.conf - cannot find a suitable ServerRoot
[warning] please specify a ServerRoot in your httpd.conf or use apxs
[warning] unable to resolve ports.conf - cannot find a suitable ServerRoot
[warning] please specify a ServerRoot in your httpd.conf or use apxs
[warning] unable to resolve conf.d/ - cannot find a suitable ServerRoot
[warning] please specify a ServerRoot in your httpd.conf or use apxs
[warning] unable to resolve sites-enabled/ - cannot find a suitable
ServerRoot
[warning] please specify a ServerRoot in your httpd.conf or use apxs
[warning] Using random number seed: 1422355500 (autogenerated)
# Failed test 'Response one successful 2xx'
# at t/aggregate/live_engine_response_print.t line 21.
# Failed test 'Content one OK'
# at t/aggregate/live_engine_response_print.t line 23.
# got: '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
# <html><head>
# <title>404 Not Found</title>
# </head><body>
# <h1>Not Found</h1>
# <p>The requested URL /cgi/engine/response/print/one was not found on
this server.</p>
# </body></html>
# '
# expected: 'foo'
# Failed test 'Response three successful 2xx'
# at t/aggregate/live_engine_response_print.t line 21.
# Failed test 'Content three OK'
# at t/aggregate/live_engine_response_print.t line 23.
# got: '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
# <html><head>
# <title>404 Not Found</title>
# </head><body>
# <h1>Not Found</h1>
# <p>The requested URL /cgi/engine/response/print/three was not found on
this server.</p>
# </body></html>
# '
# expected: 'foo,bar,baz:'
# Failed test 'Response two successful 2xx'
# at t/aggregate/live_engine_response_print.t line 21.
# Failed test 'Content two OK'
# at t/aggregate/live_engine_response_print.t line 23.
# got: '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
# <html><head>
# <title>404 Not Found</title>
# </head><body>
# <h1>Not Found</h1>
# <p>The requested URL /cgi/engine/response/print/two was not found on
this server.</p>
# </body></html>
# '
# expected: 'foobar'
# Looks like you failed 6 tests of 9.
...
I'm sorry if I'm lumping together too many unrelated issues. I'm happy to
file individual bug reports if that's more useful, once it's been
confirmed that these tests should indeed all pass.
Florian