py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV)
py$(PYV): commands[0]> python -m pytest --cov=argh --cov-report html --cov-fail-under 100 tests
============================= test session starts ==============================
platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python
cachedir: .tox/py$(PYV)/.pytest_cache
rootdir: $(@D)
configfile: pyproject.toml
collecting ... collected 170 items

tests/test_assembling.py::test_guess_type_from_choices PASSED
tests/test_assembling.py::test_guess_type_from_default PASSED
tests/test_assembling.py::test_guess_action_from_default PASSED
tests/test_assembling.py::test_positional_with_default_int PASSED
tests/test_assembling.py::test_positional_with_default_bool PASSED
tests/test_assembling.py::test_set_default_command PASSED
tests/test_assembling.py::test_set_default_command__parser_error PASSED
tests/test_assembling.py::test_set_default_command__no_func_args PASSED
tests/test_assembling.py::test_set_default_command__varargs_vs_positional PASSED
tests/test_assembling.py::test_set_default_command__varargs_vs_optional PASSED
tests/test_assembling.py::test_set_default_command__varkwargs_vs_positional PASSED
tests/test_assembling.py::test_set_default_command__varkwargs_vs_optional PASSED
tests/test_assembling.py::test_set_default_command__declared_vs_signature__names_mismatch PASSED
tests/test_assembling.py::test_set_default_command__declared_vs_signature__same_name_pos_vs_opt PASSED
tests/test_assembling.py::test_set_default_command_infer_cli_arg_names_from_func_signature__policy_legacy PASSED
tests/test_assembling.py::test_set_default_command_infer_cli_arg_names_from_func_signature__policy_modern PASSED
tests/test_assembling.py::test_set_default_command_docstring PASSED
tests/test_assembling.py::test_set_default_command__varkwargs_sharing_prefix PASSED
tests/test_assembling.py::test_add_subparsers_when_default_command_exists PASSED
tests/test_assembling.py::test_set_default_command_when_subparsers_exist PASSED
tests/test_assembling.py::test_set_add_commands_twice PASSED
tests/test_assembling.py::test_add_command_with_group_kwargs_but_no_group_name PASSED
tests/test_assembling.py::test_set_default_command_varargs PASSED
tests/test_assembling.py::test_set_default_command_kwargs PASSED
tests/test_assembling.py::test_kwonlyargs__policy_legacy PASSED
tests/test_assembling.py::test_kwonlyargs__policy_modern PASSED
tests/test_assembling.py::test_custom_argument_completer PASSED
tests/test_assembling.py::test_custom_argument_completer_no_backend PASSED
tests/test_assembling.py::test_add_subcommands PASSED
tests/test_assembling.py::test_arghparser_autocomplete_method PASSED
tests/test_assembling.py::test_is_positional PASSED
tests/test_assembling.py::test_typing_hints_only_used_when_arg_deco_not_used PASSED
tests/test_assembling.py::test_typing_hints_overview PASSED
tests/test_assembling.py::test_typing_hints_str__policy_by_name_if_has_default PASSED
tests/test_assembling.py::test_typing_hints_str__policy_by_name_if_kwonly PASSED
tests/test_assembling.py::test_typing_hints_bool__policy_by_name_if_has_default PASSED
tests/test_assembling.py::test_typing_hints_bool__policy_by_name_if_kwonly PASSED
tests/test_assembling.py::test_typing_hints_literal PASSED
tests/test_completion.py::test_enabled PASSED
tests/test_completion.py::test_disabled_without_bash PASSED
tests/test_completion.py::test_disabled_with_bash PASSED
tests/test_decorators.py::test_aliases PASSED
tests/test_decorators.py::test_arg PASSED
tests/test_decorators.py::test_named PASSED
tests/test_decorators.py::test_wrap_errors PASSED
tests/test_decorators.py::test_wrap_errors_processor PASSED
tests/test_decorators.py::test_naive_guess_func_arg_name PASSED
tests/test_dispatching.py::test_dispatch_command PASSED
tests/test_dispatching.py::test_run_endpoint_function__always_flush[True] PASSED
tests/test_dispatching.py::test_run_endpoint_function__always_flush[False] PASSED
tests/test_dispatching.py::test_dispatch_command_two_stage PASSED
tests/test_dispatching.py::test_dispatch_commands PASSED
tests/test_dispatching.py::test_entrypoint PASSED
tests/test_dispatching.py::test_dispatch_command_naming_policy PASSED
tests/test_dispatching.py::test_dispatch_commands_naming_policy PASSED
tests/test_dto.py::test_update_empty_dto PASSED
tests/test_dto.py::test_update_full_dto PASSED
tests/test_dto.py::test_make_from_kwargs_minimal PASSED
tests/test_dto.py::test_make_from_kwargs_full PASSED
tests/test_integration.py::test_set_default_command_integration PASSED
tests/test_integration.py::test_set_default_command_integration_merging PASSED
tests/test_integration.py::test_simple_function_no_args PASSED
tests/test_integration.py::test_simple_function_positional PASSED
tests/test_integration.py::test_simple_function_defaults PASSED
tests/test_integration.py::test_simple_function_varargs PASSED
tests/test_integration.py::test_simple_function_kwargs PASSED
tests/test_integration.py::test_all_specs_in_one PASSED
tests/test_integration.py::test_arg_merged PASSED
tests/test_integration.py::test_arg_mismatch_positional PASSED
tests/test_integration.py::test_arg_mismatch_flag PASSED
tests/test_integration.py::test_arg_mismatch_positional_vs_flag PASSED
tests/test_integration.py::test_arg_mismatch_flag_vs_positional PASSED
tests/test_integration.py::TestErrorWrapping::test_error_raised PASSED
tests/test_integration.py::TestErrorWrapping::test_error_wrapped PASSED
tests/test_integration.py::TestErrorWrapping::test_processor PASSED
tests/test_integration.py::TestErrorWrapping::test_stderr_vs_stdout PASSED
tests/test_integration.py::test_argv PASSED
tests/test_integration.py::test_commands_not_defined PASSED
tests/test_integration.py::test_command_not_chosen PASSED
tests/test_integration.py::test_invalid_choice PASSED
tests/test_integration.py::test_unrecognized_arguments PASSED
tests/test_integration.py::test_echo PASSED
tests/test_integration.py::test_bool_action PASSED
tests/test_integration.py::test_bare_group_name PASSED
tests/test_integration.py::test_function_under_group_name PASSED
tests/test_integration.py::test_explicit_cmd_name PASSED
tests/test_integration.py::test_aliases PASSED
tests/test_integration.py::test_help PASSED
tests/test_integration.py::test_arg_order PASSED
tests/test_integration.py::test_raw_output PASSED
tests/test_integration.py::test_output_file PASSED
tests/test_integration.py::test_command_error PASSED
tests/test_integration.py::test_get_function_from_namespace_obj[Namespace] PASSED
tests/test_integration.py::test_get_function_from_namespace_obj[ArghNamespace] PASSED
tests/test_integration.py::test_normalized_keys PASSED
tests/test_integration.py::test_custom_argument_completer PASSED
tests/test_integration.py::test_class_members PASSED
tests/test_integration.py::test_kwonlyargs__policy_legacy PASSED
tests/test_integration.py::test_kwonlyargs__policy_modern PASSED
tests/test_integration.py::test_default_arg_values_in_help PASSED
tests/test_integration.py::test_default_arg_values_in_help__regression PASSED
tests/test_integration.py::test_help_formatting_is_preserved PASSED
tests/test_integration.py::test_prog PASSED
tests/test_integration.py::test_unknown_args PASSED
tests/test_integration.py::test_add_commands_unknown_name_mapping_policy PASSED
tests/test_integration.py::test_add_commands_no_overrides1 PASSED
tests/test_integration.py::test_add_commands_no_overrides2 PASSED
tests/test_integration.py::test_add_commands_group_overrides1 PASSED
tests/test_integration.py::test_add_commands_group_overrides2 PASSED
tests/test_integration.py::test_add_commands_group_overrides3 PASSED
tests/test_integration.py::test_add_commands_func_overrides1 PASSED
tests/test_integration.py::test_add_commands_func_overrides2 PASSED
tests/test_integration.py::test_action_count__only_arg_decorator PASSED
tests/test_integration.py::test_action_count__mixed PASSED
tests/test_interaction.py::test_simple PASSED
tests/test_interaction.py::test_prompt PASSED
tests/test_interaction.py::test_encoding PASSED
tests/test_interaction.py::test_skip PASSED
tests/test_interaction.py::test_keyboard_interrupt PASSED
tests/test_mapping_policies.py::test_no_args[NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT] PASSED
tests/test_mapping_policies.py::test_no_args[NameMappingPolicy.BY_NAME_IF_KWONLY] PASSED
tests/test_mapping_policies.py::test_no_args[None] PASSED
tests/test_mapping_policies.py::test_one_positional[NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT] PASSED
tests/test_mapping_policies.py::test_one_positional[NameMappingPolicy.BY_NAME_IF_KWONLY] PASSED
tests/test_mapping_policies.py::test_one_positional[None] PASSED
tests/test_mapping_policies.py::test_two_positionals[NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT] PASSED
tests/test_mapping_policies.py::test_two_positionals[NameMappingPolicy.BY_NAME_IF_KWONLY] PASSED
tests/test_mapping_policies.py::test_two_positionals[None] PASSED
tests/test_mapping_policies.py::test_two_positionals_one_with_default[NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT-usage: test [-h] [-b BETA] alpha] PASSED
tests/test_mapping_policies.py::test_two_positionals_one_with_default[NameMappingPolicy.BY_NAME_IF_KWONLY-usage: test [-h] alpha [beta]] PASSED
tests/test_mapping_policies.py::test_varargs[NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT] PASSED
tests/test_mapping_policies.py::test_varargs[NameMappingPolicy.BY_NAME_IF_KWONLY] PASSED
tests/test_mapping_policies.py::test_varargs[None] PASSED
tests/test_mapping_policies.py::test_varargs_between_positional_and_kwonly__no_defaults[NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT-usage: test [-h] alpha beta] PASSED
tests/test_mapping_policies.py::test_varargs_between_positional_and_kwonly__no_defaults[NameMappingPolicy.BY_NAME_IF_KWONLY-usage: test [-h] -b BETA alpha] PASSED
tests/test_mapping_policies.py::test_varargs_between_positional_and_kwonly__no_defaults[None-usage: test [-h] -b BETA alpha] PASSED
tests/test_mapping_policies.py::test_varargs_between_positional_and_kwonly__with_defaults[NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT-usage: test [-h] [-a ALPHA] [-b BETA]] PASSED
tests/test_mapping_policies.py::test_varargs_between_positional_and_kwonly__with_defaults[NameMappingPolicy.BY_NAME_IF_KWONLY-usage: test [-h] [-b BETA] [alpha]] PASSED
tests/test_mapping_policies.py::test_varargs_between_positional_and_kwonly__with_defaults__no_explicit_policy PASSED
tests/test_mapping_policies.py::test_positional_with_defaults_without_kwonly__no_explicit_policy PASSED
tests/test_mapping_policies.py::test_kwargs[NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT] PASSED
tests/test_mapping_policies.py::test_kwargs[NameMappingPolicy.BY_NAME_IF_KWONLY] PASSED
tests/test_mapping_policies.py::test_kwargs[None] PASSED
tests/test_mapping_policies.py::test_all_types_mixed_no_named_varargs[NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT-usage: test [-h] [-b BETA] [-d DELTA] alpha gamma] PASSED
tests/test_mapping_policies.py::test_all_types_mixed_no_named_varargs[NameMappingPolicy.BY_NAME_IF_KWONLY-usage: test [-h] -g GAMMA [-d DELTA] alpha [beta]] PASSED
tests/test_regressions.py::test_regression_issue12 PASSED
tests/test_regressions.py::test_regression_issue12_help_flag PASSED
tests/test_regressions.py::test_regression_issue27 PASSED
tests/test_regressions.py::test_regression_issue31 PASSED
tests/test_regressions.py::test_regression_issue47 PASSED
tests/test_regressions.py::test_regression_issue76 PASSED
tests/test_regressions.py::test_regression_issue104 PASSED
tests/test_regressions.py::test_regression_issue204 PASSED
tests/test_regressions.py::test_regression_issue208 PASSED
tests/test_regressions.py::test_regression_issue212_orig_use_case PASSED
tests/test_regressions.py::test_regression_issue212_funcsig_centric_positional PASSED
tests/test_regressions.py::test_regression_issue212_funcsig_centric_named PASSED
tests/test_regressions.py::test_regression_issue224 PASSED
tests/test_typing_hints.py::test_simple_types[str] PASSED
tests/test_typing_hints.py::test_simple_types[int] PASSED
tests/test_typing_hints.py::test_simple_types[float] PASSED
tests/test_typing_hints.py::test_simple_types[bool] PASSED
tests/test_typing_hints.py::test_list PASSED
tests/test_typing_hints.py::test_literal PASSED
tests/test_typing_hints.py::test_unusable_types[dict] PASSED
tests/test_typing_hints.py::test_unusable_types[tuple] PASSED
tests/test_utils.py::test_util_unindent PASSED
tests/test_utils.py::test_get_subparsers_existing PASSED
tests/test_utils.py::test_get_subparsers_create PASSED
tests/test_utils.py::test_get_subparsers_error PASSED

=============================== warnings summary ===============================
tests/test_dispatching.py::test_dispatch_command_two_stage
  $(@D)/src/argh/dispatching.py:168: DeprecationWarning: The argument `namespace` in `dispatch()` is deprecated. It will be removed in the next minor version after v0.31.
    warnings.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

Required test coverage of 100% reached. Total coverage: 100.00%
======== 170 passed, 1 warning ========
  py$(PYV): OK
  congratulations :)