Merge pull request #176153 from kalekseev/fix/python3Packages.uvloop

This commit is contained in:
Sandro 2022-07-07 15:58:51 +02:00 committed by GitHub
commit 629b931d69
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6,7 +6,7 @@
, libuv , libuv
, CoreServices , CoreServices
, ApplicationServices , ApplicationServices
# Check Inputs # Check Inputs
, aiohttp , aiohttp
, psutil , psutil
, pyopenssl , pyopenssl
@ -34,7 +34,6 @@ buildPythonPackage rec {
checkInputs = [ checkInputs = [
aiohttp aiohttp
pytestCheckHook pytestCheckHook
pyopenssl
psutil psutil
]; ];
@ -46,15 +45,18 @@ buildPythonPackage rec {
"--assert=plain" "--assert=plain"
"--strict" "--strict"
"--tb=native" "--tb=native"
# Depend on pyopenssl
"--deselect tests/test_tcp.py::Test_UV_TCPSSL::test_flush_before_shutdown"
"--deselect tests/test_tcp.py::Test_UV_TCPSSL::test_renegotiation"
] ++ lib.optionals (stdenv.isAarch32 || stdenv.isAarch64) [ ] ++ lib.optionals (stdenv.isAarch32 || stdenv.isAarch64) [
# test gets stuck in epoll_pwait on hydras aarch64 builders # test gets stuck in epoll_pwait on hydras aarch64 builders
# https://github.com/MagicStack/uvloop/issues/412 # https://github.com/MagicStack/uvloop/issues/412
"--deselect" "tests/test_tcp.py::Test_AIO_TCPSSL::test_remote_shutdown_receives_trailing_data" "--deselect tests/test_tcp.py::Test_AIO_TCPSSL::test_remote_shutdown_receives_trailing_data"
] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
# Flaky test: https://github.com/MagicStack/uvloop/issues/412 # Flaky test: https://github.com/MagicStack/uvloop/issues/412
"--deselect" "tests/test_tcp.py::Test_UV_TCPSSL::test_shutdown_timeout_handler_not_set" "--deselect tests/test_tcp.py::Test_UV_TCPSSL::test_shutdown_timeout_handler_not_set"
# Broken: https://github.com/NixOS/nixpkgs/issues/160904 # Broken: https://github.com/NixOS/nixpkgs/issues/160904
"--deselect" "tests/test_context.py::Test_UV_Context::test_create_ssl_server_manual_connection_lost" "--deselect tests/test_context.py::Test_UV_Context::test_create_ssl_server_manual_connection_lost"
]; ];
disabledTestPaths = [ disabledTestPaths = [
@ -66,7 +68,11 @@ buildPythonPackage rec {
# Work around "OSError: AF_UNIX path too long" # Work around "OSError: AF_UNIX path too long"
# https://github.com/MagicStack/uvloop/issues/463 # https://github.com/MagicStack/uvloop/issues/463
export TMPDIR="/tmp" export TMPDIR="/tmp"
'' + '' # pyopenssl is not well supported by upstream
# https://github.com/NixOS/nixpkgs/issues/175875
substituteInPlace tests/test_tcp.py \
--replace "from OpenSSL import SSL as openssl_ssl" ""
'' + ''
# force using installed/compiled uvloop vs source by moving tests to temp dir # force using installed/compiled uvloop vs source by moving tests to temp dir
export TEST_DIR=$(mktemp -d) export TEST_DIR=$(mktemp -d)
cp -r tests $TEST_DIR cp -r tests $TEST_DIR