py$(PYV): commands[0]> python -m pytest ============================= test session starts ============================== platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python cachedir: .tox/py$(PYV)/.pytest_cache rootdir: $(@D) configfile: tox.ini testpaths: testing collecting ... collected 219 items testing/test_details.py::test_parse_hookimpl_override PASSED testing/test_details.py::test_warn_when_deprecated_specified PASSED testing/test_details.py::test_warn_when_deprecated_args_specified PASSED testing/test_details.py::test_warn_when_deprecated_args_with_defaults_specified PASSED testing/test_details.py::test_plugin_getattr_raises_errors PASSED testing/test_details.py::test_not_all_arguments_are_provided_issues_a_warning PASSED testing/test_details.py::test_not_all_arguments_warning_points_at_the_caller PASSED testing/test_details.py::test_repr PASSED testing/test_details.py::test_dist_facade_list_attributes PASSED testing/test_details.py::test_dist_facade_project_name_and_delegation PASSED testing/test_details.py::test_dist_facade_identity_equality_and_hash PASSED testing/test_details.py::test_dunder_version PASSED testing/test_details.py::test_dunder_getattr_missing_raises PASSED testing/test_details.py::test_hookimpl_disallow_invalid_combination PASSED testing/test_details.py::test_hook_nonspec_call PASSED testing/test_details.py::test_wrapper_runtimeerror_passtrough PASSED testing/test_details.py::test_package_metadata_links_to_repository PASSED testing/test_helpers.py::test_varnames PASSED testing/test_helpers.py::test_varnames_default PASSED testing/test_helpers.py::test_varnames_class PASSED testing/test_helpers.py::test_varnames_keyword_only PASSED testing/test_helpers.py::test_formatdef PASSED testing/test_helpers.py::test_varnames_decorator PASSED testing/test_helpers.py::test_varnames_bound_method_from_module_function PASSED testing/test_helpers.py::test_varnames_unconventional_first_param_name PASSED testing/test_helpers.py::test_varnames_classmethod PASSED testing/test_helpers.py::test_varnames_staticmethod PASSED testing/test_helpers.py::test_varnames_hookspec_without_self PASSED testing/test_helpers.py::test_varnames_legacy_noself_warns PASSED testing/test_helpers.py::test_varnames_legacy_noself_no_warn_with_self PASSED testing/test_helpers.py::test_varnames_no_legacy_noself_no_warn PASSED testing/test_helpers.py::test_varnames_legacy_noself_suppressed_for_timeout_hooks PASSED testing/test_helpers.py::test_varnames_unresolvable_annotation PASSED testing/test_hookcaller.py::test_adding_nonwrappers PASSED testing/test_hookcaller.py::test_adding_nonwrappers_trylast PASSED testing/test_hookcaller.py::test_adding_nonwrappers_trylast3 PASSED testing/test_hookcaller.py::test_adding_nonwrappers_trylast2 PASSED testing/test_hookcaller.py::test_adding_nonwrappers_tryfirst PASSED testing/test_hookcaller.py::test_adding_wrappers_ordering PASSED testing/test_hookcaller.py::test_adding_wrappers_ordering_tryfirst PASSED testing/test_hookcaller.py::test_adding_wrappers_complex PASSED testing/test_hookcaller.py::test_hookspec PASSED testing/test_hookcaller.py::test_hookimpl[True-hookwrapper] PASSED testing/test_hookcaller.py::test_hookimpl[True-optionalhook] PASSED testing/test_hookcaller.py::test_hookimpl[True-tryfirst] PASSED testing/test_hookcaller.py::test_hookimpl[True-trylast] PASSED testing/test_hookcaller.py::test_hookimpl[False-hookwrapper] PASSED testing/test_hookcaller.py::test_hookimpl[False-optionalhook] PASSED testing/test_hookcaller.py::test_hookimpl[False-tryfirst] PASSED testing/test_hookcaller.py::test_hookimpl[False-trylast] PASSED testing/test_hookcaller.py::test_hookrelay_registry PASSED testing/test_hookcaller.py::test_hookrelay_registration_by_specname PASSED testing/test_hookcaller.py::test_hookrelay_registration_by_specname_raises PASSED testing/test_hookcaller.py::test_hook_conflict PASSED testing/test_hookcaller.py::test_call_extra_hook_order PASSED testing/test_hookcaller.py::test_remove_plugin_not_found_raises PASSED testing/test_invocations.py::test_argmismatch PASSED testing/test_invocations.py::test_only_kwargs PASSED testing/test_invocations.py::test_opt_in_args PASSED testing/test_invocations.py::test_call_order PASSED testing/test_invocations.py::test_firstresult_definition PASSED testing/test_invocations.py::test_firstresult_force_result_hookwrapper PASSED testing/test_invocations.py::test_firstresult_force_result PASSED testing/test_invocations.py::test_firstresult_returns_none PASSED testing/test_invocations.py::test_firstresult_no_plugin PASSED testing/test_invocations.py::test_no_hookspec PASSED testing/test_invocations.py::test_non_wrapper_generator PASSED testing/test_invocations.py::test_wrappers_yield_twice_fails[wrapper] PASSED testing/test_invocations.py::test_wrappers_yield_twice_fails[legacy-wrapper] PASSED testing/test_invocations.py::test_wrappers_yield_never_fails[wrapper] PASSED testing/test_invocations.py::test_wrappers_yield_never_fails[legacy-wrapper] PASSED testing/test_invocations.py::TestHookspecDefaultArgumentValue::test_basic PASSED testing/test_invocations.py::TestHookspecDefaultArgumentValue::test_added_after_registration PASSED testing/test_invocations.py::TestHookspecDefaultArgumentValue::test_old_spec_new_impl PASSED testing/test_invocations.py::TestHookspecDefaultArgumentValue::test_call_value_overrides_hookimpl_default PASSED testing/test_invocations.py::TestHookspecDefaultArgumentValue::test_call_value_overrides_hookimpl_default_in_wrappers PASSED testing/test_invocations.py::TestHookspecDefaultArgumentValue::test_hookspec_default_and_call_override_hookimpl_default PASSED testing/test_invocations.py::TestHookspecDefaultArgumentValue::test_new_call_argument_is_not_delivered_by_old_spec PASSED testing/test_invocations.py::TestHookspecDefaultArgumentValue::test_falsy_values_allowed_as_default[None] PASSED testing/test_invocations.py::TestHookspecDefaultArgumentValue::test_falsy_values_allowed_as_default[False] PASSED testing/test_invocations.py::TestHookspecDefaultArgumentValue::test_falsy_values_allowed_as_default[0] PASSED testing/test_invocations.py::TestHookspecDefaultArgumentValue::test_falsy_values_allowed_as_default[] PASSED testing/test_invocations.py::TestHookspecDefaultArgumentValue::test_historic_replay PASSED testing/test_invocations.py::TestHookspecDefaultArgumentValue::test_call_extra PASSED testing/test_multicall.py::test_keyword_args PASSED testing/test_multicall.py::test_keyword_args_with_defaultargs PASSED testing/test_multicall.py::test_tags_call_error PASSED testing/test_multicall.py::test_call_none_is_no_result PASSED testing/test_multicall.py::test_hookwrapper PASSED testing/test_multicall.py::test_hookwrapper_two_yields PASSED testing/test_multicall.py::test_wrapper PASSED testing/test_multicall.py::test_wrapper_two_yields PASSED testing/test_multicall.py::test_hookwrapper_order PASSED testing/test_multicall.py::test_hookwrapper_not_yield PASSED testing/test_multicall.py::test_hookwrapper_yield_not_executed PASSED testing/test_multicall.py::test_hookwrapper_too_many_yield PASSED testing/test_multicall.py::test_wrapper_yield_not_executed PASSED testing/test_multicall.py::test_wrapper_too_many_yield PASSED testing/test_multicall.py::test_hookwrapper_exception[ValueError] PASSED testing/test_multicall.py::test_hookwrapper_exception[SystemExit] PASSED testing/test_multicall.py::test_hookwrapper_force_exception PASSED testing/test_multicall.py::test_wrapper_exception[ValueError] PASSED testing/test_multicall.py::test_wrapper_exception[SystemExit] PASSED testing/test_multicall.py::test_wrapper_exception_chaining PASSED testing/test_multicall.py::test_unwind_inner_wrapper_teardown_exc PASSED testing/test_multicall.py::test_wrapper_stopiteration_passtrough[True] PASSED testing/test_multicall.py::test_wrapper_stopiteration_passtrough[False] PASSED testing/test_multicall.py::test_suppress_inner_wrapper_teardown_exc PASSED testing/test_pluginmanager.py::test_plugin_double_register PASSED testing/test_pluginmanager.py::test_register_ignores_none PASSED testing/test_pluginmanager.py::test_pm PASSED testing/test_pluginmanager.py::test_has_plugin PASSED testing/test_pluginmanager.py::test_register_dynamic_attr[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_dynamic_attr[spec-is-instance] PASSED testing/test_pluginmanager.py::test_pm_name PASSED testing/test_pluginmanager.py::test_set_blocked PASSED testing/test_pluginmanager.py::test_register_ignores_properties[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_ignores_properties[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register_ignores_cached_property[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_ignores_cached_property[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register_ignores_raising_descriptors[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_ignores_raising_descriptors[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register_hookimpl_above_classmethod[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_hookimpl_above_classmethod[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register_hookimpl_above_staticmethod[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_hookimpl_above_staticmethod[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register_instance_attribute_function_is_not_bound[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_instance_attribute_function_is_not_bound[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register_instance_attribute_bound_method[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_instance_attribute_bound_method[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register_slot_attribute_function_is_not_bound[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_slot_attribute_function_is_not_bound[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register_module_level_bound_method[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_module_level_bound_method[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register_ignores_unmarked_class_and_static_methods[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_ignores_unmarked_class_and_static_methods[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register_ignores_non_callable_instance_attributes PASSED testing/test_pluginmanager.py::test_hookspec_lookup_ignores_properties PASSED testing/test_pluginmanager.py::test_register_mismatch_method[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_mismatch_method[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register_mismatch_arg[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_mismatch_arg[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register_validation_failure_leaves_no_state[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_validation_failure_leaves_no_state[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register_verifies_spec_added_by_historic_replay PASSED testing/test_pluginmanager.py::test_register_hookwrapper_not_a_generator_function[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_hookwrapper_not_a_generator_function[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register_both_wrapper_and_hookwrapper[spec-is-class] PASSED testing/test_pluginmanager.py::test_register_both_wrapper_and_hookwrapper[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register PASSED testing/test_pluginmanager.py::test_unregister_blocked PASSED testing/test_pluginmanager.py::test_register_unknown_hooks PASSED testing/test_pluginmanager.py::test_register_historic PASSED testing/test_pluginmanager.py::test_historic_with_subset_hook_caller PASSED testing/test_pluginmanager.py::test_with_result_memorized[True] PASSED testing/test_pluginmanager.py::test_with_result_memorized[False] PASSED testing/test_pluginmanager.py::test_with_callbacks_immediately_executed PASSED testing/test_pluginmanager.py::test_register_historic_incompat_hookwrapper PASSED testing/test_pluginmanager.py::test_register_historic_incompat_wrapper PASSED testing/test_pluginmanager.py::test_call_extra PASSED testing/test_pluginmanager.py::test_call_with_too_few_args PASSED testing/test_pluginmanager.py::test_subset_hook_caller PASSED testing/test_pluginmanager.py::test_subset_hook_caller_with_specname PASSED testing/test_pluginmanager.py::test_get_hookimpls PASSED testing/test_pluginmanager.py::test_get_hookcallers PASSED testing/test_pluginmanager.py::test_add_hookspecs_nohooks PASSED testing/test_pluginmanager.py::test_load_setuptools_instantiation[truthy] PASSED testing/test_pluginmanager.py::test_load_setuptools_instantiation[falsey] PASSED testing/test_pluginmanager.py::test_load_setuptools_instantiation[bool-raises] PASSED testing/test_pluginmanager.py::test_add_tracefuncs[spec-is-class] PASSED testing/test_pluginmanager.py::test_add_tracefuncs[spec-is-instance] PASSED testing/test_pluginmanager.py::test_hook_tracing[spec-is-class] PASSED testing/test_pluginmanager.py::test_hook_tracing[spec-is-instance] PASSED testing/test_pluginmanager.py::test_hook_tracing_escapes_surrogate_values PASSED testing/test_pluginmanager.py::test_hook_tracing_with_broken_repr[spec-is-class] PASSED testing/test_pluginmanager.py::test_hook_tracing_with_broken_repr[spec-is-instance] PASSED testing/test_pluginmanager.py::test_register_while_calling[False] PASSED testing/test_pluginmanager.py::test_register_while_calling[True] PASSED testing/test_pluginmanager.py::test_check_pending_skips_underscore PASSED testing/test_pluginmanager.py::test_check_pending_optionalhook PASSED testing/test_pluginmanager.py::test_check_pending_nonspec_hook PASSED testing/test_pluginmanager.py::test_unregister_plugin_with_multi_hookimpls PASSED testing/test_pluginmanager.py::test_get_hookcallers_no_duplicates PASSED testing/test_pluginmanager.py::test_unregister_plugin_and_name_must_agree PASSED testing/test_pluginmanager.py::test_unregister_falsy_plugin PASSED testing/test_result.py::test_exceptions_traceback_doesnt_get_longer_and_longer PASSED testing/test_tracer.py::test_simple PASSED testing/test_tracer.py::test_indent PASSED testing/test_tracer.py::test_readable_output_dictargs PASSED testing/test_tracer.py::test_setprocessor PASSED testing/test_tracer.py::test_plugin_tracing PASSED testing/test_tracer.py::test_dbl_plugin_tracing PASSED testing/test_tracer.py::test_plain_tokens_stay_bare PASSED testing/test_tracer.py::test_whitespace_strings_are_quoted PASSED testing/test_tracer.py::test_empty_string_is_visible PASSED testing/test_tracer.py::test_enum_shows_member_name PASSED testing/test_tracer.py::test_str_enum_shows_member_name PASSED testing/test_tracer.py::test_pathlike_shows_its_type PASSED testing/test_tracer.py::test_multiline_value_is_indented_under_its_key PASSED testing/test_tracer.py::test_carriage_return_breaks_the_block[first\rsecond] PASSED testing/test_tracer.py::test_carriage_return_breaks_the_block[first\r\nsecond] PASSED testing/test_tracer.py::test_trailing_newline_string_is_quoted PASSED testing/test_tracer.py::test_non_str_with_line_breaks_is_indented PASSED testing/test_tracer.py::test_dictargs_escape_surrogate_values PASSED testing/test_tracer.py::test_escape_surrogates_from_repr PASSED testing/test_tracer.py::test_escape_surrogates_in_labels PASSED testing/test_tracer.py::test_non_ascii_values_are_kept PASSED testing/test_tracer.py::test_broken_repr_value_does_not_raise PASSED testing/test_tracer.py::test_broken_str_label_does_not_raise PASSED testing/test_tracer.py::test_keyboard_interrupt_from_str_propagates PASSED testing/test_tracer.py::test_broken_exception_repr_falls_back_to_type_name PASSED testing/test_tracer.py::test_error_from_exception_repr_is_not_rendered PASSED testing/test_tracer.py::test_keyboard_interrupt_from_exception_repr_propagates PASSED testing/test_tracer.py::test_broken_repr_on_pathlike_does_not_raise PASSED testing/test_tracer.py::test_keyboard_interrupt_from_repr_propagates PASSED testing/test_warnings.py::test_teardown_raised_warning PASSED testing/test_warnings.py::test_hookspec_missing_self_warns PASSED testing/test_warnings.py::test_hookspec_with_self_no_warning PASSED testing/test_warnings.py::test_hookspec_staticmethod_no_warning PASSED ======== 219 passed ======== py$(PYV): OK congratulations :)