Package: src:zabbix-cli Version: 3.6.2-1 Severity: serious Tags: ftbfs forky sid
Dear maintainer: During a rebuild of all packages in unstable, this package failed to build. Below you will find the last part of the build log (probably the most relevant part, but not necessarily). If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202608/ 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 cannot 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. -------------------------------------------------------------------------------- [...] 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:142: Building wheel for python3.14 with "build" module I: pybuild base:385: python3.14 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_zabbix-cli * Building wheel... Successfully built zabbix_cli_uio-3.6.2-py3-none-any.whl [... snipped ...] tests/test_compat.py::test_proxy_name[version1-host] PASSED [ 51%] tests/test_compat.py::test_proxy_name[version2-host] PASSED [ 51%] tests/test_compat.py::test_proxy_name[version3-host] PASSED [ 52%] tests/test_compat.py::test_proxy_name[version4-host] PASSED [ 52%] tests/test_compat.py::test_proxy_name[version5-host] PASSED [ 52%] tests/test_compat.py::test_user_name[version0-username] PASSED [ 52%] tests/test_compat.py::test_user_name[version1-username] PASSED [ 53%] tests/test_compat.py::test_user_name[version2-username] PASSED [ 53%] tests/test_compat.py::test_user_name[version3-alias] PASSED [ 53%] tests/test_compat.py::test_user_name[version4-alias] PASSED [ 54%] tests/test_compat.py::test_user_name[version5-alias] PASSED [ 54%] tests/test_compat.py::test_user_name[version6-alias] PASSED [ 54%] tests/test_compat.py::test_user_name[version7-alias] PASSED [ 55%] tests/test_config.py::test_config_default PASSED [ 55%] tests/test_config.py::test_sample_config PASSED [ 55%] tests/test_config.py::test_load_config_file_legacy[True] PASSED [ 56%] tests/test_config.py::test_load_config_file_legacy[False] PASSED [ 56%] tests/test_config.py::test_load_config_file[True-True] PASSED [ 56%] tests/test_config.py::test_load_config_file[True-False] PASSED [ 57%] tests/test_config.py::test_load_config_file[False-True] PASSED [ 57%] tests/test_config.py::test_load_config_file[False-False] PASSED [ 57%] tests/test_config.py::test_plugins_config_get PASSED [ 57%] tests/test_config.py::test_plugin_config_get PASSED [ 58%] tests/test_config.py::test_config_get_with_annotations PASSED [ 58%] tests/test_config.py::test_plugin_config_set PASSED [ 58%] tests/test_config.py::test_secret_mode_from_context[context0-hide] PASSED [ 59%] tests/test_config.py::test_secret_mode_from_context[context1-masked] PASSED [ 59%] tests/test_config.py::test_secret_mode_from_context[context2-plain] PASSED [ 59%] tests/test_config.py::test_secret_mode_from_context[context3-hide] PASSED [ 60%] tests/test_config.py::test_secret_mode_from_context[context4-masked] PASSED [ 60%] tests/test_config.py::test_secret_mode_from_context[context5-plain] PASSED [ 60%] 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 [ 61%] tests/test_config.py::test_secret_mode_from_context[<lambda>-masked] PASSED [ 61%] tests/test_config.py::test_secret_mode_from_context[context9-plain] PASSED [ 61%] tests/test_config.py::test_secret_mode_from_context[context10-masked] PASSED [ 62%] tests/test_config.py::test_secret_mode_default PASSED [ 62%] tests/test_config.py::test_config_dump_to_file_masked PASSED [ 62%] tests/test_config.py::test_deprecated_field_warnings PASSED [ 63%] tests/test_config.py::test_get_deprecated_fields_set PASSED [ 63%] tests/test_config.py::test_get_deprecated_fields_deep_nesting PASSED [ 63%] tests/test_config.py::test_deprecated_fields_updated PASSED [ 64%] tests/test_config.py::test_get_deprecated_fields PASSED [ 64%] tests/test_config.py::test_load_deprecated_config PASSED [ 64%] tests/test_config.py::test_load_deprecated_config_with_new_and_old_options PASSED [ 65%] tests/test_config.py::test_load_deprecated_config_legacy PASSED [ 65%] tests/test_config.py::test_shared_command_config PASSED [ 65%] tests/test_config.py::test_config_command_alias_priority PASSED [ 66%] tests/test_config.py::test_fmt_deprecated_fields 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 [ 66%] 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 [ 67%] tests/test_console.py::test_debug_kv PASSED [ 68%] tests/test_console.py::test_debug PASSED [ 68%] tests/test_console.py::test_info PASSED [ 68%] 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 [ 71%] 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 [ 72%] 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 [ 73%] 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 [ 74%] 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 [ 75%] 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 [ 76%] 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 [ 77%] 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 [ 78%] 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 [ 79%] tests/test_patches.py::test_patch_generate_enum_convertor_apistrenum PASSED [ 80%] tests/test_patches.py::test_patch_generate_enum_convertor_strenum_lib SKIPPED [ 80%] tests/test_patches.py::test_patch_generate_enum_convertor_strenum_stdlib 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 [ 85%] 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_repl.py::test_help_internal PASSED [ 89%] tests/test_style.py::test_color_call PASSED [ 90%] 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 [ 93%] 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 [ 94%] 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 [ 95%] 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%] âââââââââââââââââââââââââââââââ inline-snapshot ââââââââââââââââââââââââââââââââ ââââââââââââââââââââââââââââââââ Fix snapshots âââââââââââââââââââââââââââââââââ ââââââââââââââââââââââââââââ tests/test_patches.py âââââââââââââââââââââââââââââ® â @@ -169,7 +169,7 @@ â â â â { â â "param_type": "Choice", â â "name": "choice", â â - "choices": ["foo", "bar", "0", "1"], â â + "choices": ('foo', 'bar', '0', '1'), â â "case_sensitive": True, â â } â â ) â â°ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ⯠These changes are not applied. Use --inline-snapshot=fix to apply them, or use the interactive mode with --inline-snapshot=review âââââââââââââââââââââââââââââââââââ Problems âââââââââââââââââââââââââââââââââââ inline-snapshot is not able to format your code. This issue can be solved by: * installing inline-snapshot[black] which gives you the same formatting like in older versions * adding a `format-command` to your pyproject.toml (see https://15r10nk.github.io/inline-snapshot/latest/configuration/#format-command for more information). ==================================== ERRORS ==================================== ________________ ERROR at teardown of test_patch_get_click_type ________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. =================================== FAILURES =================================== __________________________ 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 {'param_type'...sitive': True} == {'param_type'...sitive': True} 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:166: AssertionError =============================== warnings summary =============================== tests/pyzabbix/test_types.py: 27 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_zabbix-cli/build/zabbix_cli/pyzabbix/types.py:244: PydanticDeprecatedSince211: Accessing the 'model_computed_fields' attribute on the instance is deprecated. Instead, you should access this attribute from the model class. Deprecated in Pydantic V2.11 to be removed in V3.0. exclude=set(self.model_computed_fields), tests/test_app.py: 2 warnings tests/test_config.py: 399 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_zabbix-cli/build/zabbix_cli/config/utils.py:109: PydanticDeprecatedSince211: Accessing the 'model_fields' attribute on the instance is deprecated. Instead, you should access this attribute from the model class. Deprecated in Pydantic V2.11 to be removed in V3.0. f = model.model_fields.get(field_name) 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.14_zabbix-cli/build/zabbix_cli/auth.py:696: 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.14_zabbix-cli/build/zabbix_cli/auth.py:697: DeprecationWarning: deprecated paths.insert(0, config.app.auth_token_file) tests/test_config.py: 805 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_zabbix-cli/build/zabbix_cli/config/utils.py:131: PydanticDeprecatedSince211: Accessing the 'model_fields' attribute on the instance is deprecated. Instead, you should access this attribute from the model class. Deprecated in Pydantic V2.11 to be removed in V3.0. field = model.model_fields.get(field_name) tests/test_config.py: 174 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_zabbix-cli/build/zabbix_cli/config/utils.py:137: DeprecationWarning: deprecated value = getattr(model, field_name) tests/test_models.py: 25 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_zabbix-cli/build/zabbix_cli/models.py:124: PydanticDeprecatedSince211: Accessing the 'model_fields' attribute on the instance is deprecated. Instead, you should access this attribute from the model class. Deprecated in Pydantic V2.11 to be removed in V3.0. **self.model_fields, tests/test_models.py: 25 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_zabbix-cli/build/zabbix_cli/models.py:125: PydanticDeprecatedSince211: Accessing the 'model_computed_fields' attribute on the instance is deprecated. Instead, you should access this attribute from the model class. Deprecated in Pydantic V2.11 to be removed in V3.0. **self.model_computed_fields, tests/test_models.py: 10 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_zabbix-cli/build/zabbix_cli/models.py:106: PydanticDeprecatedSince211: Accessing the 'model_fields' attribute on the instance is deprecated. Instead, you should access this attribute from the model class. Deprecated in Pydantic V2.11 to be removed in V3.0. f = self.model_fields.get(field, None) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ 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... = 1 failed, 313 passed, 2 skipped, 6 xfailed, 1470 warnings, 1 error in 2.48s == E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_zabbix-cli/build; python3.14 -m pytest --inline-snapshot=report dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.14 --test-args=--inline-snapshot=report --parallel=2 returned exit code 13 make[1]: *** [debian/rules:9: override_dh_auto_test] Error 25 make[1]: Leaving directory '/<<PKGBUILDDIR>>' make: *** [debian/rules:6: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2 --------------------------------------------------------------------------------

