Package: src:zabbix-cli Version: 3.5.0-1 Severity: serious Tags: ftbfs trixie sid
Dear maintainer: During a rebuild of all packages in unstable, your package failed to build: -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild dh_auto_build -O--buildsystem=pybuild I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_zabbix-cli * Building wheel... Successfully built zabbix_cli_uio-3.5.0-py3-none-any.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with "installer" module dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_zabbix-cli/build; python3.13 -m pytest tests ============================= test session starts ============================== platform linux -- Python 3.13.2, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3.13 cachedir: .pytest_cache rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_zabbix-cli/build configfile: pyproject.toml plugins: typeguard-4.4.1, anyio-4.8.0, inline-snapshot-0.19.3, pytest_httpserver-1.1.1 collecting ... collected 313 items / 1 skipped tests/commands/test_common.py::test_command_param PASSED [ 0%] tests/commands/test_common.py::test_command_param_in_command FAILED [ 0%] tests/commands/test_macro.py::test_fmt_macro_name[my_macro-{$MY_MACRO}] PASSED [ 0%] tests/commands/test_macro.py::test_fmt_macro_name[MY_MACRO-{$MY_MACRO}] PASSED [ 1%] tests/commands/test_macro.py::test_fmt_macro_name[mY_maCrO-{$MY_MACRO}] PASSED [ 1%] tests/commands/test_macro.py::test_fmt_macro_name[foo123-{$FOO123}] PASSED [ 1%] tests/commands/test_macro.py::test_fmt_macro_name[ -] XFAIL [ 2%] tests/commands/test_macro.py::test_fmt_macro_name[-] XFAIL [ 2%] tests/commands/test_macro.py::test_fmt_macro_name[{$}-] XFAIL [ 2%] tests/pyzabbix/test_client.py::test_append_param[non-list (int)] PASSED [ 3%] tests/pyzabbix/test_client.py::test_append_param[list (int)] PASSED [ 3%] tests/pyzabbix/test_client.py::test_append_param[non-list (str)] PASSED [ 3%] tests/pyzabbix/test_client.py::test_append_param[list (str)] PASSED [ 4%] tests/pyzabbix/test_client.py::test_append_param[list of lists] PASSED [ 4%] tests/pyzabbix/test_client.py::test_add_param[inp0-hostids-2-expect0] PASSED [ 4%] tests/pyzabbix/test_client.py::test_login_fails PASSED [ 5%] tests/pyzabbix/test_client.py::test_logout_fails PASSED [ 5%] tests/pyzabbix/test_client.py::test_client_server_url[localhost-no-slash] PASSED [ 5%] tests/pyzabbix/test_client.py::test_client_server_url[localhost-with-slash] PASSED [ 6%] tests/pyzabbix/test_client.py::test_client_server_url[localhost-full-url] PASSED [ 6%] tests/pyzabbix/test_client.py::test_client_server_url[localhost-full-url-with-slash] PASSED [ 6%] tests/pyzabbix/test_client.py::test_client_server_url[tld-no-slash] PASSED [ 7%] tests/pyzabbix/test_client.py::test_client_server_url[tld-with-slash] PASSED [ 7%] tests/pyzabbix/test_client.py::test_client_server_url[tld-full-url] PASSED [ 7%] tests/pyzabbix/test_client.py::test_client_server_url[tld-full-url-with-slash] PASSED [ 7%] tests/pyzabbix/test_client.py::test_client_auth_method[5.0.0] PASSED [ 8%] tests/pyzabbix/test_client.py::test_client_auth_method[5.2.0] PASSED [ 8%] tests/pyzabbix/test_client.py::test_client_auth_method[6.0.0] PASSED [ 8%] tests/pyzabbix/test_client.py::test_client_auth_method[6.2.0] PASSED [ 9%] tests/pyzabbix/test_client.py::test_client_auth_method[6.4.0] PASSED [ 9%] tests/pyzabbix/test_client.py::test_client_auth_method[7.0.0] PASSED [ 9%] tests/pyzabbix/test_client.py::test_client_auth_method[7.2.0] PASSED [ 10%] tests/pyzabbix/test_client.py::test_client_logout[token] PASSED [ 10%] tests/pyzabbix/test_client.py::test_client_logout[token (empty string)] PASSED [ 10%] tests/pyzabbix/test_client.py::test_client_logout[sessionid] PASSED [ 11%] tests/pyzabbix/test_client.py::test_client_logout[sessionid (empty string)] PASSED [ 11%] tests/pyzabbix/test_enums.py::test_apistrenum[AckStatus] PASSED [ 11%] tests/pyzabbix/test_enums.py::test_apistrenum[ActiveInterface] PASSED [ 12%] tests/pyzabbix/test_enums.py::test_apistrenum[DataCollectionMode] PASSED [ 12%] tests/pyzabbix/test_enums.py::test_apistrenum[EventStatus] PASSED [ 12%] tests/pyzabbix/test_enums.py::test_apistrenum[GUIAccess] PASSED [ 13%] tests/pyzabbix/test_enums.py::test_apistrenum[HostgroupFlag] PASSED [ 13%] tests/pyzabbix/test_enums.py::test_apistrenum[HostgroupType] PASSED [ 13%] tests/pyzabbix/test_enums.py::test_apistrenum[InterfaceConnectionMode] PASSED [ 14%] tests/pyzabbix/test_enums.py::test_apistrenum[InterfaceType] PASSED [ 14%] tests/pyzabbix/test_enums.py::test_apistrenum[InventoryMode] PASSED [ 14%] tests/pyzabbix/test_enums.py::test_apistrenum[ItemType] PASSED [ 15%] tests/pyzabbix/test_enums.py::test_apistrenum[MacroType] PASSED [ 15%] tests/pyzabbix/test_enums.py::test_apistrenum[MaintenanceStatus] PASSED [ 15%] tests/pyzabbix/test_enums.py::test_apistrenum[MaintenanceType] PASSED [ 15%] tests/pyzabbix/test_enums.py::test_apistrenum[MaintenanceWeekType] PASSED [ 16%] tests/pyzabbix/test_enums.py::test_apistrenum[MonitoredBy] PASSED [ 16%] tests/pyzabbix/test_enums.py::test_apistrenum[MonitoringStatus] PASSED [ 16%] tests/pyzabbix/test_enums.py::test_apistrenum[ProxyCompatibility] PASSED [ 17%] tests/pyzabbix/test_enums.py::test_apistrenum[ProxyGroupState] PASSED [ 17%] tests/pyzabbix/test_enums.py::test_apistrenum[ProxyMode] PASSED [ 17%] tests/pyzabbix/test_enums.py::test_apistrenum[ProxyModePre70] PASSED [ 18%] tests/pyzabbix/test_enums.py::test_apistrenum[SNMPSecurityLevel] PASSED [ 18%] tests/pyzabbix/test_enums.py::test_apistrenum[SNMPAuthProtocol] PASSED [ 18%] tests/pyzabbix/test_enums.py::test_apistrenum[SNMPPrivProtocol] PASSED [ 19%] tests/pyzabbix/test_enums.py::test_apistrenum[TriggerPriority] PASSED [ 19%] tests/pyzabbix/test_enums.py::test_apistrenum[UsergroupPermission] PASSED [ 19%] tests/pyzabbix/test_enums.py::test_apistrenum[UserRole] PASSED [ 20%] tests/pyzabbix/test_enums.py::test_apistrenum[ValueType] PASSED [ 20%] tests/pyzabbix/test_enums.py::test_interfacetype PASSED [ 20%] tests/pyzabbix/test_enums.py::test_exportformat PASSED [ 21%] tests/pyzabbix/test_types.py::test_model_dump[model0] PASSED [ 21%] tests/pyzabbix/test_types.py::test_model_dump[model1] PASSED [ 21%] tests/pyzabbix/test_types.py::test_model_dump[model2] PASSED [ 22%] tests/pyzabbix/test_types.py::test_model_dump[model3] PASSED [ 22%] tests/pyzabbix/test_types.py::test_model_dump[model4] PASSED [ 22%] tests/pyzabbix/test_types.py::test_model_dump[model5] PASSED [ 23%] tests/pyzabbix/test_types.py::test_model_dump[model6] PASSED [ 23%] tests/pyzabbix/test_types.py::test_model_dump[model7] PASSED [ 23%] tests/pyzabbix/test_types.py::test_model_dump[model8] PASSED [ 23%] tests/pyzabbix/test_types.py::test_model_dump[model9] PASSED [ 24%] tests/pyzabbix/test_types.py::test_model_dump[model10] PASSED [ 24%] tests/pyzabbix/test_types.py::test_model_dump[model11] PASSED [ 24%] tests/pyzabbix/test_types.py::test_model_dump[model12] PASSED [ 25%] tests/pyzabbix/test_types.py::test_model_dump[model13] PASSED [ 25%] tests/pyzabbix/test_types.py::test_model_dump[model14] PASSED [ 25%] tests/pyzabbix/test_types.py::test_model_dump[model15] PASSED [ 26%] tests/pyzabbix/test_types.py::test_model_dump[model16] PASSED [ 26%] tests/pyzabbix/test_types.py::test_model_dump[model17] PASSED [ 26%] tests/pyzabbix/test_types.py::test_model_dump[model18] PASSED [ 27%] tests/pyzabbix/test_types.py::test_model_dump[model19] PASSED [ 27%] tests/pyzabbix/test_types.py::test_model_dump[model20] PASSED [ 27%] tests/pyzabbix/test_types.py::test_model_dump[model21] PASSED [ 28%] tests/pyzabbix/test_types.py::test_model_dump[model22] PASSED [ 28%] tests/pyzabbix/test_types.py::test_model_dump[model23] PASSED [ 28%] tests/pyzabbix/test_types.py::test_model_dump[model24] PASSED [ 29%] tests/pyzabbix/test_types.py::test_model_dump[model25] PASSED [ 29%] tests/pyzabbix/test_types.py::test_model_dump[model26] PASSED [ 29%] tests/pyzabbix/test_types.py::test_model_dump[model27] PASSED [ 30%] tests/test_app.py::test_get_plugin_config PASSED [ 30%] tests/test_auth.py::test_get_auth_file_paths_defafult PASSED [ 30%] tests/test_auth.py::test_get_auth_file_paths_override PASSED [ 30%] tests/test_auth.py::test_get_auth_token_file_paths_defafult PASSED [ 31%] tests/test_auth.py::test_get_auth_token_file_paths_override PASSED [ 31%] tests/test_auth.py::test_authenticator_login_with_any[expect_auth_token_env] PASSED [ 31%] tests/test_auth.py::test_authenticator_login_with_any[expect_auth_token_config] PASSED [ 32%] tests/test_auth.py::test_authenticator_login_with_any[expect_session_file] PASSED [ 32%] tests/test_auth.py::test_authenticator_login_with_any[expect_password_env] PASSED [ 32%] tests/test_auth.py::test_authenticator_login_with_any[expect_password_config] PASSED [ 33%] tests/test_auth.py::test_authenticator_login_with_any[expect_password_file] PASSED [ 33%] tests/test_auth.py::test_authenticator_login_with_any[expect_legacy_auth_token_file] PASSED [ 33%] tests/test_auth.py::test_authenticator_login_with_any[expect_password_prompt] PASSED [ 34%] tests/test_auth.py::test_table_renderable_mock_reverted PASSED [ 34%] tests/test_auth.py::test_sessionid_list_set_session PASSED [ 34%] tests/test_auth.py::test_sessionid_list_get_session[initial_sessions0-user1-None] PASSED [ 35%] tests/test_auth.py::test_sessionid_list_get_session[initial_sessions1-user1-abc] PASSED [ 35%] tests/test_auth.py::test_sessionid_list_get_session[initial_sessions2-user2-None] PASSED [ 35%] tests/test_auth.py::test_sessionid_file_get_user_session[https://zabbix1.com-user1-None] PASSED [ 36%] tests/test_auth.py::test_sessionid_file_get_user_session[https://zabbix2.com-user2-xyz789] PASSED [ 36%] tests/test_auth.py::test_sessionid_file_set_user_session[https://new.com-user1-session1-expected_urls0] PASSED [ 36%] tests/test_auth.py::test_sessionid_file_set_user_session[https://existing.com-user2-session2-expected_urls1] PASSED [ 37%] tests/test_auth.py::test_sessionid_file_load[True-True-False-False] PASSED [ 37%] tests/test_auth.py::test_sessionid_file_load[False-True-False-True] PASSED [ 37%] tests/test_auth.py::test_sessionid_file_load[True-False-False-True] PASSED [ 38%] tests/test_auth.py::test_sessionid_file_load[True-False-True-False] PASSED [ 38%] tests/test_auth.py::test_sessionid_file_save[True-False-True-False] PASSED [ 38%] tests/test_auth.py::test_sessionid_file_save[False-False-True-True] PASSED [ 38%] tests/test_auth.py::test_sessionid_file_save[True-False-False-False] PASSED [ 39%] tests/test_auth.py::test_sessionid_file_save[True-True-False-False] PASSED [ 39%] tests/test_bulk.py::test_bulk_command_from_line[simple] PASSED [ 39%] tests/test_bulk.py::test_bulk_command_from_line[Legacy positional args] PASSED [ 40%] tests/test_bulk.py::test_bulk_command_from_line[args and kwargs] PASSED [ 40%] tests/test_bulk.py::test_bulk_command_from_line[kwarg between args] PASSED [ 40%] tests/test_bulk.py::test_bulk_command_from_line[Trailing comment] PASSED [ 41%] tests/test_bulk.py::test_bulk_command_from_line[fails (empty)] XFAIL [ 41%] tests/test_bulk.py::test_bulk_command_from_line[fails (comment symbol)] XFAIL [ 41%] tests/test_bulk.py::test_bulk_command_from_line[fails (commented out line)] XFAIL [ 42%] tests/test_bulk.py::test_load_command_file PASSED [ 42%] tests/test_bulk.py::test_bulk_runner_mode_invalid_line_strict[strict] PASSED [ 42%] tests/test_bulk.py::test_bulk_runner_mode_invalid_line_strict[continue] PASSED [ 43%] tests/test_bulk.py::test_bulk_runner_mode_invalid_line_skip PASSED [ 43%] tests/test_bulk.py::test_load_command_file_not_found PASSED [ 43%] tests/test_bulk.py::test_bulk_runner_exit_code_handling[strict] PASSED [ 44%] tests/test_bulk.py::test_bulk_runner_exit_code_handling[continue] PASSED [ 44%] tests/test_bulk.py::test_bulk_commands_complex[strict] PASSED [ 44%] tests/test_bulk.py::test_bulk_commands_complex[continue] PASSED [ 45%] tests/test_bulk.py::test_bulk_commands_complex[skip] PASSED [ 45%] tests/test_compat.py::test_packaging_version_release_sanity PASSED [ 45%] tests/test_compat.py::test_host_proxyid[version0-proxyid] PASSED [ 46%] tests/test_compat.py::test_host_proxyid[version1-proxy_hostid] PASSED [ 46%] tests/test_compat.py::test_host_proxyid[version2-proxy_hostid] PASSED [ 46%] tests/test_compat.py::test_host_proxyid[version3-proxy_hostid] PASSED [ 46%] tests/test_compat.py::test_host_proxyid[version4-proxy_hostid] PASSED [ 47%] tests/test_compat.py::test_host_proxyid[version5-proxy_hostid] PASSED [ 47%] tests/test_compat.py::test_login_user_name[version0-username] PASSED [ 47%] tests/test_compat.py::test_login_user_name[version1-username] PASSED [ 48%] tests/test_compat.py::test_login_user_name[version2-username] PASSED [ 48%] tests/test_compat.py::test_login_user_name[version3-username] PASSED [ 48%] tests/test_compat.py::test_login_user_name[version4-username] PASSED [ 49%] tests/test_compat.py::test_login_user_name[version5-username] PASSED [ 49%] tests/test_compat.py::test_login_user_name[version6-user] PASSED [ 49%] tests/test_compat.py::test_login_user_name[version7-user] PASSED [ 50%] tests/test_compat.py::test_login_user_name[version8-user] PASSED [ 50%] tests/test_compat.py::test_login_user_name[version9-user] PASSED [ 50%] tests/test_compat.py::test_login_user_name[version10-user] PASSED [ 51%] tests/test_compat.py::test_login_user_name[version11-user] PASSED [ 51%] tests/test_compat.py::test_proxy_name[version0-name] PASSED [ 51%] tests/test_compat.py::test_proxy_name[version1-host] PASSED [ 52%] tests/test_compat.py::test_proxy_name[version2-host] PASSED [ 52%] tests/test_compat.py::test_proxy_name[version3-host] PASSED [ 52%] tests/test_compat.py::test_proxy_name[version4-host] PASSED [ 53%] tests/test_compat.py::test_proxy_name[version5-host] PASSED [ 53%] tests/test_compat.py::test_user_name[version0-username] PASSED [ 53%] tests/test_compat.py::test_user_name[version1-username] PASSED [ 53%] tests/test_compat.py::test_user_name[version2-username] PASSED [ 54%] tests/test_compat.py::test_user_name[version3-alias] PASSED [ 54%] tests/test_compat.py::test_user_name[version4-alias] PASSED [ 54%] tests/test_compat.py::test_user_name[version5-alias] PASSED [ 55%] tests/test_compat.py::test_user_name[version6-alias] PASSED [ 55%] tests/test_compat.py::test_user_name[version7-alias] PASSED [ 55%] tests/test_config.py::test_config_default PASSED [ 56%] tests/test_config.py::test_sample_config PASSED [ 56%] tests/test_config.py::test_load_config_file_legacy[True] PASSED [ 56%] tests/test_config.py::test_load_config_file_legacy[False] PASSED [ 57%] tests/test_config.py::test_load_config_file[True-True] PASSED [ 57%] tests/test_config.py::test_load_config_file[True-False] PASSED [ 57%] tests/test_config.py::test_load_config_file[False-True] PASSED [ 58%] tests/test_config.py::test_load_config_file[False-False] PASSED [ 58%] tests/test_config.py::test_plugins_config_get PASSED [ 58%] tests/test_config.py::test_plugin_config_get PASSED [ 59%] tests/test_config.py::test_config_get_with_annotations PASSED [ 59%] tests/test_config.py::test_plugin_config_set PASSED [ 59%] tests/test_config.py::test_secret_mode_from_context[context0-hide] PASSED [ 60%] tests/test_config.py::test_secret_mode_from_context[context1-masked] PASSED [ 60%] tests/test_config.py::test_secret_mode_from_context[context2-plain] PASSED [ 60%] tests/test_config.py::test_secret_mode_from_context[context3-hide] PASSED [ 61%] tests/test_config.py::test_secret_mode_from_context[context4-masked] PASSED [ 61%] tests/test_config.py::test_secret_mode_from_context[context5-plain] PASSED [ 61%] tests/test_config.py::test_secret_mode_from_context[context6-masked] PASSED [ 61%] tests/test_config.py::test_secret_mode_from_context[None-masked] PASSED [ 62%] tests/test_config.py::test_secret_mode_from_context[<lambda>-masked] PASSED [ 62%] tests/test_config.py::test_secret_mode_from_context[context9-plain] PASSED [ 62%] tests/test_config.py::test_secret_mode_from_context[context10-masked] PASSED [ 63%] tests/test_config.py::test_secret_mode_default PASSED [ 63%] tests/test_config.py::test_config_dump_to_file_masked PASSED [ 63%] tests/test_config.py::test_deprecated_field_warnings PASSED [ 64%] tests/test_config.py::test_get_deprecated_fields_set PASSED [ 64%] tests/test_config.py::test_get_deprecated_fields_deep_nesting PASSED [ 64%] tests/test_config.py::test_deprecated_fields_updated PASSED [ 65%] tests/test_config.py::test_get_deprecated_fields PASSED [ 65%] tests/test_config.py::test_load_deprecated_config PASSED [ 65%] tests/test_config.py::test_load_deprecated_config_with_new_and_old_options PASSED [ 66%] tests/test_config.py::test_load_deprecated_config_legacy PASSED [ 66%] tests/test_console.py::test_get_extra_dict[inp0-expect0] PASSED [ 66%] tests/test_console.py::test_get_extra_dict[inp1-expect1] PASSED [ 67%] tests/test_console.py::test_get_extra_dict[inp2-expect2] PASSED [ 67%] tests/test_console.py::test_get_extra_dict[inp3-expect3] PASSED [ 67%] tests/test_console.py::test_get_extra_dict_reserved_keys PASSED [ 68%] tests/test_console.py::test_debug_kv PASSED [ 68%] tests/test_console.py::test_debug PASSED [ 68%] tests/test_console.py::test_info PASSED [ 69%] tests/test_console.py::test_success PASSED [ 69%] tests/test_console.py::test_warning PASSED [ 69%] tests/test_console.py::test_error PASSED [ 69%] tests/test_console.py::test_exit_err_table PASSED [ 70%] tests/test_console.py::test_exit_err_json PASSED [ 70%] tests/test_console.py::test_exit_err_json_with_errors PASSED [ 70%] tests/test_console.py::test_exit_err_json_with_zabbix_api_request_error PASSED [ 71%] tests/test_exceptions.py::test_get_cause_args[TypeError] PASSED [ 71%] tests/test_exceptions.py::test_get_cause_args[ValueError] PASSED [ 71%] tests/test_exceptions.py::test_get_cause_args[ZabbixCLIError] PASSED [ 72%] tests/test_exceptions.py::test_get_cause_args[ZabbixAPIException] PASSED [ 72%] tests/test_exceptions.py::test_get_cause_args_no_cause PASSED [ 72%] tests/test_exceptions.py::test_get_cause_args_with_api_response PASSED [ 73%] tests/test_exceptions.py::test_get_cause_args_with_api_response_with_data PASSED [ 73%] tests/test_logging.py::TestSafeFormatting::test_safe_formatter PASSED [ 73%] tests/test_logging.py::TestSafeFormatting::test_safe_record PASSED [ 74%] tests/test_logging.py::TestSafeFormatting::test_safe_record_attr PASSED [ 74%] tests/test_logging.py::TestSafeFormatting::test_safe_record_basic_message PASSED [ 74%] tests/test_logging.py::TestSafeFormatting::test_safe_record_formatted_message PASSED [ 75%] tests/test_logging.py::TestSafeFormatting::test_safe_record_missing_dict PASSED [ 75%] tests/test_models.py::test_table_renderable_metakey_header[None is default] PASSED [ 75%] tests/test_models.py::test_table_renderable_metakey_header[Empty string is default] PASSED [ 76%] tests/test_models.py::test_table_renderable_metakey_header[Foo Header-Foo Header] PASSED [ 76%] tests/test_models.py::test_table_renderable_metakey_join_char[content0-,-expect0] PASSED [ 76%] tests/test_models.py::test_table_renderable_metakey_join_char[content1-|-expect1] PASSED [ 76%] tests/test_models.py::test_table_renderable_metakey_join_char[content2- -expect2] PASSED [ 77%] tests/test_models.py::test_table_renderable_metakey_join_char[content3--expect3] PASSED [ 77%] tests/test_models.py::test_table_renderable_metakey_join_char[content4-,-expect4] PASSED [ 77%] tests/test_models.py::test_table_renderable_metakey_join_char[content5-|-expect5] PASSED [ 78%] tests/test_models.py::test_table_renderable_metakey_join_char[content6- -expect6] PASSED [ 78%] tests/test_models.py::test_table_renderable_metakey_join_char[content7--expect7] PASSED [ 78%] tests/test_models.py::test_all_metakeys PASSED [ 79%] tests/test_models.py::test_rows_with_unknown_base_model PASSED [ 79%] tests/test_patches.py::test_typer_patches_idempotent PASSED [ 79%] tests/test_patches.py::test_patch__get_rich_console PASSED [ 80%] tests/test_patches.py::test_patch_generate_enum_convertor PASSED [ 80%] tests/test_patches.py::test_patch_get_click_type FAILED [ 80%] tests/test_patches.py::test_patch_get_click_type ERROR [ 80%] tests/test_patches.py::test_patch_help_text_spacing PASSED [ 81%] tests/test_patches.py::test_patch_help_text_style PASSED [ 81%] tests/test_prompts.py::test_is_headless_set_true[1-CI] PASSED [ 81%] tests/test_prompts.py::test_is_headless_set_true[1-ZABBIX_CLI_HEADLESS] PASSED [ 82%] tests/test_prompts.py::test_is_headless_set_true[true-CI] PASSED [ 82%] tests/test_prompts.py::test_is_headless_set_true[true-ZABBIX_CLI_HEADLESS] PASSED [ 82%] tests/test_prompts.py::test_is_headless_set_false[0-CI] PASSED [ 83%] tests/test_prompts.py::test_is_headless_set_false[0-ZABBIX_CLI_HEADLESS] PASSED [ 83%] tests/test_prompts.py::test_is_headless_set_false[false-CI] PASSED [ 83%] tests/test_prompts.py::test_is_headless_set_false[false-ZABBIX_CLI_HEADLESS] PASSED [ 84%] tests/test_prompts.py::test_is_headless_set_false[-CI] PASSED [ 84%] tests/test_prompts.py::test_is_headless_set_false[-ZABBIX_CLI_HEADLESS] PASSED [ 84%] tests/test_prompts.py::test_is_headless_set_false[None-CI] PASSED [ 84%] tests/test_prompts.py::test_is_headless_set_false[None-ZABBIX_CLI_HEADLESS] PASSED [ 85%] tests/test_prompts.py::test_is_headless_map[DEBIAN_FRONTEND-noninteractive-True] PASSED [ 85%] tests/test_prompts.py::test_is_headless_map[DEBIAN_FRONTEND-teletype-False] PASSED [ 85%] tests/test_prompts.py::test_is_headless_map[DEBIAN_FRONTEND-readline-False] PASSED [ 86%] tests/test_prompts.py::test_is_headless_map[DEBIAN_FRONTEND-dialog-False] PASSED [ 86%] tests/test_prompts.py::test_is_headless_map[DEBIAN_FRONTEND-gtk-False] PASSED [ 86%] tests/test_prompts.py::test_is_headless_map[DEBIAN_FRONTEND-text-False] PASSED [ 87%] tests/test_prompts.py::test_is_headless_map[DEBIAN_FRONTEND-anything-False] PASSED [ 87%] tests/test_prompts.py::test_is_headless_map[DEBIAN_FRONTEND-None-False] PASSED [ 87%] tests/test_prompts.py::test_is_headless_map[DEBIAN_FRONTEND--False] PASSED [ 88%] tests/test_prompts.py::test_is_headless_map[DEBIAN_FRONTEND-0-False] PASSED [ 88%] tests/test_prompts.py::test_is_headless_map[DEBIAN_FRONTEND-false-False] PASSED [ 88%] tests/test_prompts.py::test_is_headless_map[DEBIAN_FRONTEND-1-False] PASSED [ 89%] tests/test_prompts.py::test_is_headless_map[DEBIAN_FRONTEND-true-False] PASSED [ 89%] tests/test_style.py::test_color_call PASSED [ 89%] tests/test_update.py::test_pyinstaller_updater_get_url[linux-x86_64-1.2.3-1.2.3-linux-x86_64] PASSED [ 90%] tests/test_update.py::test_pyinstaller_updater_get_url[linux-arm64-1.2.3-1.2.3-linux-arm64] PASSED [ 90%] tests/test_update.py::test_pyinstaller_updater_get_url[linux-armv7l-1.2.3-1.2.3-linux-armv7l] PASSED [ 90%] tests/test_update.py::test_pyinstaller_updater_get_url[darwin-x86_64-1.2.3-1.2.3-macos-x86_64] PASSED [ 91%] tests/test_update.py::test_pyinstaller_updater_get_url[darwin-arm64-1.2.3-1.2.3-macos-arm64] PASSED [ 91%] tests/test_update.py::test_pyinstaller_updater_get_url[win32-x86_64-1.2.3-1.2.3-win-x86_64.exe] PASSED [ 91%] tests/test_utils.py::test_convert_duration[1 hour-expect0] PASSED [ 92%] tests/test_utils.py::test_convert_duration[1 hour 30 minutes-expect1] PASSED [ 92%] tests/test_utils.py::test_convert_duration[1 hour 30 minutes 30 seconds-expect2] PASSED [ 92%] tests/test_utils.py::test_convert_duration[1 day 1 hour 30 minutes 30 seconds-expect3] PASSED [ 92%] tests/test_utils.py::test_convert_duration[2 hours 30 seconds-expect4] PASSED [ 93%] tests/test_utils.py::test_convert_duration[2h30s-expect5] PASSED [ 93%] tests/test_utils.py::test_convert_duration[2 hours 30 minutes 30 seconds-expect6] PASSED [ 93%] tests/test_utils.py::test_convert_duration[2 hour 30 minute 30 second-expect7] PASSED [ 94%] tests/test_utils.py::test_convert_duration[2h30m30s-expect8] PASSED [ 94%] tests/test_utils.py::test_convert_duration[9030s-expect9] PASSED [ 94%] tests/test_utils.py::test_convert_duration[9030-expect10] PASSED [ 95%] tests/test_utils.py::test_convert_duration[0-expect11] PASSED [ 95%] tests/test_utils.py::test_convert_duration[0d0h0m0s-expect12] PASSED [ 95%] tests/test_utils.py::test_convert_timestamp_interval[Legacy format] PASSED [ 96%] tests/test_utils.py::test_convert_timestamp_interval[ISO w/o timezone] PASSED [ 96%] tests/test_utils.py::test_convert_timestamp_interval[ISO w/o timezone (space-separated)] PASSED [ 96%] tests/test_utils.py::test_convert_timestamp[Legacy] PASSED [ 97%] tests/test_utils.py::test_convert_timestamp[ISO w/o timezone] PASSED [ 97%] tests/test_utils.py::test_convert_timestamp[ISO w/o timezone (space-separated)] PASSED [ 97%] tests/test_utils.py::test_convert_time_to_interval[Range: Legacy] PASSED [ 98%] tests/test_utils.py::test_convert_time_to_interval[Range: ISO w/o timezone] PASSED [ 98%] tests/test_utils.py::test_convert_time_to_interval[Range: ISO w/o timezone (space-separated)] PASSED [ 98%] tests/test_utils.py::test_convert_time_to_interval[Duration: 1h (long form)] PASSED [ 99%] tests/test_utils.py::test_convert_time_to_interval[Duration: 1d1h30m30s (long form)] PASSED [ 99%] tests/test_utils.py::test_convert_time_to_interval[Duration: 1h (short form)] PASSED [ 99%] tests/test_utils.py::test_convert_time_to_interval[Duration: 1d1h30m30s (short form)] PASSED [100%] ==================================== ERRORS ==================================== ________________ ERROR at teardown of test_patch_get_click_type ________________ some snapshots in this test have incorrect values. =================================== FAILURES =================================== ________________________ test_command_param_in_command _________________________ app = <zabbix_cli.app.app.StatefulApp object at 0x7f818ae578c0> capsys = <_pytest.capture.CaptureFixture object at 0x7f8189be42f0> def test_command_param_in_command( app: StatefulApp, capsys: pytest.CaptureFixture[str] ) -> None: @app.command(name="help-command") def help_command( # type: ignore ctx: typer.Context, cmd_arg: click.Command = typer.Argument( ..., help="The command to get help for." ), ) -> str: return cmd_arg.get_help(ctx) @app.command(name="other-command", help="Help for the other command.") def other_command(ctx: typer.Context) -> None: # type: ignore pass cmd = typer.main.get_command(app) with cmd.make_context(None, ["help-command", "other-command"]) as new_ctx: new_ctx.info_name = "other-command" > cmd.invoke(new_ctx) tests/commands/test_common.py:60: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/click/core.py:1817: in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) /usr/lib/python3/dist-packages/click/core.py:1213: in invoke return ctx.invoke(self.callback, **ctx.params) /usr/lib/python3/dist-packages/click/core.py:787: in invoke return callback(*args, **kwargs) /usr/lib/python3/dist-packages/typer/main.py:698: in wrapper return callback(**use_params) tests/commands/test_common.py:50: in help_command return cmd_arg.get_help(ctx) /usr/lib/python3/dist-packages/click/core.py:1050: in get_help self.format_help(ctx, formatter) /usr/lib/python3/dist-packages/typer/core.py:694: in format_help return rich_utils.rich_format_help( /usr/lib/python3/dist-packages/typer/rich_utils.py:610: in rich_format_help _print_options_panel( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _print_options_panel( *, name: str, params: Union[List[click.Option], List[click.Argument]], ctx: click.Context, markup_mode: MarkupMode, console: Console, ) -> None: options_rows: List[List[RenderableType]] = [] required_rows: List[Union[str, Text]] = [] for param in params: # Short and long form opt_long_strs = [] opt_short_strs = [] secondary_opt_long_strs = [] secondary_opt_short_strs = [] for opt_str in param.opts: if "--" in opt_str: opt_long_strs.append(opt_str) else: opt_short_strs.append(opt_str) for opt_str in param.secondary_opts: if "--" in opt_str: secondary_opt_long_strs.append(opt_str) else: secondary_opt_short_strs.append(opt_str) # Column for a metavar, if we have one metavar = Text(style=STYLE_METAVAR, overflow="fold") > metavar_str = param.make_metavar() E TypeError: Parameter.make_metavar() missing 1 required positional argument: 'ctx' /usr/lib/python3/dist-packages/typer/rich_utils.py:369: TypeError ----------------------------- Captured stdout call ----------------------------- Usage: other-command help-command [OPTIONS] Help for the other command. __________________________ test_patch_get_click_type ___________________________ def test_patch_get_click_type() -> None: original = copy.deepcopy(typer.main.get_click_type) typ.patch_get_click_type() new = typer.main.get_click_type assert original != new class APIEnum(APIStrEnum): FOO = APIStr("foo", 0) BAR = APIStr("bar", 1) > assert new( annotation=APIEnum, parameter_info=ParameterInfo() ).to_info_dict() == snapshot( { "param_type": "Choice", "name": "choice", "choices": ["foo", "bar", "0", "1"], "case_sensitive": True, } ) E AssertionError: assert {'case_sensit...pe': 'Choice'} == {'case_sensit...pe': 'Choice'} E E Omitting 3 identical items, use -vv to show E Differing items: E {'choices': ('foo', 'bar', '0', '1')} != {'choices': ['foo', 'bar', '0', '1']} E E Full diff: E {... E E ...Full output truncated (16 lines hidden), use '-vv' to show tests/test_patches.py:117: AssertionError =============================== warnings summary =============================== tests/test_auth.py::test_get_auth_token_file_paths_defafult tests/test_auth.py::test_get_auth_token_file_paths_override /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_zabbix-cli/build/zabbix_cli/auth.py:690: DeprecationWarning: deprecated if config and config.app.auth_token_file not in paths: # config has custom path tests/test_auth.py::test_get_auth_token_file_paths_override /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_zabbix-cli/build/zabbix_cli/auth.py:691: DeprecationWarning: deprecated paths.insert(0, config.app.auth_token_file) tests/test_config.py: 85 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_zabbix-cli/build/zabbix_cli/config/utils.py:118: DeprecationWarning: deprecated value = getattr(model, field_name) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =============================== inline snapshot ================================ Error: one snapshot has incorrect values (--inline-snapshot=fix) You can also use --inline-snapshot=review to approve the changes interactively =========================== short test summary info ============================ FAILED tests/commands/test_common.py::test_command_param_in_command - TypeErr... FAILED tests/test_patches.py::test_patch_get_click_type - AssertionError: ass... ERROR tests/test_patches.py::test_patch_get_click_type - Failed: some snapsho... == 2 failed, 305 passed, 1 skipped, 6 xfailed, 88 warnings, 1 error in 1.94s === E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_zabbix-cli/build; python3.13 -m pytest tests dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13 make: *** [debian/rules:6: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 -------------------------------------------------------------------------------- The above is just how the build ends and not necessarily the most relevant part. If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202502/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. If you could not reproduce the bug please contact me privately, as I am willing to provide ssh access to a virtual machine where the bug is fully reproducible. If this is really a bug in one of the build-depends, please use reassign and add an affects on src:zabbix-cli, so that this is still visible in the BTS web page for this package. Thanks.