1{ lib
2, buildPythonPackage
3, fetchPypi
4, makefun
5, decopatch
6, pythonOlder
7, pytest
8, setuptools-scm
9}:
10
11buildPythonPackage rec {
12 pname = "pytest-cases";
13 version = "3.4.6";
14 disabled = pythonOlder "3.6";
15
16 src = fetchPypi {
17 inherit pname version;
18 sha256 = "17w4s6622i97q81g15zamqm536ib00grgdfk2f4kk9bw2k7sdlq6";
19 };
20
21 nativeBuildInputs = [
22 setuptools-scm
23 ];
24
25 buildInputs = [
26 pytest
27 ];
28
29 propagatedBuildInputs = [
30 decopatch
31 makefun
32 ];
33
34 postPatch = ''
35 substituteInPlace setup.cfg --replace "pytest-runner" ""
36 '';
37
38 # Tests have dependencies (pytest-harvest, pytest-steps) which
39 # are not available in Nixpkgs. Most of the packages (decopatch,
40 # makefun, pytest-*) have circular dependecies.
41 doCheck = false;
42
43 pythonImportsCheck = [ "pytest_cases" ];
44
45 meta = with lib; {
46 description = "Separate test code from test cases in pytest";
47 homepage = "https://github.com/smarie/python-pytest-cases";
48 license = licenses.bsd3;
49 maintainers = with maintainers; [ fab ];
50 };
51}