pythonPackages.mock: have 3.0.5 for python 2, disable tests python 3

because of circular dependency.
This commit is contained in:
Frederik Rietdijk 2020-05-09 13:15:43 +02:00
parent c7f5c67872
commit a2c93555e7
3 changed files with 55 additions and 2 deletions

View File

@ -0,0 +1,44 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPy27
, funcsigs
, six
, pbr
, python
, pytest
}:
buildPythonPackage rec {
pname = "mock";
version = "3.0.5";
src = fetchPypi {
inherit pname version;
sha256 = "83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3";
};
propagatedBuildInputs = [ six pbr ] ++ lib.optionals isPy27 [ funcsigs ];
# On PyPy for Python 2.7 in particular, Mock's tests have a known failure.
# Mock upstream has a decoration to disable the failing test and make
# everything pass, but it is not yet released. The commit:
# https://github.com/testing-cabal/mock/commit/73bfd51b7185#diff-354f30a63fb0907d4ad57269548329e3L12
#doCheck = !(python.isPyPy && python.isPy27);
doCheck = false; # Infinite recursion pytest
checkPhase = ''
${python.interpreter} -m unittest discover
'';
checkInputs = [
pytest
];
meta = with lib; {
description = "Mock objects for Python";
homepage = "http://python-mock.sourceforge.net/";
license = licenses.bsd2;
};
}

View File

@ -6,6 +6,7 @@
, six
, pbr
, python
, pytest
}:
buildPythonPackage rec {
@ -23,12 +24,17 @@ buildPythonPackage rec {
# Mock upstream has a decoration to disable the failing test and make
# everything pass, but it is not yet released. The commit:
# https://github.com/testing-cabal/mock/commit/73bfd51b7185#diff-354f30a63fb0907d4ad57269548329e3L12
doCheck = !(python.isPyPy && python.isPy27);
#doCheck = !(python.isPyPy && python.isPy27);
doCheck = false; # Infinite recursion pytest
checkPhase = ''
${python.interpreter} -m unittest discover
'';
checkInputs = [
pytest
];
meta = with lib; {
description = "Mock objects for Python";
homepage = "http://python-mock.sourceforge.net/";

View File

@ -4505,7 +4505,10 @@ in {
editorconfig = callPackage ../development/python-modules/editorconfig { };
mock = callPackage ../development/python-modules/mock { };
mock = if pythonOlder "3.6" then
callPackage ../development/python-modules/mock/2.nix { }
else
callPackage ../development/python-modules/mock { };
mock-open = callPackage ../development/python-modules/mock-open { };