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}