python3Packages.sanic: 21.12.1 -> 22.3.2

This commit is contained in:
Martin Weinelt 2022-05-25 23:19:17 +02:00
parent 1fda638640
commit c95ab3cc25
No known key found for this signature in database
GPG Key ID: 87C1E9888F856759

View File

@ -24,32 +24,23 @@
buildPythonPackage rec {
pname = "sanic";
version = "21.12.1";
version = "22.3.2";
format = "setuptools";
disabled = pythonOlder "3.7" ||
pythonAtLeast "3.10"; # see GHSA-7p79-6x2v-5h88
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "sanic-org";
repo = pname;
rev = "v${version}";
sha256 = "0jyl23q7b7fyqzan97qflkqcvmfpzbxbzv0qgygxasrzh80zx67g";
hash = "sha256-4zdPp3X22dfZ5YlW3G5/OqeUxrt+NiFO9dk2XjEKXEg=";
};
postPatch = ''
# Loosen dependency requirements.
substituteInPlace setup.py \
--replace "pytest==6.2.5" "pytest" \
--replace "gunicorn==20.0.4" "gunicorn" \
--replace "multidict>=5.0,<6.0" "multidict"
sed '/pytest-sanic/d' setup.py
# Patch a request headers test to allow brotli encoding
# (we build httpx with brotli support, upstream doesn't).
substituteInPlace tests/test_headers.py \
--replace "deflate\r\n" "deflate, br\r\n"
--replace "gunicorn==20.0.4" "gunicorn"
'';
propagatedBuildInputs = [
@ -66,8 +57,6 @@ buildPythonPackage rec {
beautifulsoup4
gunicorn
pytest-asyncio
pytest-benchmark
pytest-sugar
pytestCheckHook
sanic-testing
uvicorn
@ -95,49 +84,27 @@ buildPythonPackage rec {
];
disabledTests = [
# Lack of uvloop setup through fixtures
"test_create_asyncio_server"
"test_listeners_triggered_async"
"test_tls_options"
# Tests are flaky
# Fails to parse cmdline arguments
"test_dev"
"test_auto_reload"
# OSError: foo
"test_bad_headers"
"test_create_server_trigger_events"
"test_json_body_requests"
"test_missing_startup_raises_exception"
"test_no_body_requests"
"test_oserror_warning"
"test_running_multiple_offset_warning"
"test_streaming_body_requests"
"test_trigger_before_events_create_server"
"test_keep_alive_connection_context"
# Racy tests
"test_keep_alive_client_timeout"
"test_check_timeouts_request_timeout"
"test_check_timeouts_response_timeout"
"test_reloader_live"
"test_zero_downtime"
# Not working from 21.9.1
"test_create_server_main"
"test_create_server_main_convenience"
"test_debug"
"test_auto_reload"
"test_no_exceptions_when_cancel_pending_request"
"test_ipv6_address_is_not_wrapped"
# Failure of the redirect tests seems to be related to httpx>0.20.0
"test_redirect"
"test_chained_redirect"
"test_unix_connection"
# These appear to be very sensitive to output of commands
"test_access_logs"
"test_auto_reload"
"test_host_port"
"test_no_exceptions_when_cancel_pending_request"
"test_num_workers"
"test_server_run"
"test_version"
# Sensitive comparison of raw HTTP header fails
"test_raw_headers"
# noisy_exceptions sometimes missing from sanic stdout
"test_noisy_exceptions"
] ++ lib.optionals (stdenv.hostPlatform.system == "aarch64-linux") [
# test fail on aarch64
"test_tls_wrong_options"
"test_cookie_expires"
"test_gunicorn_worker"
"test_gunicorn_worker_no_logs"
"test_gunicorn_worker_with_logs"
];
disabledTestPaths = [
# We are not interested in benchmarks
"benchmark/"
# unable to create async loop
"test_app.py"
"test_asgi.py"