Package: src:python-uvicorn Version: 0.32.0-2 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 --with mkdocs,python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules execute_after_dh_clean make[1]: Entering directory '/<<PKGBUILDDIR>>' rm -rf /<<PKGBUILDDIR>>/html make[1]: Leaving directory '/<<PKGBUILDDIR>>' debian/rules binary dh binary --with mkdocs,python3 --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild [... snipped ...] tests/supervisors/test_multiprocess.py::test_multiprocess_health_check INFO: Started parent process [6369] INFO: Received SIGINT, exiting. INFO: Terminated child process [6423] INFO: Terminated child process [6425] INFO: Waiting for child process [6423] INFO: Waiting for child process [6425] INFO: Stopping parent process [6369] INFO: Waiting for child process [6424] INFO: Child process [6424] died INFO: Waiting for child process [6435] INFO: Received SIGINT, exiting. INFO: Terminated child process [6435] INFO: Terminated child process [6426] INFO: Waiting for child process [6435] INFO: Waiting for child process [6426] INFO: Stopping parent process [6369] INFO: Waiting for child process [6426] PASSED tests/supervisors/test_multiprocess.py::test_multiprocess_sigterm INFO: Started parent process [6369] INFO: Waiting for child process [6462] INFO: Received SIGTERM, exiting. INFO: Terminated child process [6462] INFO: Terminated child process [6463] INFO: Waiting for child process [6462] INFO: Waiting for child process [6463] PASSEDINFO: Waiting for child process [6463] INFO: Stopping parent process [6369] tests/supervisors/test_multiprocess.py::test_multiprocess_sigbreak SKIPPED tests/supervisors/test_multiprocess.py::test_multiprocess_sighup INFO: Started parent process [6369] INFO: Received SIGHUP, restarting processes. INFO: Terminated child process [6471] INFO: Waiting for child process [6471] INFO: Terminated child process [6472] INFO: Waiting for child process [6472] INFO: Waiting for child process [6479] INFO: Received SIGINT, exiting. INFO: Terminated child process [6479] INFO: Terminated child process [6480] INFO: Waiting for child process [6479] INFO: Waiting for child process [6480] PASSED tests/supervisors/test_multiprocess.py::test_multiprocess_sigttin INFO: Waiting for child process [6480] INFO: Stopping parent process [6369] INFO: Started parent process [6369] INFO: Received SIGTTIN, increasing the number of processes. INFO: Waiting for child process [6488] INFO: Received SIGINT, exiting. INFO: Terminated child process [6488] INFO: Terminated child process [6489] INFO: Terminated child process [6496] INFO: Waiting for child process [6488] INFO: Waiting for child process [6489] INFO: Waiting for child process [6489] INFO: Waiting for child process [6496] PASSED tests/supervisors/test_multiprocess.py::test_multiprocess_sigttou INFO: Waiting for child process [6496] INFO: Stopping parent process [6369] INFO: Started parent process [6369] INFO: Received SIGTTOU, decreasing number of processes. INFO: Terminated child process [6500] INFO: Waiting for child process [6500] INFO: Received SIGTTOU, decreasing number of processes. INFO: Already reached one process, cannot decrease the number of processes anymore. INFO: Waiting for child process [6499] INFO: Received SIGINT, exiting. INFO: Terminated child process [6499] INFO: Waiting for child process [6499] INFO: Stopping parent process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_reloader_should_initialize[StatReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] INFO: Started reloader process [6369] using StatReload INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_reloader_should_initialize[None] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_reloader_should_initialize[WatchFilesReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] INFO: Started reloader process [6369] using WatchFiles INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_reload_when_python_file_is_changed[StatReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] INFO: Started reloader process [6369] using StatReload INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_reload_when_python_file_is_changed[None] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_reload_when_python_file_is_changed[WatchFilesReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] INFO: Started reloader process [6369] using WatchFiles INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_reload_when_python_file_in_subdir_is_changed[StatReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] INFO: Started reloader process [6369] using StatReload INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_reload_when_python_file_in_subdir_is_changed[None] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_reload_when_python_file_in_subdir_is_changed[WatchFilesReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] INFO: Started reloader process [6369] using WatchFiles INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_python_file_in_excluded_subdir_is_changed[WatchFilesReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] INFO: Started reloader process [6369] using WatchFiles INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_python_file_in_excluded_subdir_is_changed[None] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_reload_when_pattern_matched_file_is_changed[StatReload-False] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] WARNING: --reload-include and --reload-exclude have no effect unless watchfiles is installed. INFO: Started reloader process [6369] using StatReload INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_reload_when_pattern_matched_file_is_changed[WatchFilesReload-True] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] INFO: Started reloader process [6369] using WatchFiles INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_exclude_pattern_match_file_is_changed[WatchFilesReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0/.dotted_dir', '/tmp/pytest-of-buildd/pytest-0/reload_directory0/app', '/tmp/pytest-of-buildd/pytest-0/reload_directory0/app_first', '/tmp/pytest-of-buildd/pytest-0/reload_directory0/app_second', '/tmp/pytest-of-buildd/pytest-0/reload_directory0/app_third', '/tmp/pytest-of-buildd/pytest-0/reload_directory0/ext'] INFO: Started reloader process [6369] using WatchFiles INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_exclude_pattern_match_file_is_changed[None] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_dot_file_is_changed[StatReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] INFO: Started reloader process [6369] using StatReload INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_dot_file_is_changed[None] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_dot_file_is_changed[WatchFilesReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] INFO: Started reloader process [6369] using WatchFiles INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_reload_when_directories_have_same_prefix[StatReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0/app', '/tmp/pytest-of-buildd/pytest-0/reload_directory0/app_first'] INFO: Started reloader process [6369] using StatReload INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_reload_when_directories_have_same_prefix[None] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_reload_when_directories_have_same_prefix[WatchFilesReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0/app', '/tmp/pytest-of-buildd/pytest-0/reload_directory0/app_first'] INFO: Started reloader process [6369] using WatchFiles INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_only_subdirectory_is_watched[StatReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0/app'] INFO: Started reloader process [6369] using StatReload INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_only_subdirectory_is_watched[None] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_only_subdirectory_is_watched[WatchFilesReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0/app'] INFO: Started reloader process [6369] using WatchFiles INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_override_defaults[WatchFilesReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] INFO: Started reloader process [6369] using WatchFiles INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_override_defaults[None] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_explicit_paths[WatchFilesReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] INFO: Started reloader process [6369] using WatchFiles INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_explicit_paths[None] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_watchfiles_no_changes[WatchFilesReload] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] INFO: Started reloader process [6369] using WatchFiles INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_detect_new_reload_dirs[None] SKIPPED tests/supervisors/test_reload.py::test_should_watch_one_dir_cwd INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0/app', '/tmp/pytest-of-buildd/pytest-0/reload_directory0/app_first'] PASSED tests/supervisors/test_reload.py::test_should_watch_separate_dirs_outside_cwd INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0/app', '/tmp/pytest-of-buildd/pytest-0/reload_directory0/app_first'] PASSED tests/supervisors/test_reload.py::test_display_path_relative PASSED tests/supervisors/test_reload.py::test_display_path_non_relative PASSED tests/supervisors/test_reload.py::test_base_reloader_run INFO: Will watch for changes in these directories: ['/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build'] WARNING: None detected changes in '/tmp/pytest-of-buildd/pytest-0/test_base_reloader_run0/foobar.py'. Reloading... PASSED tests/supervisors/test_reload.py::test_base_reloader_should_exit INFO: Will watch for changes in these directories: ['/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build'] PASSED tests/supervisors/test_reload.py::test_base_reloader_closes_sockets_on_shutdown INFO: Will watch for changes in these directories: ['/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build'] INFO: Started reloader process [6369] using None INFO: Stopping reloader process [6369] PASSED tests/supervisors/test_signal.py::test_sigint_deny_request_after_triggered INFO: Started server process [6369] INFO: Waiting for application startup. INFO: ASGI 'lifespan' protocol appears unsupported. INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:35319 (Press CTRL+C to quit) INFO: Shutting down INFO: Finished server process [6369] INFO: Shutting down PASSED tests/test_auto_detection.py::test_loop_auto PASSED tests/test_auto_detection.py::test_http_auto PASSED tests/test_cli.py::test_cli_print_version PASSED tests/test_cli.py::test_cli_headers PASSED tests/test_cli.py::test_cli_call_server_run PASSED tests/test_cli.py::test_cli_call_change_reload_run PASSED tests/test_cli.py::test_cli_call_multiprocess_run PASSED tests/test_cli.py::test_cli_uds[True] PASSED tests/test_cli.py::test_cli_uds[False] PASSED tests/test_cli.py::test_cli_incomplete_app_parameter PASSED tests/test_cli.py::test_cli_event_size PASSED tests/test_cli.py::test_env_variables[h11] PASSED tests/test_cli.py::test_env_variables[httptools] PASSED tests/test_cli.py::test_ignore_environment_variable_when_set_on_cli PASSED tests/test_cli.py::test_app_dir PASSED tests/test_cli.py::test_set_app_via_environment_variable PASSED tests/test_config.py::test_config_should_reload_is_set[asgi_app-False] PASSED tests/test_config.py::test_config_should_reload_is_set[tests.test_config:asgi_app-True] INFO: Will watch for changes in these directories: ['/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build'] PASSED tests/test_config.py::test_should_warn_on_invalid_reload_configuration WARNING: Current configuration will not reload as not all conditions are met, please refer to documentation. WARNING: Current configuration will not reload as not all conditions are met, please refer to documentation. PASSED tests/test_config.py::test_reload_dir_is_set INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0/app'] INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0/app'] PASSED tests/test_config.py::test_non_existant_reload_dir_is_not_set WARNING: Provided reload directories ['reload'] did not contain valid directories, watching current working directory. INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] PASSED tests/test_config.py::test_reload_subdir_removal INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] PASSED tests/test_config.py::test_reload_included_dir_is_added_to_reload_dirs INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0/app', '/tmp/pytest-of-buildd/pytest-0/reload_directory0/ext'] PASSED tests/test_config.py::test_reload_dir_subdirectories_are_removed INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0/app', '/tmp/pytest-of-buildd/pytest-0/reload_directory0/ext'] PASSED tests/test_config.py::test_reload_excluded_subdirectories_are_removed INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0'] PASSED tests/test_config.py::test_reload_includes_exclude_dir_patterns_are_matched INFO: Will watch for changes in these directories: ['/tmp/pytest-of-buildd/pytest-0/reload_directory0/app_first/src', '/tmp/pytest-of-buildd/pytest-0/reload_directory0/app_second/src'] PASSED tests/test_config.py::test_wsgi_app PASSED tests/test_config.py::test_proxy_headers PASSED tests/test_config.py::test_app_unimportable_module PASSED tests/test_config.py::test_app_unimportable_other ERROR: Error loading ASGI app. Attribute "app" not found in module "tests.test_config". PASSED tests/test_config.py::test_app_factory WARNING: ASGI app factory detected. Using it, but please consider setting the --factory flag explicitly. ERROR: Error loading ASGI app factory: asgi_app() missing 3 required positional arguments: 'scope', 'receive', and 'send' PASSED tests/test_config.py::test_concrete_http_class PASSED tests/test_config.py::test_ssl_config PASSED tests/test_config.py::test_ssl_config_combined PASSED tests/test_config.py::test_asgi_version[asgi_app-3.0] PASSED tests/test_config.py::test_asgi_version[asgi2_app-2.0] PASSED tests/test_config.py::test_log_config_default[use_colors_not_provided] PASSED tests/test_config.py::test_log_config_default[use_colors_invalid_value] PASSED tests/test_config.py::test_log_config_default[use_colors_enabled] PASSED tests/test_config.py::test_log_config_default[use_colors_disabled] PASSED tests/test_config.py::test_log_config_json PASSED tests/test_config.py::test_log_config_yaml[log_config.yml] PASSED tests/test_config.py::test_log_config_yaml[log_config.yaml] PASSED tests/test_config.py::test_log_config_file[log_config.ini] PASSED tests/test_config.py::test_log_config_file[config_file1] PASSED tests/test_config.py::test_log_config_file[config_file2] PASSED tests/test_config.py::test_env_file[0-127.0.0.1] INFO: Loading environment from '/tmp/pytest-of-buildd/pytest-0/test_env_file_0_127_0_0_1_0/.env' PASSED tests/test_config.py::test_env_file[0-127.0.0.2] INFO: Loading environment from '/tmp/pytest-of-buildd/pytest-0/test_env_file_0_127_0_0_2_0/.env' PASSED tests/test_config.py::test_env_file[1-127.0.0.1] INFO: Loading environment from '/tmp/pytest-of-buildd/pytest-0/test_env_file_1_127_0_0_1_0/.env' PASSED tests/test_config.py::test_env_file[1-127.0.0.2] INFO: Loading environment from '/tmp/pytest-of-buildd/pytest-0/test_env_file_1_127_0_0_2_0/.env' PASSED tests/test_config.py::test_config_access_log[access log enabled should have single handler] PASSED tests/test_config.py::test_config_access_log[access log disabled shouldn't have handlers] PASSED tests/test_config.py::test_config_log_level[5] PASSED tests/test_config.py::test_config_log_level[10] PASSED tests/test_config.py::test_config_log_level[20] PASSED tests/test_config.py::test_config_log_level[30] PASSED tests/test_config.py::test_config_log_level[40] PASSED tests/test_config.py::test_config_log_level[50] PASSED tests/test_config.py::test_config_log_effective_level[0-None] PASSED tests/test_config.py::test_config_log_effective_level[0-0] PASSED tests/test_config.py::test_config_log_effective_level[0-5] PASSED tests/test_config.py::test_config_log_effective_level[0-10] PASSED tests/test_config.py::test_config_log_effective_level[0-20] PASSED tests/test_config.py::test_config_log_effective_level[0-30] PASSED tests/test_config.py::test_config_log_effective_level[0-40] PASSED tests/test_config.py::test_config_log_effective_level[0-50] PASSED tests/test_config.py::test_config_log_effective_level[5-None] PASSED tests/test_config.py::test_config_log_effective_level[5-0] PASSED tests/test_config.py::test_config_log_effective_level[5-5] PASSED tests/test_config.py::test_config_log_effective_level[5-10] PASSED tests/test_config.py::test_config_log_effective_level[5-20] PASSED tests/test_config.py::test_config_log_effective_level[5-30] PASSED tests/test_config.py::test_config_log_effective_level[5-40] PASSED tests/test_config.py::test_config_log_effective_level[5-50] PASSED tests/test_config.py::test_config_log_effective_level[10-None] PASSED tests/test_config.py::test_config_log_effective_level[10-0] PASSED tests/test_config.py::test_config_log_effective_level[10-5] PASSED tests/test_config.py::test_config_log_effective_level[10-10] PASSED tests/test_config.py::test_config_log_effective_level[10-20] PASSED tests/test_config.py::test_config_log_effective_level[10-30] PASSED tests/test_config.py::test_config_log_effective_level[10-40] PASSED tests/test_config.py::test_config_log_effective_level[10-50] PASSED tests/test_config.py::test_config_log_effective_level[20-None] PASSED tests/test_config.py::test_config_log_effective_level[20-0] PASSED tests/test_config.py::test_config_log_effective_level[20-5] PASSED tests/test_config.py::test_config_log_effective_level[20-10] PASSED tests/test_config.py::test_config_log_effective_level[20-20] PASSED tests/test_config.py::test_config_log_effective_level[20-30] PASSED tests/test_config.py::test_config_log_effective_level[20-40] PASSED tests/test_config.py::test_config_log_effective_level[20-50] PASSED tests/test_config.py::test_config_log_effective_level[30-None] PASSED tests/test_config.py::test_config_log_effective_level[30-0] PASSED tests/test_config.py::test_config_log_effective_level[30-5] PASSED tests/test_config.py::test_config_log_effective_level[30-10] PASSED tests/test_config.py::test_config_log_effective_level[30-20] PASSED tests/test_config.py::test_config_log_effective_level[30-30] PASSED tests/test_config.py::test_config_log_effective_level[30-40] PASSED tests/test_config.py::test_config_log_effective_level[30-50] PASSED tests/test_config.py::test_config_log_effective_level[40-None] PASSED tests/test_config.py::test_config_log_effective_level[40-0] PASSED tests/test_config.py::test_config_log_effective_level[40-5] PASSED tests/test_config.py::test_config_log_effective_level[40-10] PASSED tests/test_config.py::test_config_log_effective_level[40-20] PASSED tests/test_config.py::test_config_log_effective_level[40-30] PASSED tests/test_config.py::test_config_log_effective_level[40-40] PASSED tests/test_config.py::test_config_log_effective_level[40-50] PASSED tests/test_config.py::test_config_log_effective_level[50-None] PASSED tests/test_config.py::test_config_log_effective_level[50-0] PASSED tests/test_config.py::test_config_log_effective_level[50-5] PASSED tests/test_config.py::test_config_log_effective_level[50-10] PASSED tests/test_config.py::test_config_log_effective_level[50-20] PASSED tests/test_config.py::test_config_log_effective_level[50-30] PASSED tests/test_config.py::test_config_log_effective_level[50-40] PASSED tests/test_config.py::test_config_log_effective_level[50-50] PASSED tests/test_config.py::test_ws_max_size PASSED tests/test_config.py::test_ws_max_queue PASSED tests/test_config.py::test_bind_unix_socket_works_with_reload_or_workers[--reload=True --workers=1] INFO: Uvicorn running on unix socket /tmp/pytest-of-buildd/pytest-0/p-o3jkxpxa-da6e00c483712f95ed248b7da6041c0f/my.sock (Press CTRL+C to quit) PASSED tests/test_config.py::test_bind_unix_socket_works_with_reload_or_workers[--reload=False --workers=2] INFO: Uvicorn running on unix socket /tmp/pytest-of-buildd/pytest-0/p-z7l5ied1-da6e00c483712f95ed248b7da6041c0f/my.sock (Press CTRL+C to quit) PASSED tests/test_config.py::test_bind_fd_works_with_reload_or_workers[--reload=True --workers=1] INFO: Uvicorn running on socket (Press CTRL+C to quit) PASSED tests/test_config.py::test_bind_fd_works_with_reload_or_workers[--reload=False --workers=2] INFO: Uvicorn running on socket (Press CTRL+C to quit) PASSED tests/test_config.py::test_config_use_subprocess[--reload=True --workers=1] PASSED tests/test_config.py::test_config_use_subprocess[--reload=False --workers=2] PASSED tests/test_config.py::test_config_use_subprocess[--reload=False --workers=1] PASSED tests/test_config.py::test_warn_when_using_reload_and_workers WARNING: "workers" flag is ignored when reloading is enabled. PASSED tests/test_lifespan.py::test_lifespan_on INFO: Waiting for application startup. INFO: Application startup complete. INFO: Waiting for application shutdown. INFO: Application shutdown complete. PASSED tests/test_lifespan.py::test_lifespan_off PASSED tests/test_lifespan.py::test_lifespan_auto INFO: Waiting for application startup. INFO: Application startup complete. INFO: Waiting for application shutdown. INFO: Application shutdown complete. PASSED tests/test_lifespan.py::test_lifespan_auto_with_error INFO: Waiting for application startup. INFO: ASGI 'lifespan' protocol appears unsupported. INFO: Application startup complete. PASSED tests/test_lifespan.py::test_lifespan_on_with_error INFO: Waiting for application startup. ERROR: Exception in 'lifespan' protocol Traceback (most recent call last): File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/uvicorn/lifespan/on.py", line 86, in main await app(scope, self.receive, self.send) File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/uvicorn/middleware/proxy_headers.py", line 29, in __call__ return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/tests/test_lifespan.py", line 113, in app raise RuntimeError() RuntimeError ERROR: Application startup failed. Exiting. PASSED tests/test_lifespan.py::test_lifespan_with_failed_startup[True-auto] INFO: Waiting for application startup. ERROR: the lifespan event failed ERROR: Application startup failed. Exiting. PASSED tests/test_lifespan.py::test_lifespan_with_failed_startup[True-on] INFO: Waiting for application startup. ERROR: the lifespan event failed ERROR: Application startup failed. Exiting. PASSED tests/test_lifespan.py::test_lifespan_with_failed_startup[False-auto] INFO: Waiting for application startup. ERROR: the lifespan event failed ERROR: Application startup failed. Exiting. INFO: Waiting for application shutdown. INFO: Application shutdown complete. PASSED tests/test_lifespan.py::test_lifespan_with_failed_startup[False-on] INFO: Waiting for application startup. ERROR: the lifespan event failed ERROR: Application startup failed. Exiting. INFO: Waiting for application shutdown. INFO: Application shutdown complete. PASSED tests/test_lifespan.py::test_lifespan_scope_asgi3app INFO: Waiting for application startup. INFO: Application startup complete. INFO: Waiting for application shutdown. INFO: Application shutdown complete. PASSED tests/test_lifespan.py::test_lifespan_scope_asgi2app INFO: Waiting for application startup. INFO: Application startup complete. INFO: Waiting for application shutdown. INFO: Application shutdown complete. PASSED tests/test_lifespan.py::test_lifespan_with_failed_shutdown[True-auto] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Waiting for application shutdown. ERROR: the lifespan event failed ERROR: Application shutdown failed. Exiting. PASSED tests/test_lifespan.py::test_lifespan_with_failed_shutdown[True-on] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Waiting for application shutdown. ERROR: the lifespan event failed ERROR: Application shutdown failed. Exiting. PASSED tests/test_lifespan.py::test_lifespan_with_failed_shutdown[False-auto] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Waiting for application shutdown. ERROR: the lifespan event failed ERROR: Application shutdown failed. Exiting. PASSED tests/test_lifespan.py::test_lifespan_with_failed_shutdown[False-on] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Waiting for application shutdown. ERROR: the lifespan event failed ERROR: Application shutdown failed. Exiting. PASSED tests/test_lifespan.py::test_lifespan_state INFO: Waiting for application startup. INFO: Application startup complete. INFO: Waiting for application shutdown. INFO: Application shutdown complete. PASSED tests/test_main.py::test_exit_on_create_server_with_invalid_host INFO: Started server process [6369] INFO: Waiting for application startup. INFO: ASGI 'lifespan' protocol appears unsupported. INFO: Application startup complete. ERROR: [Errno -2] Name or service not known PASSED tests/test_subprocess.py::test_get_subprocess PASSED tests/test_subprocess.py::test_subprocess_started PASSED =================================== FAILURES =================================== _______________________ test_wsgi_post[_WSGIMiddleware] ________________________ wsgi_middleware = <class 'uvicorn.middleware.wsgi._WSGIMiddleware'> @pytest.mark.anyio async def test_wsgi_post(wsgi_middleware: Callable) -> None: transport = httpx.ASGITransport(wsgi_middleware(echo_body)) async with httpx.AsyncClient(transport=transport, base_url="http://testserver") as client: response = await client.post("/", json={"example": 123}) assert response.status_code == 200 > assert response.text == '{"example": 123}' E assert '{"example":123}' == '{"example": 123}' E E - {"example": 123} E ? - E + {"example":123} tests/middleware/test_wsgi.py:75: AssertionError ________________________ test_wsgi_post[WSGIMiddleware] ________________________ wsgi_middleware = <class 'a2wsgi.wsgi.WSGIMiddleware'> @pytest.mark.anyio async def test_wsgi_post(wsgi_middleware: Callable) -> None: transport = httpx.ASGITransport(wsgi_middleware(echo_body)) async with httpx.AsyncClient(transport=transport, base_url="http://testserver") as client: response = await client.post("/", json={"example": 123}) assert response.status_code == 200 > assert response.text == '{"example": 123}' E assert '{"example":123}' == '{"example": 123}' E E - {"example": 123} E ? - E + {"example":123} tests/middleware/test_wsgi.py:75: AssertionError =========================== short test summary info ============================ SKIPPED [1] tests/supervisors/test_multiprocess.py:110: platform unsupports SIGBREAK SKIPPED [1] tests/supervisors/test_reload.py:76: Needed dependency not installed SKIPPED [1] tests/supervisors/test_reload.py:89: Needed dependency not installed SKIPPED [1] tests/supervisors/test_reload.py:102: Needed dependency not installed SKIPPED [1] tests/supervisors/test_reload.py:114: Needed dependency not installed SKIPPED [1] tests/supervisors/test_reload.py:143: Needed dependency not installed SKIPPED [1] tests/supervisors/test_reload.py:170: Needed dependency not installed SKIPPED [1] tests/supervisors/test_reload.py:182: Needed dependency not installed SKIPPED [1] tests/supervisors/test_reload.py:202: Needed dependency not installed SKIPPED [1] tests/supervisors/test_reload.py:227: Needed dependency not installed SKIPPED [1] tests/supervisors/test_reload.py:255: Needed dependency not installed SKIPPED [1] tests/supervisors/test_reload.py:310: Needed dependency not installed ========== 2 failed, 569 passed, 12 skipped, 41 deselected in 23.20s =========== E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest -s --verbose -k 'not test_run and not test_invalid_upgrade and not test_default_headers and not test_trace_logging and not test_websocket_auto and not test_socket_bind and not test_access_logging and not test_default_logging and not test_server_interrupt and not test_unknown_status_code and not test_sigint_finish_req and not test_sigint_abort_req and not test_request_than_limit_max_requests_warn_log[h11] and not test_request_than_limit_max_requests_warn_log[httptools]' --ignore=tests/protocols/test_websocket.py dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13 make: *** [debian/rules:10: 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/202503/ 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:python-uvicorn, so that this is still visible in the BTS web page for this package. Thanks.