1{
2 lib,
3 fetchPypi,
4 buildPythonPackage,
5 execnet,
6 pytest,
7 setuptools-scm,
8 pytest-forked,
9 filelock,
10 psutil,
11 six,
12 isPy3k,
13}:
14
15buildPythonPackage rec {
16 pname = "pytest-xdist";
17 version = "1.34.0";
18 format = "setuptools";
19
20 src = fetchPypi {
21 inherit pname version;
22 sha256 = "1vh4ps32lp5ignch5adbl3pgchvigdfmrl6qpmhxih54wa1qw3il";
23 };
24
25 nativeBuildInputs = [
26 setuptools-scm
27 pytest
28 ];
29 nativeCheckInputs = [
30 pytest
31 filelock
32 ];
33 propagatedBuildInputs = [
34 execnet
35 pytest-forked
36 psutil
37 six
38 ];
39
40 # Encountered a memory leak
41 # https://github.com/pytest-dev/pytest-xdist/issues/462
42 doCheck = !isPy3k;
43
44 checkPhase = ''
45 # Excluded tests access file system
46 py.test testing -k "not test_distribution_rsyncdirs_example \
47 and not test_rsync_popen_with_path \
48 and not test_popen_rsync_subdir \
49 and not test_init_rsync_roots \
50 and not test_rsyncignore"
51 '';
52
53 meta = with lib; {
54 description = "py.test xdist plugin for distributed testing and loop-on-failing modes";
55 homepage = "https://github.com/pytest-dev/pytest-xdist";
56 license = licenses.mit;
57 maintainers = with maintainers; [ dotlambda ];
58 };
59}