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.

Reply via email to