diff --git a/pkgs/development/python-modules/pytest-cases/default.nix b/pkgs/development/python-modules/pytest-cases/default.nix new file mode 100644 index 00000000000..2914b3cf9aa --- /dev/null +++ b/pkgs/development/python-modules/pytest-cases/default.nix @@ -0,0 +1,51 @@ +{ lib +, buildPythonPackage +, fetchPypi +, makefun +, decopatch +, pythonOlder +, pytest +, setuptools-scm +}: + +buildPythonPackage rec { + pname = "pytest-cases"; + version = "3.4.6"; + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "17w4s6622i97q81g15zamqm536ib00grgdfk2f4kk9bw2k7sdlq6"; + }; + + nativeBuildInputs = [ + setuptools-scm + ]; + + buildInputs = [ + pytest + ]; + + propagatedBuildInputs = [ + decopatch + makefun + ]; + + postPatch = '' + substituteInPlace setup.cfg --replace "pytest-runner" "" + ''; + + # Tests have dependencies (pytest-harvest, pytest-steps) which + # are not available in Nixpkgs. Most of the packages (decopatch, + # makefun, pytest-*) have circular dependecies. + doCheck = false; + + pythonImportsCheck = [ "pytest_cases" ]; + + meta = with lib; { + description = "Separate test code from test cases in pytest"; + homepage = "https://github.com/smarie/python-pytest-cases"; + license = licenses.bsd3; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index cd864d64a26..b1d6831b700 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6267,6 +6267,8 @@ in { pytest-cache = self.pytestcache; # added 2021-01-04 pytestcache = callPackage ../development/python-modules/pytestcache { }; + pytest-cases = callPackage ../development/python-modules/pytest-cases{ }; + pytest-catchlog = callPackage ../development/python-modules/pytest-catchlog { }; pytest-celery = callPackage ../development/python-modules/pytest-celery { };