Your message dated Tue, 11 Mar 2025 12:11:13 +0000
with message-id <e1trys1-004svk...@fasolo.debian.org>
and subject line Bug#1099278: fixed in python-uvicorn 0.32.0-3
has caused the Debian Bug report #1099278,
regarding python-uvicorn: FTBFS: E assert '{"example":123}' ==
'{"example": 123}'
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
1099278: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1099278
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
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.
--- End Message ---
--- Begin Message ---
Source: python-uvicorn
Source-Version: 0.32.0-3
Done: Santiago Vila <sanv...@debian.org>
We believe that the bug you reported is fixed in the latest version of
python-uvicorn, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 1099...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Santiago Vila <sanv...@debian.org> (supplier of updated python-uvicorn package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Tue, 11 Mar 2025 12:40:00 +0100
Source: python-uvicorn
Architecture: source
Version: 0.32.0-3
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+pyt...@tracker.debian.org>
Changed-By: Santiago Vila <sanv...@debian.org>
Closes: 1099278
Changes:
python-uvicorn (0.32.0-3) unstable; urgency=medium
.
* Team upload.
[ Sebastiaan Couwenberg ]
* Fix test failures due to changed JSON formatting. Closes: #1099278.
Checksums-Sha1:
74590bc2b892059de4aa7b30ffee60d5fffcfd6b 2338 python-uvicorn_0.32.0-3.dsc
f963bcc643f66943208092ad29c14114a90ad5d1 8176
python-uvicorn_0.32.0-3.debian.tar.xz
4ff2751e72f3ee2f861be468740b967538c489de 8022
python-uvicorn_0.32.0-3_source.buildinfo
Checksums-Sha256:
e652324a1ed848621c5c00b90d14ace3b95e6e481e4ba903748cc54138f950bd 2338
python-uvicorn_0.32.0-3.dsc
47c68f6b83de40c87b581a648e90375f87534a382f8acee08f9265ffbc10bef5 8176
python-uvicorn_0.32.0-3.debian.tar.xz
17658602ea5dfacc87251b6eb2ed38824e4e6a76b42f4ed4092d40d7781af2bf 8022
python-uvicorn_0.32.0-3_source.buildinfo
Files:
ac592df3d9a0630105792f919d9c9312 2338 python optional
python-uvicorn_0.32.0-3.dsc
edca748c6176684b8f84ef04d343ff0e 8176 python optional
python-uvicorn_0.32.0-3.debian.tar.xz
3e05fa3d19a89569234d186194b3f5b4 8022 python optional
python-uvicorn_0.32.0-3_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCgAdFiEE1Uw7+v+wQt44LaXXQc5/C58bizIFAmfQIskACgkQQc5/C58b
izInlgf/TtbVUjN1XrrzRBkKPQNnQnzvNSvUtD0iaOTCeYqTR9FOERh9MSz8sP/v
WExhJuV8Ci0HwIjrNTp4hSKzvXFnAkwyNaLdxVbUn719sJqbDRDh0Riwln8jLu0X
48srdRfG2TcmY61IQRBxtyZ6h8WwYkQVTPkXMZHqZKcEXu87Kk86QElUv3MtXIQ1
88h+diI7IcfJ/UDyf1OAUuw3MmpXiy9NJVL6fKlhC5Nm+gO9owrmtYeZnJbj+KEU
RzpmqrLQn+TRGWKA+6XnOmjtqYuFSNK24pAJWwzlVU8gy4DAWNpD5naqEfCkXA7I
CyzFYwqPKcI8AndAa8MtRXl5mXQX5Q==
=uczo
-----END PGP SIGNATURE-----
pgp2OIdEDy0Y7.pgp
Description: PGP signature
--- End Message ---