1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6 python,
7 pythonAtLeast,
8}:
9
10buildPythonPackage rec {
11 pname = "asynctest";
12 version = "0.13.0";
13 format = "setuptools";
14
15 # Unmaintained and incompatible python 3.11
16 disabled = pythonAtLeast "3.11";
17
18 src = fetchPypi {
19 inherit pname version;
20 sha256 = "1b3zsy7p84gag6q8ai2ylyrhx213qdk2h2zb6im3xn0m5n264y62";
21 };
22
23 postPatch = ''
24 # Skip failing test, probably caused by file system access
25 substituteInPlace test/test_selector.py \
26 --replace "test_events_watched_outside_test_are_ignored" "xtest_events_watched_outside_test_are_ignored"
27 '';
28
29 # https://github.com/Martiusweb/asynctest/issues/132
30 doCheck = pythonOlder "3.7";
31
32 checkPhase = ''
33 ${python.interpreter} -m unittest test
34 '';
35
36 meta = with lib; {
37 description = "Enhance the standard unittest package with features for testing asyncio libraries";
38 homepage = "https://github.com/Martiusweb/asynctest";
39 license = licenses.asl20;
40 maintainers = with maintainers; [ dotlambda ];
41 };
42}