ROOT: tox-gh-actions won't override envlist because tox is not running in GitHub Actions py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV) py$(PYV): commands[0]> python -m pytest -v --tb=short --basetemp=$(@D)/.tox/py$(PYV)/tmp ============================= test session starts ============================== platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python cachedir: .tox/py$(PYV)/.pytest_cache hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('$(@D)/.hypothesis/examples') rootdir: $(@D) configfile: setup.cfg testpaths: tests asyncio: mode=strict collecting ... collected 611 items input using the msvcrt module.) input using the msvcrt module.) input using the msvcrt module.) input using the msvcrt module.) input using the msvcrt module.) input using the msvcrt module.) tests/test_arguments.py::test_argument_unbounded_nargs_cant_have_default PASSED tests/test_arguments.py::test_bytes_args PASSED tests/test_arguments.py::test_defaults_for_nargs PASSED tests/test_arguments.py::test_eat_options PASSED tests/test_arguments.py::test_empty_nargs PASSED tests/test_arguments.py::test_file_args PASSED tests/test_arguments.py::test_file_atomics PASSED tests/test_arguments.py::test_implicit_non_required PASSED tests/test_arguments.py::test_missing_arg PASSED tests/test_arguments.py::test_missing_argument_string_cast PASSED tests/test_arguments.py::test_multiple_not_allowed PASSED tests/test_arguments.py::test_multiple_param_decls_not_allowed PASSED tests/test_arguments.py::test_nargs_bad_default[value0] PASSED tests/test_arguments.py::test_nargs_bad_default[value1] PASSED tests/test_arguments.py::test_nargs_bad_default[value2] PASSED tests/test_arguments.py::test_nargs_envvar[-1--expect5] PASSED tests/test_arguments.py::test_nargs_envvar[-1-a b c-expect4] PASSED tests/test_arguments.py::test_nargs_envvar[2--None] PASSED tests/test_arguments.py::test_nargs_envvar[2-a b c-Takes 2 values but 3 were given.] PASSED tests/test_arguments.py::test_nargs_envvar[2-a b-expect2] PASSED tests/test_arguments.py::test_nargs_envvar[2-a-Takes 2 values but 1 was given.] PASSED tests/test_arguments.py::test_nargs_envvar_only_if_values_empty PASSED tests/test_arguments.py::test_nargs_err PASSED tests/test_arguments.py::test_nargs_specified_plus_star_ordering PASSED tests/test_arguments.py::test_nargs_star PASSED tests/test_arguments.py::test_nargs_star_ordering PASSED tests/test_arguments.py::test_nargs_tup PASSED tests/test_arguments.py::test_nargs_tup_composite[opts0] PASSED tests/test_arguments.py::test_nargs_tup_composite[opts1] PASSED tests/test_arguments.py::test_nargs_tup_composite[opts2] PASSED tests/test_arguments.py::test_nargs_tup_composite[opts3] PASSED tests/test_arguments.py::test_nested_subcommand_help PASSED tests/test_arguments.py::test_path_allow_dash PASSED tests/test_arguments.py::test_stdout_default PASSED tests/test_arguments.py::test_subcommand_help PASSED tests/test_arguments.py::test_when_argument_decorator_is_used_multiple_times_cls_is_preserved PASSED tests/test_basic.py::test_basic_functionality PASSED tests/test_basic.py::test_basic_group PASSED tests/test_basic.py::test_boolean_conversion[0-False] PASSED tests/test_basic.py::test_boolean_conversion[1-True] PASSED tests/test_basic.py::test_boolean_conversion[f-False] PASSED tests/test_basic.py::test_boolean_conversion[false-False] PASSED tests/test_basic.py::test_boolean_conversion[n-False] PASSED tests/test_basic.py::test_boolean_conversion[no-False] PASSED tests/test_basic.py::test_boolean_conversion[off-False] PASSED tests/test_basic.py::test_boolean_conversion[on-True] PASSED tests/test_basic.py::test_boolean_conversion[t-True] PASSED tests/test_basic.py::test_boolean_conversion[true-True] PASSED tests/test_basic.py::test_boolean_conversion[y-True] PASSED tests/test_basic.py::test_boolean_conversion[yes-True] PASSED tests/test_basic.py::test_boolean_flag[args0-True-False] PASSED tests/test_basic.py::test_boolean_flag[args0-True-True] PASSED tests/test_basic.py::test_boolean_flag[args1-False-False] PASSED tests/test_basic.py::test_boolean_flag[args1-False-True] PASSED tests/test_basic.py::test_boolean_switch[args0-True-False] PASSED tests/test_basic.py::test_boolean_switch[args0-True-True] PASSED tests/test_basic.py::test_boolean_switch[args1-False-False] PASSED tests/test_basic.py::test_boolean_switch[args1-False-True] PASSED tests/test_basic.py::test_boolean_switch[args2-None-False] PASSED tests/test_basic.py::test_boolean_switch[args2-None-True] PASSED tests/test_basic.py::test_choice_argument PASSED tests/test_basic.py::test_choice_option PASSED tests/test_basic.py::test_datetime_option_custom PASSED tests/test_basic.py::test_datetime_option_default PASSED tests/test_basic.py::test_evaluation_order PASSED tests/test_basic.py::test_file_lazy_mode PASSED tests/test_basic.py::test_file_option PASSED tests/test_basic.py::test_float_option[--f=23.5-F:[23.5]] PASSED tests/test_basic.py::test_float_option[--f=x-Error: Invalid value for '--f': 'x' is not a valid float.] PASSED tests/test_basic.py::test_float_option[args0-F:[42.0]] PASSED tests/test_basic.py::test_group_commands_dict PASSED tests/test_basic.py::test_group_from_list PASSED tests/test_basic.py::test_help_invalid_default PASSED tests/test_basic.py::test_hidden_command PASSED tests/test_basic.py::test_hidden_group PASSED tests/test_basic.py::test_hidden_option PASSED tests/test_basic.py::test_int_option[args0-I:[84]] PASSED tests/test_basic.py::test_int_option[args1-I:[46]] PASSED tests/test_basic.py::test_int_option[args2-Error: Invalid value for '--i': 'x' is not a valid integer.] PASSED tests/test_basic.py::test_path_option PASSED tests/test_basic.py::test_repr PASSED tests/test_basic.py::test_required_option PASSED tests/test_basic.py::test_return_values PASSED tests/test_basic.py::test_string_option[args0-S:[no value]] PASSED tests/test_basic.py::test_string_option[args1-S:[42]] PASSED tests/test_basic.py::test_string_option[args2-Error: Option '--s' requires an argument.] PASSED tests/test_basic.py::test_string_option[args3-S:[]] PASSED tests/test_basic.py::test_string_option[args4-S:[\u2603]] PASSED tests/test_basic.py::test_summary_line PASSED tests/test_basic.py::test_uuid_option[args0-U:[ba122011-349f-423b-873b-9d6a79c688ab]] PASSED tests/test_basic.py::test_uuid_option[args1-U:[821592c1-c50e-4971-9cd6-e89dc6832f86]] PASSED tests/test_basic.py::test_uuid_option[args2-Error: Invalid value for '--u': 'x' is not a valid UUID.] PASSED tests/test_chain.py::test_args_and_chain PASSED tests/test_chain.py::test_basic_chaining PASSED tests/test_chain.py::test_chaining_help[args0-COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]...] PASSED tests/test_chain.py::test_chaining_help[args1-ROOT HELP] PASSED tests/test_chain.py::test_chaining_help[args2-SDIST HELP] PASSED tests/test_chain.py::test_chaining_help[args3-BDIST HELP] PASSED tests/test_chain.py::test_chaining_help[args4-SDIST HELP] PASSED tests/test_chain.py::test_chaining_with_arguments PASSED tests/test_chain.py::test_chaining_with_options PASSED tests/test_chain.py::test_multicommand_arg_behavior PASSED tests/test_chain.py::test_multicommand_chaining XFAIL tests/test_chain.py::test_no_command_result_callback[False-1] PASSED tests/test_chain.py::test_no_command_result_callback[True-[]] PASSED tests/test_chain.py::test_pipeline[args0-foo\nbar-expect0] PASSED tests/test_chain.py::test_pipeline[args1-foo \n bar-expect1] PASSED tests/test_chain.py::test_pipeline[args2-foo \n bar-expect2] PASSED tests/test_command_decorators.py::test_command_no_parens PASSED tests/test_command_decorators.py::test_custom_command_no_parens PASSED tests/test_command_decorators.py::test_group_no_parens PASSED tests/test_command_decorators.py::test_params_argument PASSED tests/test_commands.py::test_abort_exceptions_with_disabled_standalone_mode[EOFError] PASSED tests/test_commands.py::test_abort_exceptions_with_disabled_standalone_mode[KeyboardInterrupt] PASSED tests/test_commands.py::test_aliased_command_canonical_name PASSED tests/test_commands.py::test_auto_shorthelp PASSED tests/test_commands.py::test_base_command PASSED tests/test_commands.py::test_command_parse_args_collects_option_prefixes PASSED tests/test_commands.py::test_default_maps PASSED tests/test_commands.py::test_deprecated_in_help_messages[CLI HELP] PASSED tests/test_commands.py::test_deprecated_in_help_messages[None] PASSED tests/test_commands.py::test_deprecated_in_invocation PASSED tests/test_commands.py::test_forwarded_params_consistency PASSED tests/test_commands.py::test_group_add_command_name PASSED tests/test_commands.py::test_group_invoke_collects_used_option_prefixes PASSED tests/test_commands.py::test_group_parse_args_collects_base_option_prefixes PASSED tests/test_commands.py::test_group_with_args[args0-2-Error: Missing command.] PASSED tests/test_commands.py::test_group_with_args[args1-0-Show this message and exit.] PASSED tests/test_commands.py::test_group_with_args[args2-0-obj=obj1\nmove\n] PASSED tests/test_commands.py::test_group_with_args[args3-0-Show this message and exit.] PASSED tests/test_commands.py::test_invoked_subcommand PASSED tests/test_commands.py::test_no_args_is_help PASSED tests/test_commands.py::test_object_propagation PASSED tests/test_commands.py::test_other_command_forward PASSED tests/test_commands.py::test_other_command_invoke PASSED tests/test_commands.py::test_other_command_invoke_with_defaults PASSED tests/test_commands.py::test_unprocessed_options PASSED tests/test_compat.py::test_is_jupyter_kernel_output PASSED tests/test_context.py::test_close_before_pop PASSED tests/test_context.py::test_context_meta PASSED tests/test_context.py::test_context_pushing PASSED tests/test_context.py::test_ensure_context_objects PASSED tests/test_context.py::test_exit_not_standalone PASSED tests/test_context.py::test_get_context_objects PASSED tests/test_context.py::test_get_context_objects_missing PASSED tests/test_context.py::test_get_context_objects_no_ensuring PASSED tests/test_context.py::test_global_context_object PASSED tests/test_context.py::test_make_pass_decorator_args PASSED tests/test_context.py::test_make_pass_meta_decorator PASSED tests/test_context.py::test_make_pass_meta_decorator_doc PASSED tests/test_context.py::test_multi_enter PASSED tests/test_context.py::test_parameter_source[commandline long] PASSED tests/test_context.py::test_parameter_source[commandline short] PASSED tests/test_context.py::test_parameter_source[default] PASSED tests/test_context.py::test_parameter_source[default_map] PASSED tests/test_context.py::test_parameter_source[environment auto] PASSED tests/test_context.py::test_parameter_source[environment manual] PASSED tests/test_context.py::test_pass_obj PASSED tests/test_context.py::test_propagate_opt_prefixes PASSED tests/test_context.py::test_propagate_show_default_setting PASSED tests/test_context.py::test_with_resource PASSED tests/test_custom_classes.py::test_command_context_class PASSED tests/test_custom_classes.py::test_context_formatter_class PASSED tests/test_custom_classes.py::test_context_invoke_type PASSED tests/test_custom_classes.py::test_group_command_class PASSED tests/test_custom_classes.py::test_group_group_class PASSED tests/test_custom_classes.py::test_group_group_class_self PASSED tests/test_defaults.py::test_basic_defaults PASSED tests/test_defaults.py::test_multiple_defaults PASSED tests/test_defaults.py::test_multiple_flag_default PASSED tests/test_defaults.py::test_nargs_plus_multiple PASSED tests/test_formatting.py::test_basic_functionality PASSED tests/test_formatting.py::test_formatting_custom_type_metavar PASSED tests/test_formatting.py::test_formatting_empty_help_lines PASSED tests/test_formatting.py::test_formatting_usage_custom_help PASSED tests/test_formatting.py::test_formatting_usage_error PASSED tests/test_formatting.py::test_formatting_usage_error_metavar_bad_arg PASSED tests/test_formatting.py::test_formatting_usage_error_metavar_missing_arg PASSED tests/test_formatting.py::test_formatting_usage_error_nested PASSED tests/test_formatting.py::test_formatting_usage_error_no_help PASSED tests/test_formatting.py::test_formatting_with_options_metavar_empty PASSED tests/test_formatting.py::test_global_show_default PASSED tests/test_formatting.py::test_help_formatter_write_text PASSED tests/test_formatting.py::test_removing_multiline_marker PASSED tests/test_formatting.py::test_truncating_docstring PASSED tests/test_formatting.py::test_truncating_docstring_no_help PASSED tests/test_formatting.py::test_wrapping_long_command_name PASSED tests/test_formatting.py::test_wrapping_long_options_strings PASSED tests/test_imports.py::test_light_imports PASSED tests/test_info_dict.py::test_command[Command] PASSED tests/test_info_dict.py::test_command[Group] PASSED tests/test_info_dict.py::test_command[Nested Group] PASSED tests/test_info_dict.py::test_context PASSED tests/test_info_dict.py::test_parameter[Argument] PASSED tests/test_info_dict.py::test_parameter[Bool ParamType] PASSED tests/test_info_dict.py::test_parameter[Choice ParamType] PASSED tests/test_info_dict.py::test_parameter[DateTime ParamType] PASSED tests/test_info_dict.py::test_parameter[FLOAT ParamType] PASSED tests/test_info_dict.py::test_parameter[File ParamType] PASSED tests/test_info_dict.py::test_parameter[Flag Option] PASSED tests/test_info_dict.py::test_parameter[FloatRange ParamType] PASSED tests/test_info_dict.py::test_parameter[Func ParamType] PASSED tests/test_info_dict.py::test_parameter[INT ParamType] PASSED tests/test_info_dict.py::test_parameter[IntRange ParamType] PASSED tests/test_info_dict.py::test_parameter[Option] PASSED tests/test_info_dict.py::test_parameter[Path ParamType] PASSED tests/test_info_dict.py::test_parameter[STRING ParamType] PASSED tests/test_info_dict.py::test_parameter[Tuple ParamType] PASSED tests/test_info_dict.py::test_parameter[UNPROCESSED ParamType] PASSED tests/test_info_dict.py::test_parameter[UUID ParamType] PASSED tests/test_info_dict.py::test_paramtype_no_name PASSED tests/test_normalization.py::test_choice_normalization PASSED tests/test_normalization.py::test_command_normalization PASSED tests/test_normalization.py::test_option_normalization PASSED tests/test_options.py::test_aliases_for_flags PASSED tests/test_options.py::test_argument_custom_class PASSED tests/test_options.py::test_bool_flag_with_type PASSED tests/test_options.py::test_callback_validates_prompt PASSED tests/test_options.py::test_case_insensitive_choice PASSED tests/test_options.py::test_case_insensitive_choice_returned_exactly PASSED tests/test_options.py::test_count_default_type_help PASSED tests/test_options.py::test_counting PASSED tests/test_options.py::test_custom_validation PASSED tests/test_options.py::test_do_not_show_default_empty_multiple PASSED tests/test_options.py::test_do_not_show_no_default PASSED tests/test_options.py::test_dynamic_default_help_special_method PASSED tests/test_options.py::test_dynamic_default_help_text PASSED tests/test_options.py::test_dynamic_default_help_unset PASSED tests/test_options.py::test_empty_envvar[AUTO_MYPATH] PASSED tests/test_options.py::test_empty_envvar[MYPATH] PASSED tests/test_options.py::test_file_type_help_default PASSED tests/test_options.py::test_flag_duplicate_names PASSED tests/test_options.py::test_hide_false_default_boolean_flag_value[False] PASSED tests/test_options.py::test_hide_false_default_boolean_flag_value[None] PASSED tests/test_options.py::test_init_bad_default_list[False-2-default1] PASSED tests/test_options.py::test_init_bad_default_list[True-1-1] PASSED tests/test_options.py::test_init_bad_default_list[True-2-default2] PASSED tests/test_options.py::test_init_good_default_list[False-2-default2] PASSED tests/test_options.py::test_init_good_default_list[True-1-default0] PASSED tests/test_options.py::test_init_good_default_list[True-1-default1] PASSED tests/test_options.py::test_init_good_default_list[True-2-default3] PASSED tests/test_options.py::test_init_good_default_list[True-2-default4] PASSED tests/test_options.py::test_intrange_default_help_text[type0-1<=x<=32] PASSED tests/test_options.py::test_intrange_default_help_text[type1-1=1] PASSED tests/test_options.py::test_intrange_default_help_text[type3-x<=32] PASSED tests/test_options.py::test_invalid_flag_combinations[kwargs0-'count' is not valid with 'multiple'.] PASSED tests/test_options.py::test_invalid_flag_combinations[kwargs1-'count' is not valid with 'is_flag'.] PASSED tests/test_options.py::test_invalid_nargs PASSED tests/test_options.py::test_invalid_option PASSED tests/test_options.py::test_is_bool_flag_is_correctly_set[bool flag_value] PASSED tests/test_options.py::test_is_bool_flag_is_correctly_set[bool non-flag [False]] PASSED tests/test_options.py::test_is_bool_flag_is_correctly_set[bool non-flag [None]] PASSED tests/test_options.py::test_is_bool_flag_is_correctly_set[bool non-flag [True]] PASSED tests/test_options.py::test_is_bool_flag_is_correctly_set[int option] PASSED tests/test_options.py::test_is_bool_flag_is_correctly_set[is_flag=True] PASSED tests/test_options.py::test_is_bool_flag_is_correctly_set[non-bool flag_value] PASSED tests/test_options.py::test_is_bool_flag_is_correctly_set[secondary option [implicit flag]] PASSED tests/test_options.py::test_legacy_options PASSED tests/test_options.py::test_missing_choice PASSED tests/test_options.py::test_missing_option_string_cast PASSED tests/test_options.py::test_missing_required_flag PASSED tests/test_options.py::test_multiple_default_composite_type PASSED tests/test_options.py::test_multiple_default_help PASSED tests/test_options.py::test_multiple_default_type PASSED tests/test_options.py::test_multiple_envvar PASSED tests/test_options.py::test_multiple_option_with_optional_value PASSED tests/test_options.py::test_multiple_required PASSED tests/test_options.py::test_nargs_envvar PASSED tests/test_options.py::test_nargs_tup_composite_mult PASSED tests/test_options.py::test_option_custom_class PASSED tests/test_options.py::test_option_custom_class_reusable PASSED tests/test_options.py::test_option_help_preserve_paragraphs PASSED tests/test_options.py::test_option_names[option_args0-aggressive] PASSED tests/test_options.py::test_option_names[option_args1-first] PASSED tests/test_options.py::test_option_names[option_args2-apple] PASSED tests/test_options.py::test_option_names[option_args3-cantaloupe] PASSED tests/test_options.py::test_option_names[option_args4-a] PASSED tests/test_options.py::test_option_names[option_args5-c] PASSED tests/test_options.py::test_option_names[option_args6-apple] PASSED tests/test_options.py::test_option_names[option_args7-cantaloupe] PASSED tests/test_options.py::test_option_names[option_args8-_from] PASSED tests/test_options.py::test_option_names[option_args9-_ret] PASSED tests/test_options.py::test_option_with_optional_value[None-expect0] PASSED tests/test_options.py::test_option_with_optional_value[args1-expect1] PASSED tests/test_options.py::test_option_with_optional_value[args10-expect10] PASSED tests/test_options.py::test_option_with_optional_value[args11-expect11] PASSED tests/test_options.py::test_option_with_optional_value[args12-expect12] PASSED tests/test_options.py::test_option_with_optional_value[args13-expect13] PASSED tests/test_options.py::test_option_with_optional_value[args2-expect2] PASSED tests/test_options.py::test_option_with_optional_value[args3-expect3] PASSED tests/test_options.py::test_option_with_optional_value[args4-expect4] PASSED tests/test_options.py::test_option_with_optional_value[args5-expect5] PASSED tests/test_options.py::test_option_with_optional_value[args6-expect6] PASSED tests/test_options.py::test_option_with_optional_value[args7-expect7] PASSED tests/test_options.py::test_option_with_optional_value[args8-expect8] PASSED tests/test_options.py::test_option_with_optional_value[args9-expect9] PASSED tests/test_options.py::test_parse_multiple_default_composite_type PASSED tests/test_options.py::test_prefixes PASSED tests/test_options.py::test_show_default_boolean_flag_name[False-no-cache] PASSED tests/test_options.py::test_show_default_boolean_flag_name[True-cache] PASSED tests/test_options.py::test_show_default_default_map PASSED tests/test_options.py::test_show_default_precedence[False-False-False] PASSED tests/test_options.py::test_show_default_precedence[False-None-False] PASSED tests/test_options.py::test_show_default_precedence[False-True-True] PASSED tests/test_options.py::test_show_default_precedence[False-one-True] PASSED tests/test_options.py::test_show_default_precedence[None-False-False] PASSED tests/test_options.py::test_show_default_precedence[None-None-False] PASSED tests/test_options.py::test_show_default_precedence[None-True-True] PASSED tests/test_options.py::test_show_default_precedence[True-False-False] PASSED tests/test_options.py::test_show_default_precedence[True-None-True] PASSED tests/test_options.py::test_show_default_precedence[True-True-True] PASSED tests/test_options.py::test_show_default_string PASSED tests/test_options.py::test_show_envvar PASSED tests/test_options.py::test_show_envvar_auto_prefix PASSED tests/test_options.py::test_show_envvar_auto_prefix_dash_in_command PASSED tests/test_options.py::test_show_true_default_boolean_flag_value PASSED tests/test_options.py::test_suggest_possible_options[--bounds-(Possible options: --bound, --count)] PASSED tests/test_options.py::test_suggest_possible_options[--bount-(Possible options: --bound, --count)] PASSED tests/test_options.py::test_suggest_possible_options[--cat-Did you mean --count?] PASSED tests/test_options.py::test_toupper_envvar_prefix PASSED tests/test_options.py::test_trailing_blanks_boolean_envvar PASSED tests/test_options.py::test_type_from_flag_value PASSED tests/test_options.py::test_unknown_options[--foo] PASSED tests/test_options.py::test_unknown_options[-f] PASSED tests/test_options.py::test_winstyle_options PASSED tests/test_parser.py::test_parser_collects_prefixes PASSED tests/test_parser.py::test_parser_default_prefixes PASSED tests/test_parser.py::test_split_arg_string[cli 'my file'-expect2] PASSED tests/test_parser.py::test_split_arg_string[cli 'my file-expect1] PASSED tests/test_parser.py::test_split_arg_string[cli a b c-expect0] PASSED tests/test_parser.py::test_split_arg_string[cli my\\ file-expect4] PASSED tests/test_parser.py::test_split_arg_string[cli my\\-expect3] PASSED tests/test_shell_completion.py::test_absolute_path PASSED tests/test_shell_completion.py::test_add_completion_class PASSED tests/test_shell_completion.py::test_add_completion_class_decorator PASSED tests/test_shell_completion.py::test_add_completion_class_with_name PASSED tests/test_shell_completion.py::test_add_different_name PASSED tests/test_shell_completion.py::test_argument_default PASSED tests/test_shell_completion.py::test_argument_nargs PASSED tests/test_shell_completion.py::test_argument_order PASSED tests/test_shell_completion.py::test_chained PASSED tests/test_shell_completion.py::test_choice_case_sensitive[False-expect0] PASSED tests/test_shell_completion.py::test_choice_case_sensitive[True-expect1] PASSED tests/test_shell_completion.py::test_choice_conflicting_prefix PASSED tests/test_shell_completion.py::test_choice_special_characters PASSED tests/test_shell_completion.py::test_command PASSED tests/test_shell_completion.py::test_completion_item_data PASSED tests/test_shell_completion.py::test_context_settings PASSED tests/test_shell_completion.py::test_double_dash PASSED tests/test_shell_completion.py::test_full_complete[bash-env0-plain,a\nplain,b\n] PASSED tests/test_shell_completion.py::test_full_complete[bash-env1-plain,b\n] PASSED tests/test_shell_completion.py::test_full_complete[fish-env4-plain,a\nplain,b\tbee\n] PASSED tests/test_shell_completion.py::test_full_complete[fish-env5-plain,b\tbee\n] PASSED tests/test_shell_completion.py::test_full_complete[zsh-env2-plain\na\n_\nplain\nb\nbee\n] PASSED tests/test_shell_completion.py::test_full_complete[zsh-env3-plain\nb\nbee\n] PASSED tests/test_shell_completion.py::test_full_source[bash] PASSED tests/test_shell_completion.py::test_full_source[fish] PASSED tests/test_shell_completion.py::test_full_source[zsh] PASSED tests/test_shell_completion.py::test_group PASSED tests/test_shell_completion.py::test_group_command_same_option PASSED tests/test_shell_completion.py::test_help_option PASSED tests/test_shell_completion.py::test_hidden PASSED tests/test_shell_completion.py::test_option_count PASSED tests/test_shell_completion.py::test_option_custom PASSED tests/test_shell_completion.py::test_option_flag PASSED tests/test_shell_completion.py::test_option_multiple PASSED tests/test_shell_completion.py::test_option_nargs PASSED tests/test_shell_completion.py::test_option_optional PASSED tests/test_shell_completion.py::test_path_types[type0-file] PASSED tests/test_shell_completion.py::test_path_types[type1-file] PASSED tests/test_shell_completion.py::test_path_types[type2-dir] PASSED tests/test_shell_completion.py::test_type_choice PASSED tests/test_termui.py::test_choices_list_in_prompt PASSED tests/test_termui.py::test_confirmation_prompt[Confirm Password-password\npassword\n-None-password] PASSED tests/test_termui.py::test_confirmation_prompt[False-None-None-None] PASSED tests/test_termui.py::test_confirmation_prompt[True---] PASSED tests/test_termui.py::test_confirmation_prompt[True-password\npassword-None-password] PASSED tests/test_termui.py::test_fast_edit PASSED tests/test_termui.py::test_file_prompt_default_format[file_kwargs0] PASSED tests/test_termui.py::test_file_prompt_default_format[file_kwargs1] PASSED tests/test_termui.py::test_file_prompt_default_format[file_kwargs2] PASSED tests/test_termui.py::test_getchar_special_key_windows[\x00-a] SKIPPED tests/test_termui.py::test_getchar_special_key_windows[\x00-b] SKIPPED tests/test_termui.py::test_getchar_special_key_windows[\xe0-c] SKIPPED tests/test_termui.py::test_getchar_windows[False- ] SKIPPED (Tests user- tests/test_termui.py::test_getchar_windows[False-H] SKIPPED (Tests user- tests/test_termui.py::test_getchar_windows[False-\u5b57] SKIPPED (Tests tests/test_termui.py::test_getchar_windows[False-\xc0] SKIPPED (Tests tests/test_termui.py::test_getchar_windows[False-\xe0H] SKIPPED (Tests tests/test_termui.py::test_getchar_windows[False-\xe0R] SKIPPED (Tests tests/test_termui.py::test_getchar_windows[False-\xe9] SKIPPED (Tests tests/test_termui.py::test_getchar_windows[False-h] SKIPPED (Tests user- tests/test_termui.py::test_getchar_windows[True- ] SKIPPED (Tests user- tests/test_termui.py::test_getchar_windows[True-H] SKIPPED (Tests user- tests/test_termui.py::test_getchar_windows[True-\u5b57] SKIPPED (Tests tests/test_termui.py::test_getchar_windows[True-\xc0] SKIPPED (Tests tests/test_termui.py::test_getchar_windows[True-\xe0H] SKIPPED (Tests tests/test_termui.py::test_getchar_windows[True-\xe0R] SKIPPED (Tests tests/test_termui.py::test_getchar_windows[True-\xe9] SKIPPED (Tests tests/test_termui.py::test_getchar_windows[True-h] SKIPPED (Tests user- tests/test_termui.py::test_getchar_windows_exceptions[\x03-KeyboardInterrupt] SKIPPED tests/test_termui.py::test_getchar_windows_exceptions[\x1a-EOFError] SKIPPED tests/test_termui.py::test_progress_bar_update_min_steps PASSED tests/test_termui.py::test_progressbar_eta[False-5] PASSED tests/test_termui.py::test_progressbar_eta[True-0] PASSED tests/test_termui.py::test_progressbar_format_bar[0-True-8-0-########] PASSED tests/test_termui.py::test_progressbar_format_bar[8-False-7-0-#######-] PASSED tests/test_termui.py::test_progressbar_format_eta[0-00:00:00] PASSED tests/test_termui.py::test_progressbar_format_eta[30-00:00:30] PASSED tests/test_termui.py::test_progressbar_format_eta[90-00:01:30] PASSED tests/test_termui.py::test_progressbar_format_eta[900-00:15:00] PASSED tests/test_termui.py::test_progressbar_format_eta[9000-02:30:00] PASSED tests/test_termui.py::test_progressbar_format_eta[99999999999-1157407d 09:46:39] PASSED tests/test_termui.py::test_progressbar_format_eta[None-] PASSED tests/test_termui.py::test_progressbar_format_pos[-1-1] PASSED tests/test_termui.py::test_progressbar_format_pos[0-5] PASSED tests/test_termui.py::test_progressbar_format_pos[4-0] PASSED tests/test_termui.py::test_progressbar_format_pos[5-5] PASSED tests/test_termui.py::test_progressbar_format_pos[6-5] PASSED tests/test_termui.py::test_progressbar_format_progress_line[0-False-False-0- [--------]0] PASSED tests/test_termui.py::test_progressbar_format_progress_line[0-False-False-0- [--------]1] PASSED tests/test_termui.py::test_progressbar_format_progress_line[0-False-True-0- [--------] 0/0] PASSED tests/test_termui.py::test_progressbar_format_progress_line[0-True-True-0- [--------] 0/0 0%] PASSED tests/test_termui.py::test_progressbar_format_progress_line[8-True-True-8- [########] 8/8 100%] PASSED tests/test_termui.py::test_progressbar_format_progress_line_with_show_func[None] PASSED tests/test_termui.py::test_progressbar_format_progress_line_with_show_func[test] PASSED tests/test_termui.py::test_progressbar_hidden PASSED tests/test_termui.py::test_progressbar_init_exceptions PASSED tests/test_termui.py::test_progressbar_is_iterator PASSED tests/test_termui.py::test_progressbar_item_show_func PASSED tests/test_termui.py::test_progressbar_iter_outside_with_exceptions PASSED tests/test_termui.py::test_progressbar_length_hint PASSED tests/test_termui.py::test_progressbar_strip_regression PASSED tests/test_termui.py::test_progressbar_time_per_iteration[avg0-0.0] PASSED tests/test_termui.py::test_progressbar_time_per_iteration[avg1-2.5] PASSED tests/test_termui.py::test_progressbar_update PASSED tests/test_termui.py::test_progressbar_update_with_item_show_func PASSED tests/test_termui.py::test_progressbar_yields_all_items PASSED tests/test_termui.py::test_prompt_required_false[long join value] PASSED tests/test_termui.py::test_prompt_required_false[long no value] PASSED tests/test_termui.py::test_prompt_required_false[long sep value] PASSED tests/test_termui.py::test_prompt_required_false[no flag] PASSED tests/test_termui.py::test_prompt_required_false[no value opt] PASSED tests/test_termui.py::test_prompt_required_false[short join value] PASSED tests/test_termui.py::test_prompt_required_false[short no value] PASSED tests/test_termui.py::test_prompt_required_false[short sep value] PASSED tests/test_termui.py::test_prompt_required_with_required[False-True-None-prompt] PASSED tests/test_termui.py::test_prompt_required_with_required[False-True-args3-prompt] PASSED tests/test_termui.py::test_prompt_required_with_required[True-False-None-prompt] PASSED tests/test_termui.py::test_prompt_required_with_required[True-False-args1-Option '-v' requires an argument.] PASSED tests/test_termui.py::test_secho PASSED tests/test_termui.py::test_secho_non_text[123-\x1b[45m123\x1b[0m] PASSED tests/test_termui.py::test_secho_non_text[test-test] PASSED tests/test_testing.py::test_args[--foo "one two"-one two\n] PASSED tests/test_testing.py::test_args[-bar\n] PASSED tests/test_testing.py::test_args[None-bar\n] PASSED tests/test_testing.py::test_args[args1-bar\n] PASSED tests/test_testing.py::test_args[args3-one two\n] PASSED tests/test_testing.py::test_catch_exceptions PASSED tests/test_testing.py::test_command_standalone_mode_returns_value PASSED tests/test_testing.py::test_echo_stdin_prompts PASSED tests/test_testing.py::test_echo_stdin_stream PASSED tests/test_testing.py::test_env PASSED tests/test_testing.py::test_exit_code_and_output_from_sys_exit PASSED tests/test_testing.py::test_file_stdin_attrs PASSED tests/test_testing.py::test_getchar PASSED tests/test_testing.py::test_isolated_runner PASSED tests/test_testing.py::test_isolated_runner_custom_tempdir PASSED tests/test_testing.py::test_isolation_stderr_errors PASSED tests/test_testing.py::test_prompts PASSED tests/test_testing.py::test_runner PASSED tests/test_testing.py::test_runner_with_stream PASSED tests/test_testing.py::test_setting_prog_name_in_extra PASSED tests/test_testing.py::test_stderr PASSED tests/test_testing.py::test_with_color PASSED tests/test_testing.py::test_with_color_but_pause_not_blocking PASSED tests/test_types.py::test_cast_multi_default[-1-None-None-expect6] PASSED tests/test_types.py::test_cast_multi_default[2-False-None-None] PASSED tests/test_types.py::test_cast_multi_default[2-False-default1-expect1] PASSED tests/test_types.py::test_cast_multi_default[2-True-None-expect4] PASSED tests/test_types.py::test_cast_multi_default[2-True-default5-expect5] PASSED tests/test_types.py::test_cast_multi_default[None-True-None-expect2] PASSED tests/test_types.py::test_cast_multi_default[None-True-default3-expect3] PASSED tests/test_types.py::test_file_error_surrogates PASSED tests/test_types.py::test_file_surrogates[type0] PASSED tests/test_types.py::test_file_surrogates[type1] PASSED tests/test_types.py::test_float_range_no_clamp_open PASSED tests/test_types.py::test_path_resolve_symlink PASSED tests/test_types.py::test_path_surrogates PASSED tests/test_types.py::test_path_type[None-a/b/c.txt] PASSED tests/test_types.py::test_path_type[Path-expect3] PASSED tests/test_types.py::test_path_type[bytes-a/b/c.txt] PASSED tests/test_types.py::test_path_type[str-a/b/c.txt] PASSED tests/test_types.py::test_range[type0-3-3] PASSED tests/test_types.py::test_range[type1-5-5] PASSED tests/test_types.py::test_range[type10-0.51-0.51] PASSED tests/test_types.py::test_range[type11-1.49-1.49] PASSED tests/test_types.py::test_range[type12--0.0-0.5] PASSED tests/test_types.py::test_range[type13-inf-1.5] PASSED tests/test_types.py::test_range[type2-100-100] PASSED tests/test_types.py::test_range[type3-5-5] PASSED tests/test_types.py::test_range[type4--100--100] PASSED tests/test_types.py::test_range[type5--1-0] PASSED tests/test_types.py::test_range[type6-6-5] PASSED tests/test_types.py::test_range[type7-0-1] PASSED tests/test_types.py::test_range[type8-5-4] PASSED tests/test_types.py::test_range[type9-1.2-1.2] PASSED tests/test_types.py::test_range_fail[type0-6-6 is not in the range 0<=x<=5.] PASSED tests/test_types.py::test_range_fail[type1-4-4 is not in the range x>=5.] PASSED tests/test_types.py::test_range_fail[type2-6-6 is not in the range x<=5.] PASSED tests/test_types.py::test_range_fail[type3-0-00.5] PASSED tests/test_types.py::test_range_fail[type6-1.5-x<1.5] PASSED tests/test_utils.py::test_confirm_repeat PASSED tests/test_utils.py::test_detect_program_name[/foo/bar/example.py-None-example.py] PASSED tests/test_utils.py::test_detect_program_name[example--example] PASSED tests/test_utils.py::test_detect_program_name[example-None-example] PASSED tests/test_utils.py::test_detect_program_name[example.py-None-example.py] PASSED tests/test_utils.py::test_detect_program_name[example/__main__.py-example-python -m example] PASSED tests/test_utils.py::test_detect_program_name[example/cli.py-example-python -m example.cli] PASSED tests/test_utils.py::test_echo PASSED tests/test_utils.py::test_echo_color_flag PASSED tests/test_utils.py::test_echo_custom_file PASSED tests/test_utils.py::test_echo_no_streams PASSED tests/test_utils.py::test_echo_via_pager[test0-cat 0] PASSED tests/test_utils.py::test_echo_via_pager[test0-cat 1] PASSED tests/test_utils.py::test_echo_via_pager[test0-cat] PASSED tests/test_utils.py::test_echo_via_pager[test1-cat 0] PASSED tests/test_utils.py::test_echo_via_pager[test1-cat 1] PASSED tests/test_utils.py::test_echo_via_pager[test1-cat] PASSED tests/test_utils.py::test_echo_via_pager[test2-cat 0] PASSED tests/test_utils.py::test_echo_via_pager[test2-cat 1] PASSED tests/test_utils.py::test_echo_via_pager[test2-cat] PASSED tests/test_utils.py::test_echo_via_pager[test3-cat 0] PASSED tests/test_utils.py::test_echo_via_pager[test3-cat 1] PASSED tests/test_utils.py::test_echo_via_pager[test3-cat] PASSED tests/test_utils.py::test_echo_via_pager[test4-cat 0] PASSED tests/test_utils.py::test_echo_via_pager[test4-cat 1] PASSED tests/test_utils.py::test_echo_via_pager[test4-cat] PASSED tests/test_utils.py::test_echo_with_capsys PASSED tests/test_utils.py::test_echo_writing_to_standard_error PASSED tests/test_utils.py::test_expand_args PASSED tests/test_utils.py::test_filename_formatting PASSED tests/test_utils.py::test_iter_keepopenfile PASSED tests/test_utils.py::test_iter_lazyfile PASSED tests/test_utils.py::test_make_default_short_help[-empty] PASSED tests/test_utils.py::test_make_default_short_help[-equal length, no dot] PASSED tests/test_utils.py::test_make_default_short_help[-ignore dot in word] PASSED tests/test_utils.py::test_make_default_short_help[-length includes suffix] PASSED tests/test_utils.py::test_make_default_short_help[-paragraph < max] PASSED tests/test_utils.py::test_make_default_short_help[-sentence < max] PASSED tests/test_utils.py::test_make_default_short_help[-truncate] PASSED tests/test_utils.py::test_make_default_short_help[no-wrap mark-empty] PASSED tests/test_utils.py::test_make_default_short_help[no-wrap mark-equal length, no dot] PASSED tests/test_utils.py::test_make_default_short_help[no-wrap mark-ignore dot in word] PASSED tests/test_utils.py::test_make_default_short_help[no-wrap mark-length includes suffix] PASSED tests/test_utils.py::test_make_default_short_help[no-wrap mark-paragraph < max] PASSED tests/test_utils.py::test_make_default_short_help[no-wrap mark-sentence < max] PASSED tests/test_utils.py::test_make_default_short_help[no-wrap mark-truncate] PASSED tests/test_utils.py::test_open_file PASSED tests/test_utils.py::test_open_file_atomic_permissions_existing_file[256] PASSED tests/test_utils.py::test_open_file_atomic_permissions_existing_file[292] PASSED tests/test_utils.py::test_open_file_atomic_permissions_existing_file[384] PASSED tests/test_utils.py::test_open_file_atomic_permissions_existing_file[420] PASSED tests/test_utils.py::test_open_file_atomic_permissions_new_file PASSED tests/test_utils.py::test_open_file_ignore_errors_stdin PASSED tests/test_utils.py::test_open_file_ignore_invalid_utf8 PASSED tests/test_utils.py::test_open_file_ignore_no_encoding PASSED tests/test_utils.py::test_open_file_pathlib_dash PASSED tests/test_utils.py::test_open_file_respects_ignore PASSED tests/test_utils.py::test_prompt_cast_default PASSED tests/test_utils.py::test_prompts PASSED tests/test_utils.py::test_prompts_abort PASSED tests/test_utils.py::test_styling[styles0-\x1b[30mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles1-\x1b[31mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles10-\x1b[42mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles11-\x1b[43mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles12-\x1b[44mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles13-\x1b[45mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles14-\x1b[46mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles15-\x1b[47mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles16-\x1b[48;5;91mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles17-\x1b[48;2;135;0;175mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles18-\x1b[1mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles19-\x1b[2mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles2-\x1b[32mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles20-\x1b[4mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles21-\x1b[53mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles22-\x1b[3mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles23-\x1b[5mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles24-\x1b[7mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles25-\x1b[9mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles26-\x1b[22mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles27-\x1b[22mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles28-\x1b[24mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles29-\x1b[55mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles3-\x1b[33mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles30-\x1b[23mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles31-\x1b[25mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles32-\x1b[27mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles33-\x1b[29mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles34-\x1b[30mx y] PASSED tests/test_utils.py::test_styling[styles4-\x1b[34mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles5-\x1b[35mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles6-\x1b[36mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles7-\x1b[37mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles8-\x1b[40mx y\x1b[0m] PASSED tests/test_utils.py::test_styling[styles9-\x1b[41mx y\x1b[0m] PASSED tests/test_utils.py::test_unstyle_other_ansi[\x1b[?25lx y\x1b[?25h-x y] PASSED user-input using the msvcrt module.) user-input using the msvcrt module.) user-input using the msvcrt module.) user-input using the msvcrt module.) user-input using the msvcrt module.) user-input using the msvcrt module.) user-input using the msvcrt module.) user-input using the msvcrt module.) user-input using the msvcrt module.) user-input using the msvcrt module.) ======== 589 passed, 21 skipped, 1 xfailed ======== py$(PYV): OK congratulations :)