#1098636 zabbix-cli: FTBFS: E TypeError: Parameter.make_metavar() missing 1 required positional argument: 'ctx'

#1098636#5
Date:
2025-02-21 23:29:52 UTC
From:
To:
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 ====================================


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")
/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.
            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)

#1098636#10
Date:
2025-03-23 15:11:13 UTC
From:
To:
Hi,

I just uploaded 3.5.1-1 to unstable. Since I could not reproduce this with
3.5.0 nor 3.5.1, can you please re-check on your side and update this bug
accordingly?

Thanks,
sur5r

#1098636#15
Date:
2025-03-23 20:40:03 UTC
From:
To:
Hi. Looks fixed in my usual setup.

However, when I try debbisect to see when exactly this was fixed,
I get the attached error. What could be the reason?

Thanks.

#1098636#20
Date:
2025-03-23 22:06:10 UTC
From:
To:
severity 1098636 normal
thanks

I'm downgrading because it works for me in the same environment
where it used to fail (tried several times).

(Not closing because I'm not 100% sure that the problem went away,
see the build log I sent in the previous email).

Thanks.