1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 mock,
6 pytestCheckHook,
7 pythonOlder,
8 setuptools,
9}:
10
11buildPythonPackage rec {
12 pname = "parameterized";
13 version = "0.9.0";
14 format = "pyproject";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchPypi {
19 inherit pname version;
20 hash = "sha256-f8kFJyzvpPNkwaNCnLvpwPmLeTmI77W/kKrIDwjbCbE=";
21 };
22
23 postPatch = ''
24 # broken with pytest 7 and python 3.12
25 # https://github.com/wolever/parameterized/issues/167
26 # https://github.com/wolever/parameterized/pull/162
27 substituteInPlace parameterized/test.py \
28 --replace 'assert_equal(missing, [])' "" \
29 --replace "assertRaisesRegexp" "assertRaisesRegex"
30 '';
31
32 nativeBuildInputs = [ setuptools ];
33
34 checkInputs = [
35 mock
36 pytestCheckHook
37 ];
38
39 pytestFlagsArray = [ "parameterized/test.py" ];
40
41 pythonImportsCheck = [ "parameterized" ];
42
43 meta = with lib; {
44 description = "Parameterized testing with any Python test framework";
45 homepage = "https://github.com/wolever/parameterized";
46 changelog = "https://github.com/wolever/parameterized/blob/v${version}/CHANGELOG.txt";
47 license = licenses.bsd2;
48 maintainers = with maintainers; [ ];
49 };
50}