diff options
Diffstat (limited to 'pkgs/development/python-modules/aiocache/default.nix')
-rw-r--r-- | pkgs/development/python-modules/aiocache/default.nix | 54 |
1 files changed, 50 insertions, 4 deletions
diff --git a/pkgs/development/python-modules/aiocache/default.nix b/pkgs/development/python-modules/aiocache/default.nix index fd4e5f3a154a3..5d78252791b30 100644 --- a/pkgs/development/python-modules/aiocache/default.nix +++ b/pkgs/development/python-modules/aiocache/default.nix @@ -1,8 +1,15 @@ { lib +, aiohttp +, aiomcache , buildPythonPackage , fetchFromGitHub +, marshmallow , msgpack +, pkgs , pythonOlder +, pytest-asyncio +, pytest-mock +, pytestCheckHook , redis , setuptools }: @@ -21,21 +28,60 @@ buildPythonPackage rec { hash = "sha256-yvXDNJL8uxReaU81klVWudJwh1hmvg5GeeILcNpm/YA="; }; - nativeBuildInputs = [ + postPatch = '' + substituteInPlace setup.cfg \ + --replace-fail "--cov=aiocache --cov=tests/ --cov-report term" "" + ''; + + build-system = [ setuptools ]; - passthru.optional-dependencies = { + optional-dependencies = { redis = [ redis ]; + memcached = [ + aiomcache + ]; msgpack = [ msgpack ]; }; - # aiomcache would be required but last release was in 2017 - doCheck = false; + nativeCheckInputs = [ + aiohttp + marshmallow + pytest-asyncio + pytest-mock + pytestCheckHook + ] ++ lib.flatten (lib.attrValues optional-dependencies); + + pytestFlagsArray = [ + "-W" "ignore::DeprecationWarning" + # TypeError: object MagicMock can't be used in 'await' expression + "--deselect=tests/ut/backends/test_redis.py::TestRedisBackend::test_close" + ]; + + disabledTests = [ + # calls apache benchmark and fails, no usable output + "test_concurrency_error_rates" + ]; + + preCheck = '' + ${lib.getBin pkgs.redis}/bin/redis-server & + REDIS_PID=$! + + ${lib.getBin pkgs.memcached}/bin/memcached & + MEMCACHED_PID=$! + ''; + + postCheck = '' + kill $REDIS_PID + kill $MEMCACHED_PID + ''; + + __darwinAllowLocalNetworking = true; pythonImportsCheck = [ "aiocache" |