1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 setuptools,
6 pytestCheckHook,
7 pytest-cov-stub,
8 mock,
9 six,
10 isPyPy,
11}:
12
13buildPythonPackage rec {
14 pname = "sure";
15 version = "2.0.1";
16 pyproject = true;
17
18 src = fetchPypi {
19 inherit pname version;
20 hash = "sha256-yPxvq8Dn9phO6ruUJUDkVkblvvC7mf5Z4C2mNOTUuco=";
21 };
22
23 postPatch = ''
24 substituteInPlace setup.cfg \
25 --replace "rednose = 1" ""
26 '';
27
28 build-system = [ setuptools ];
29
30 dependencies = [
31 mock
32 six
33 ];
34
35 nativeCheckInputs = [
36 pytestCheckHook
37 pytest-cov-stub
38 mock
39 ];
40
41 disabledTestPaths = [
42 "tests/test_old_api.py" # require nose
43 ];
44
45 disabledTests = lib.optionals (isPyPy) [
46 # test extension of 'dict' object is broken
47 "test_should_compare_dict_with_non_orderable_key_types"
48 "test_should_compare_dict_with_enum_keys"
49 ];
50
51 pythonImportsCheck = [ "sure" ];
52
53 meta = {
54 description = "Utility belt for automated testing";
55 mainProgram = "sure";
56 homepage = "https://sure.readthedocs.io/";
57 changelog = "https://github.com/gabrielfalcao/sure/blob/v${version}/CHANGELOG.md";
58 license = lib.licenses.gpl3Plus;
59 maintainers = with lib.maintainers; [ sigmanificient ];
60 };
61}