Catalyst::Runtime test failure on Test-Builder2 #274

Closed
masochist opened this Issue Mar 31, 2012 · 2 comments

Comments

Projects
None yet
2 participants
PERL_DL_NONLAZY=1 /Users/apeiron/perl5/perlbrew/perls/testbuilder2/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t t/aggregate/*.t
t/01use.t ............................................................. ok
t/aggregate.t ......................................................... skipped: No test aggregation requested
t/aggregate/c3_appclass_bug.t ......................................... ok
t/aggregate/c3_mro.t .................................................. ok
t/aggregate/caf_backcompat.t .......................................... ok
t/aggregate/catalyst_test_utf8.t ...................................... ok
t/aggregate/custom_live_component_controller_action_auto_doublebug.t .. ok
t/aggregate/custom_live_path_bug.t .................................... ok
t/aggregate/deprecated_test_import.t .................................. ok
t/aggregate/deprecated_test_unimported.t .............................. ok
t/aggregate/error_page_dump.t ......................................... ok
t/aggregate/live_component_controller_action_action.t ................. ok
t/aggregate/live_component_controller_action_auto.t ................... ok
t/aggregate/live_component_controller_action_begin.t .................. ok
t/aggregate/live_component_controller_action_chained.t ................ ok
t/aggregate/live_component_controller_action_chained2.t ............... ok
t/aggregate/live_component_controller_action_default.t ................ ok
t/aggregate/live_component_controller_action_detach.t ................. ok
t/aggregate/live_component_controller_action_die_in_end.t ............. ok
t/aggregate/live_component_controller_action_end.t .................... ok
t/aggregate/live_component_controller_action_forward.t ................ ok
t/aggregate/live_component_controller_action_global.t ................. ok
t/aggregate/live_component_controller_action_go.t ..................... ok
t/aggregate/live_component_controller_action_index.t .................. ok
t/aggregate/live_component_controller_action_index_or_default.t ....... ok
t/aggregate/live_component_controller_action_inheritance.t ............ ok
t/aggregate/live_component_controller_action_local.t .................. ok
t/aggregate/live_component_controller_action_multipath.t .............. ok
t/aggregate/live_component_controller_action_path.t ................... ok
t/aggregate/live_component_controller_action_path_matchsingle.t ....... ok
t/aggregate/live_component_controller_action_private.t ................ ok
t/aggregate/live_component_controller_action_regexp.t ................. ok
t/aggregate/live_component_controller_action_streaming.t .............. 1/? Parsing of undecoded UTF-32 at /Users/apeiron/.cpanm/work/1333111428.704/Catalyst-Runtime-5.90011/blib/lib/Catalyst/Test.pm line 314.
t/aggregate/live_component_controller_action_streaming.t .............. ok
t/aggregate/live_component_controller_action_visit.t .................. ok
t/aggregate/live_component_controller_anon.t .......................... ok
t/aggregate/live_component_controller_args.t .......................... ok
t/aggregate/live_component_controller_attributes.t .................... ok
t/aggregate/live_component_controller_moose.t ......................... ok
t/aggregate/live_component_view_single.t .............................. ok
t/aggregate/live_engine_request_auth.t ................................ ok
t/aggregate/live_engine_request_body.t ................................ ok
t/aggregate/live_engine_request_body_demand.t ......................... ok
t/aggregate/live_engine_request_cookies.t ............................. ok
t/aggregate/live_engine_request_env.t ................................. ok
t/aggregate/live_engine_request_escaped_path.t ........................ ok
t/aggregate/live_engine_request_headers.t ............................. ok
t/aggregate/live_engine_request_parameters.t .......................... ok
t/aggregate/live_engine_request_remote_user.t ......................... ok
t/aggregate/live_engine_request_uploads.t ............................. ok
t/aggregate/live_engine_request_uri.t ................................. ok
t/aggregate/live_engine_response_body.t ............................... ok
t/aggregate/live_engine_response_cookies.t ............................ ok
t/aggregate/live_engine_response_emptybody.t .......................... ok
t/aggregate/live_engine_response_errors.t ............................. ok
t/aggregate/live_engine_response_headers.t ............................ ok
t/aggregate/live_engine_response_large.t .............................. ok
t/aggregate/live_engine_response_print.t .............................. ok
t/aggregate/live_engine_response_redirect.t ........................... ok
t/aggregate/live_engine_response_status.t ............................. ok
t/aggregate/live_engine_setup_basics.t ................................ ok
t/aggregate/live_engine_setup_plugins.t ............................... ok
t/aggregate/live_loop.t ............................................... ok
t/aggregate/live_plugin_loaded.t ...................................... ok
t/aggregate/live_priorities.t ......................................... ok
t/aggregate/live_recursion.t .......................................... ok
t/aggregate/live_view_warnings.t ...................................... ok
t/aggregate/meta_method_unneeded.t .................................... ok
t/aggregate/psgi_file.t ............................................... No subtests run
t/aggregate/unit_controller_actions.t ................................. ok
t/aggregate/unit_controller_config.t .................................. ok
t/aggregate/unit_controller_namespace.t ............................... ok
t/aggregate/unit_core_action.t ........................................ ok
t/aggregate/unit_core_action_for.t .................................... ok
t/aggregate/unit_core_appclass_roles_in_plugin_list.t ................. ok
t/aggregate/unit_core_classdata.t ..................................... ok
t/aggregate/unit_core_component.t ..................................... ok
t/aggregate/unit_core_component_generating.t .......................... ok
t/aggregate/unit_core_component_layers.t .............................. ok
t/aggregate/unit_core_component_loading.t ............................. ok
t/aggregate/unit_core_component_mro.t ................................. ok
t/aggregate/unit_core_controller_actions_config.t ..................... ok
t/aggregate/unit_core_ctx_attr.t ...................................... ok
t/aggregate/unit_core_engine-prepare_path.t ........................... ok
t/aggregate/unit_core_engine_fixenv-iis6.t ............................ ok
t/aggregate/unit_core_engine_fixenv-lighttpd.t ........................ ok
t/aggregate/unit_core_log.t ........................................... ok
t/aggregate/unit_core_merge_config_hashes.t ........................... ok
t/aggregate/unit_core_mvc.t ........................................... ok
t/aggregate/unit_core_path_to.t ....................................... ok
t/aggregate/unit_core_plugin.t ........................................ ok
t/aggregate/unit_core_script_cgi.t .................................... ok
t/aggregate/unit_core_script_create.t ................................. ok
t/aggregate/unit_core_script_fastcgi.t ................................ ok
t/aggregate/unit_core_script_help.t ................................... ok
t/aggregate/unit_core_script_run_options.t ............................ ok
t/aggregate/unit_core_script_server-without_modules.t ................. skipped: Need Test::Without::Module for this test
t/aggregate/unit_core_script_server.t ................................. ok
t/aggregate/unit_core_script_test.t ................................... ok
t/aggregate/unit_core_scriptrunner.t .................................. ok
t/aggregate/unit_core_setup.t ......................................... ok
t/aggregate/unit_core_setup_log.t ..................................... ok
t/aggregate/unit_core_setup_stats.t ................................... ok
t/aggregate/unit_core_uri_for.t ....................................... ok
t/aggregate/unit_core_uri_for_action.t ................................ ok
t/aggregate/unit_core_uri_for_multibytechar.t ......................... ok
t/aggregate/unit_core_uri_with.t ...................................... ok
t/aggregate/unit_dispatcher_requestargs_restore.t ..................... ok
t/aggregate/unit_engineloader.t ....................................... ok
t/aggregate/unit_load_catalyst_test.t ................................. ok
t/aggregate/unit_metaclass_compat_extend_non_moose_controller.t ....... ok
t/aggregate/unit_metaclass_compat_non_moose.t ......................... ok
t/aggregate/unit_metaclass_compat_non_moose_controller.t .............. ok
t/aggregate/unit_response.t ........................................... ok
t/aggregate/unit_utils_env_value.t .................................... ok
t/aggregate/unit_utils_home.t ......................................... ok
t/aggregate/unit_utils_prefix.t ....................................... ok
t/aggregate/unit_utils_request.t ...................................... ok
t/aggregate/utf8_content_length.t ..................................... ok
t/custom_exception_class_simple.t ..................................... ok
t/dead_load_bad_args.t ................................................ ok
t/dead_load_multiple_chained_attributes.t ............................. ok
t/dead_no_unknown_error.t ............................................. ok
t/dead_recursive_chained_attributes.t ................................. ok
t/deprecated.t ........................................................ ok
t/deprecated_appclass_action_warnings.t ............................... ok
t/live_catalyst_test.t ................................................ ok
t/live_component_controller_context_closure.t ......................... skipped: CatalystX::LeakChecker 0.05 required for this test
t/live_fork.t ......................................................... ok
t/live_redirect_body.t ................................................ ok
t/live_show_internal_actions_warnings.t ............................... ok
t/live_stats.t ........................................................ ok
t/optional_http-server-restart.t ...................................... skipped: set TEST_HTTP to enable this test
t/optional_lighttpd-fastcgi-non-root.t ................................ skipped: set TEST_LIGHTTPD to enable this test
t/optional_lighttpd-fastcgi.t ......................................... skipped: set TEST_LIGHTTPD to enable this test
t/optional_memleak.t .................................................. skipped: set TEST_MEMLEAK to enable this test
t/optional_stress.t ................................................... skipped: set TEST_STRESS to enable this test
t/optional_threads.t .................................................. skipped: set TEST_THREADS to enable this test
t/plugin_new_method_backcompat.t ...................................... ok
t/psgi_file_testapp.t ................................................. ok
t/psgi_file_testapp_engine_plackup_compat.t ........................... skipped: Catalyst::Engine::PSGI required for this test
t/psgi_file_testapp_engine_psgi_compat.t .............................. ok
t/unit_core_methodattributes_method_metaclass_on_subclasses.t ......... ok
t/unit_stats.t ........................................................ ok
t/unit_utils_load_class.t ............................................. ok
t/unit_utils_subdir.t ................................................. ok

Test Summary Report
-------------------
t/aggregate/psgi_file.t                                             (Wstat: 0 Tests: 0 Failed: 0)
  Parse errors: No plan found in TAP output
Files=145, Tests=2865, 143 wallclock secs ( 0.87 usr  0.40 sys + 135.97 cusr  4.53 csys = 141.77 CPU)
Result: FAIL
Failed 1/145 test programs. 0/2865 subtests failed.
make: *** [test_dynamic] Error 255
FAIL
Testing Catalyst-Runtime-5.90011 failed.
Owner

schwern commented Apr 13, 2012

This one reveals a problem. Test::Builder used to dup STDOUT and STDERR immediately upon loading the module. Now it dups them on first use. This was done so tests could more easily do things like turn on utf8 for output before the filehandles have been copied and squirreled away.

Unfortunately, sometimes tests redirect STDOUT and STDERR before they make any output, and that's just what's happened here. Then Test::Builder duplicates the redirected filehandles.

Not sure what to do about that.

Owner

schwern commented Apr 14, 2013

#131 is related.

@schwern schwern closed this Mar 16, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment