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 :)