diff options
author | Martin Weinelt <hexa@darmstadt.ccc.de> | 2024-05-08 10:52:41 +0200 |
---|---|---|
committer | Martin Weinelt <hexa@darmstadt.ccc.de> | 2024-05-08 10:52:41 +0200 |
commit | ab6f01b8f832e275c59696e678653e4d8ddefc76 (patch) | |
tree | 33602b0f6b80a6dfa21dd19b49d13b6f4b87e4e4 | |
parent | 84e7c77c2a31a19fe5a34a8a38a01989363ee868 (diff) |
python312Pacakges.aiocache: enable tests
-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 fd4e5f3a154a..5d78252791b3 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" |