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.6.14";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.6";
17
18 src = fetchPypi {
19 inherit pname version;
20 hash = "sha256-dFXmylelRMG/3YtWrOCMHBzkxlcqiquPG9NR3CWhC2s=";
21 };
22
23 nativeBuildInputs = [
24 setuptools-scm
25 ];
26
27 buildInputs = [
28 pytest
29 ];
30
31 propagatedBuildInputs = [
32 decopatch
33 makefun
34 ];
35
36 postPatch = ''
37 substituteInPlace setup.cfg \
38 --replace "pytest-runner" ""
39 '';
40
41 # Tests have dependencies (pytest-harvest, pytest-steps) which
42 # are not available in Nixpkgs. Most of the packages (decopatch,
43 # makefun, pytest-*) have circular dependencies.
44 doCheck = false;
45
46 pythonImportsCheck = [
47 "pytest_cases"
48 ];
49
50 meta = with lib; {
51 description = "Separate test code from test cases in pytest";
52 homepage = "https://github.com/smarie/python-pytest-cases";
53 changelog = "https://github.com/smarie/python-pytest-cases/releases/tag/${version}";
54 license = licenses.bsd3;
55 maintainers = with maintainers; [ fab ];
56 };
57}