Merge pull request #84223 from drewrisinger/dr-pr-python-uvloop-fix
python3Packages.uvloop: enable on python3.8
This commit is contained in:
commit
72f784bf71
1 changed files with 35 additions and 10 deletions
|
@ -6,16 +6,17 @@
|
|||
, libuv
|
||||
, psutil
|
||||
, isPy27
|
||||
, pythonAtLeast
|
||||
, CoreServices
|
||||
, ApplicationServices
|
||||
# Check Inputs
|
||||
, pytestCheckHook
|
||||
# , pytest-asyncio
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "uvloop";
|
||||
version = "0.14.0";
|
||||
# python 3.8 hangs on tests, assuming it's subtly broken with race condition
|
||||
disabled = isPy27 || pythonAtLeast "3.8";
|
||||
disabled = isPy27;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
|
@ -28,20 +29,44 @@ buildPythonPackage rec {
|
|||
libuv
|
||||
] ++ lib.optionals stdenv.isDarwin [ CoreServices ApplicationServices ];
|
||||
|
||||
postPatch = ''
|
||||
# Removing code linting tests, which we don't care about
|
||||
rm tests/test_sourcecode.py
|
||||
'';
|
||||
pythonImportsCheck = [
|
||||
"uvloop"
|
||||
"uvloop.loop"
|
||||
];
|
||||
|
||||
checkInputs = [ pyopenssl psutil ];
|
||||
dontUseSetuptoolsCheck = true;
|
||||
checkInputs = [ pytestCheckHook pyopenssl psutil ];
|
||||
|
||||
pytestFlagsArray = [
|
||||
# from pytest.ini, these are NECESSARY to prevent failures
|
||||
"--capture=no"
|
||||
"--assert=plain"
|
||||
"--tb=native"
|
||||
# ignore code linting tests
|
||||
"--ignore=tests/test_sourcecode.py"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
"test_sock_cancel_add_reader_race" # asyncio version of test is supposed to be skipped but skip doesn't happen. uvloop version runs fine
|
||||
];
|
||||
|
||||
# force using installed/compiled uvloop vs source by moving tests to temp dir
|
||||
preCheck = ''
|
||||
export TEST_DIR=$(mktemp -d)
|
||||
cp -r tests $TEST_DIR
|
||||
pushd $TEST_DIR
|
||||
'';
|
||||
postCheck = ''
|
||||
popd
|
||||
'';
|
||||
|
||||
# Some of the tests use localhost networking.
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fast implementation of asyncio event loop on top of libuv";
|
||||
homepage = https://github.com/MagicStack/uvloop;
|
||||
homepage = "https://github.com/MagicStack/uvloop";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
maintainers = with maintainers; [ costrouc ];
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue