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.