1 py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV)
2 py$(PYV): commands[0]> python -m pytest --cov=argh --cov-report html --cov-fail-under 100 tests
3 ============================= test session starts ==============================
4 platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python
5 cachedir: .tox/py$(PYV)/.pytest_cache
7 configfile: pyproject.toml
8 collecting ... collected 170 items
10 tests/test_assembling.py::test_guess_type_from_choices PASSED
11 tests/test_assembling.py::test_guess_type_from_default PASSED
12 tests/test_assembling.py::test_guess_action_from_default PASSED
13 tests/test_assembling.py::test_positional_with_default_int PASSED
14 tests/test_assembling.py::test_positional_with_default_bool PASSED
15 tests/test_assembling.py::test_set_default_command PASSED
16 tests/test_assembling.py::test_set_default_command__parser_error PASSED
17 tests/test_assembling.py::test_set_default_command__no_func_args PASSED
18 tests/test_assembling.py::test_set_default_command__varargs_vs_positional PASSED
19 tests/test_assembling.py::test_set_default_command__varargs_vs_optional PASSED
20 tests/test_assembling.py::test_set_default_command__varkwargs_vs_positional PASSED
21 tests/test_assembling.py::test_set_default_command__varkwargs_vs_optional PASSED
22 tests/test_assembling.py::test_set_default_command__declared_vs_signature__names_mismatch PASSED
23 tests/test_assembling.py::test_set_default_command__declared_vs_signature__same_name_pos_vs_opt PASSED
24 tests/test_assembling.py::test_set_default_command_infer_cli_arg_names_from_func_signature__policy_legacy PASSED
25 tests/test_assembling.py::test_set_default_command_infer_cli_arg_names_from_func_signature__policy_modern PASSED
26 tests/test_assembling.py::test_set_default_command_docstring PASSED
27 tests/test_assembling.py::test_set_default_command__varkwargs_sharing_prefix PASSED
28 tests/test_assembling.py::test_add_subparsers_when_default_command_exists PASSED
29 tests/test_assembling.py::test_set_default_command_when_subparsers_exist PASSED
30 tests/test_assembling.py::test_set_add_commands_twice PASSED
31 tests/test_assembling.py::test_add_command_with_group_kwargs_but_no_group_name PASSED
32 tests/test_assembling.py::test_set_default_command_varargs PASSED
33 tests/test_assembling.py::test_set_default_command_kwargs PASSED
34 tests/test_assembling.py::test_kwonlyargs__policy_legacy PASSED
35 tests/test_assembling.py::test_kwonlyargs__policy_modern PASSED
36 tests/test_assembling.py::test_custom_argument_completer PASSED
37 tests/test_assembling.py::test_custom_argument_completer_no_backend PASSED
38 tests/test_assembling.py::test_add_subcommands PASSED
39 tests/test_assembling.py::test_arghparser_autocomplete_method PASSED
40 tests/test_assembling.py::test_is_positional PASSED
41 tests/test_assembling.py::test_typing_hints_only_used_when_arg_deco_not_used PASSED
42 tests/test_assembling.py::test_typing_hints_overview PASSED
43 tests/test_assembling.py::test_typing_hints_str__policy_by_name_if_has_default PASSED
44 tests/test_assembling.py::test_typing_hints_str__policy_by_name_if_kwonly PASSED
45 tests/test_assembling.py::test_typing_hints_bool__policy_by_name_if_has_default PASSED
46 tests/test_assembling.py::test_typing_hints_bool__policy_by_name_if_kwonly PASSED
47 tests/test_assembling.py::test_typing_hints_literal PASSED
48 tests/test_completion.py::test_enabled PASSED
49 tests/test_completion.py::test_disabled_without_bash PASSED
50 tests/test_completion.py::test_disabled_with_bash PASSED
51 tests/test_decorators.py::test_aliases PASSED
52 tests/test_decorators.py::test_arg PASSED
53 tests/test_decorators.py::test_named PASSED
54 tests/test_decorators.py::test_wrap_errors PASSED
55 tests/test_decorators.py::test_wrap_errors_processor PASSED
56 tests/test_decorators.py::test_naive_guess_func_arg_name PASSED
57 tests/test_dispatching.py::test_dispatch_command PASSED
58 tests/test_dispatching.py::test_run_endpoint_function__always_flush[True] PASSED
59 tests/test_dispatching.py::test_run_endpoint_function__always_flush[False] PASSED
60 tests/test_dispatching.py::test_dispatch_command_two_stage PASSED
61 tests/test_dispatching.py::test_dispatch_commands PASSED
62 tests/test_dispatching.py::test_entrypoint PASSED
63 tests/test_dispatching.py::test_dispatch_command_naming_policy PASSED
64 tests/test_dispatching.py::test_dispatch_commands_naming_policy PASSED
65 tests/test_dto.py::test_update_empty_dto PASSED
66 tests/test_dto.py::test_update_full_dto PASSED
67 tests/test_dto.py::test_make_from_kwargs_minimal PASSED
68 tests/test_dto.py::test_make_from_kwargs_full PASSED
69 tests/test_integration.py::test_set_default_command_integration PASSED
70 tests/test_integration.py::test_set_default_command_integration_merging PASSED
71 tests/test_integration.py::test_simple_function_no_args PASSED
72 tests/test_integration.py::test_simple_function_positional PASSED
73 tests/test_integration.py::test_simple_function_defaults PASSED
74 tests/test_integration.py::test_simple_function_varargs PASSED
75 tests/test_integration.py::test_simple_function_kwargs PASSED
76 tests/test_integration.py::test_all_specs_in_one PASSED
77 tests/test_integration.py::test_arg_merged PASSED
78 tests/test_integration.py::test_arg_mismatch_positional PASSED
79 tests/test_integration.py::test_arg_mismatch_flag PASSED
80 tests/test_integration.py::test_arg_mismatch_positional_vs_flag PASSED
81 tests/test_integration.py::test_arg_mismatch_flag_vs_positional PASSED
82 tests/test_integration.py::TestErrorWrapping::test_error_raised PASSED
83 tests/test_integration.py::TestErrorWrapping::test_error_wrapped PASSED
84 tests/test_integration.py::TestErrorWrapping::test_processor PASSED
85 tests/test_integration.py::TestErrorWrapping::test_stderr_vs_stdout PASSED
86 tests/test_integration.py::test_argv PASSED
87 tests/test_integration.py::test_commands_not_defined PASSED
88 tests/test_integration.py::test_command_not_chosen PASSED
89 tests/test_integration.py::test_invalid_choice PASSED
90 tests/test_integration.py::test_unrecognized_arguments PASSED
91 tests/test_integration.py::test_echo PASSED
92 tests/test_integration.py::test_bool_action PASSED
93 tests/test_integration.py::test_bare_group_name PASSED
94 tests/test_integration.py::test_function_under_group_name PASSED
95 tests/test_integration.py::test_explicit_cmd_name PASSED
96 tests/test_integration.py::test_aliases PASSED
97 tests/test_integration.py::test_help PASSED
98 tests/test_integration.py::test_arg_order PASSED
99 tests/test_integration.py::test_raw_output PASSED
100 tests/test_integration.py::test_output_file PASSED
101 tests/test_integration.py::test_command_error PASSED
102 tests/test_integration.py::test_get_function_from_namespace_obj[Namespace] PASSED
103 tests/test_integration.py::test_get_function_from_namespace_obj[ArghNamespace] PASSED
104 tests/test_integration.py::test_normalized_keys PASSED
105 tests/test_integration.py::test_custom_argument_completer PASSED
106 tests/test_integration.py::test_class_members PASSED
107 tests/test_integration.py::test_kwonlyargs__policy_legacy PASSED
108 tests/test_integration.py::test_kwonlyargs__policy_modern PASSED
109 tests/test_integration.py::test_default_arg_values_in_help PASSED
110 tests/test_integration.py::test_default_arg_values_in_help__regression PASSED
111 tests/test_integration.py::test_help_formatting_is_preserved PASSED
112 tests/test_integration.py::test_prog PASSED
113 tests/test_integration.py::test_unknown_args PASSED
114 tests/test_integration.py::test_add_commands_unknown_name_mapping_policy PASSED
115 tests/test_integration.py::test_add_commands_no_overrides1 PASSED
116 tests/test_integration.py::test_add_commands_no_overrides2 PASSED
117 tests/test_integration.py::test_add_commands_group_overrides1 PASSED
118 tests/test_integration.py::test_add_commands_group_overrides2 PASSED
119 tests/test_integration.py::test_add_commands_group_overrides3 PASSED
120 tests/test_integration.py::test_add_commands_func_overrides1 PASSED
121 tests/test_integration.py::test_add_commands_func_overrides2 PASSED
122 tests/test_integration.py::test_action_count__only_arg_decorator PASSED
123 tests/test_integration.py::test_action_count__mixed PASSED
124 tests/test_interaction.py::test_simple PASSED
125 tests/test_interaction.py::test_prompt PASSED
126 tests/test_interaction.py::test_encoding PASSED
127 tests/test_interaction.py::test_skip PASSED
128 tests/test_interaction.py::test_keyboard_interrupt PASSED
129 tests/test_mapping_policies.py::test_no_args[NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT] PASSED
130 tests/test_mapping_policies.py::test_no_args[NameMappingPolicy.BY_NAME_IF_KWONLY] PASSED
131 tests/test_mapping_policies.py::test_no_args[None] PASSED
132 tests/test_mapping_policies.py::test_one_positional[NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT] PASSED
133 tests/test_mapping_policies.py::test_one_positional[NameMappingPolicy.BY_NAME_IF_KWONLY] PASSED
134 tests/test_mapping_policies.py::test_one_positional[None] PASSED
135 tests/test_mapping_policies.py::test_two_positionals[NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT] PASSED
136 tests/test_mapping_policies.py::test_two_positionals[NameMappingPolicy.BY_NAME_IF_KWONLY] PASSED
137 tests/test_mapping_policies.py::test_two_positionals[None] PASSED
138 tests/test_mapping_policies.py::test_two_positionals_one_with_default[NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT-usage: test [-h] [-b BETA] alpha] PASSED
139 tests/test_mapping_policies.py::test_two_positionals_one_with_default[NameMappingPolicy.BY_NAME_IF_KWONLY-usage: test [-h] alpha [beta]] PASSED
140 tests/test_mapping_policies.py::test_varargs[NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT] PASSED
141 tests/test_mapping_policies.py::test_varargs[NameMappingPolicy.BY_NAME_IF_KWONLY] PASSED
142 tests/test_mapping_policies.py::test_varargs[None] PASSED
143 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
144 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
145 tests/test_mapping_policies.py::test_varargs_between_positional_and_kwonly__no_defaults[None-usage: test [-h] -b BETA alpha] PASSED
146 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
147 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
148 tests/test_mapping_policies.py::test_varargs_between_positional_and_kwonly__with_defaults__no_explicit_policy PASSED
149 tests/test_mapping_policies.py::test_positional_with_defaults_without_kwonly__no_explicit_policy PASSED
150 tests/test_mapping_policies.py::test_kwargs[NameMappingPolicy.BY_NAME_IF_HAS_DEFAULT] PASSED
151 tests/test_mapping_policies.py::test_kwargs[NameMappingPolicy.BY_NAME_IF_KWONLY] PASSED
152 tests/test_mapping_policies.py::test_kwargs[None] PASSED
153 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
154 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
155 tests/test_regressions.py::test_regression_issue12 PASSED
156 tests/test_regressions.py::test_regression_issue12_help_flag PASSED
157 tests/test_regressions.py::test_regression_issue27 PASSED
158 tests/test_regressions.py::test_regression_issue31 PASSED
159 tests/test_regressions.py::test_regression_issue47 PASSED
160 tests/test_regressions.py::test_regression_issue76 PASSED
161 tests/test_regressions.py::test_regression_issue104 PASSED
162 tests/test_regressions.py::test_regression_issue204 PASSED
163 tests/test_regressions.py::test_regression_issue208 PASSED
164 tests/test_regressions.py::test_regression_issue212_orig_use_case PASSED
165 tests/test_regressions.py::test_regression_issue212_funcsig_centric_positional PASSED
166 tests/test_regressions.py::test_regression_issue212_funcsig_centric_named PASSED
167 tests/test_regressions.py::test_regression_issue224 PASSED
168 tests/test_typing_hints.py::test_simple_types[str] PASSED
169 tests/test_typing_hints.py::test_simple_types[int] PASSED
170 tests/test_typing_hints.py::test_simple_types[float] PASSED
171 tests/test_typing_hints.py::test_simple_types[bool] PASSED
172 tests/test_typing_hints.py::test_list PASSED
173 tests/test_typing_hints.py::test_literal PASSED
174 tests/test_typing_hints.py::test_unusable_types[dict] PASSED
175 tests/test_typing_hints.py::test_unusable_types[tuple] PASSED
176 tests/test_utils.py::test_util_unindent PASSED
177 tests/test_utils.py::test_get_subparsers_existing PASSED
178 tests/test_utils.py::test_get_subparsers_create PASSED
179 tests/test_utils.py::test_get_subparsers_error PASSED
181 =============================== warnings summary ===============================
182 tests/test_dispatching.py::test_dispatch_command_two_stage
183 $(@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.
186 -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
188 Required test coverage of 100% reached. Total coverage: 100.00%
189 ======== 170 passed, 1 warning ========