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.

Reply via email to