1{ lib
2, buildPythonPackage
3, fetchPypi
4, isPy27
5, funcsigs
6, six
7, pbr
8, unittestCheckHook
9, pytest
10}:
11
12buildPythonPackage rec {
13 pname = "mock";
14 version = "3.0.5";
15
16 src = fetchPypi {
17 inherit pname version;
18 sha256 = "83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3";
19 };
20
21 propagatedBuildInputs = [ six pbr ] ++ lib.optionals isPy27 [ funcsigs ];
22
23 # On PyPy for Python 2.7 in particular, Mock's tests have a known failure.
24 # Mock upstream has a decoration to disable the failing test and make
25 # everything pass, but it is not yet released. The commit:
26 # https://github.com/testing-cabal/mock/commit/73bfd51b7185#diff-354f30a63fb0907d4ad57269548329e3L12
27 #doCheck = !(python.isPyPy && python.isPy27);
28 doCheck = false; # Infinite recursion pytest
29
30 nativeCheckInputs = [
31 unittestCheckHook
32 pytest
33 ];
34
35 meta = with lib; {
36 description = "Mock objects for Python";
37 homepage = "http://python-mock.sourceforge.net/";
38 license = licenses.bsd2;
39 };
40
41}