1{
2 lib,
3 allpairspy,
4 approval-utilities,
5 beautifulsoup4,
6 buildPythonPackage,
7 empty-files,
8 fetchFromGitHub,
9 mock,
10 numpy,
11 pyperclip,
12 pytest,
13 pytest-asyncio,
14 pytestCheckHook,
15 setuptools,
16 testfixtures,
17 typing-extensions,
18}:
19
20buildPythonPackage rec {
21 pname = "approvaltests";
22 version = "15.0.0";
23 pyproject = true;
24
25 src = fetchFromGitHub {
26 owner = "approvals";
27 repo = "ApprovalTests.Python";
28 tag = "v${version}";
29 hash = "sha256-lXc81hQzxHxpg96OSWkkWmdmLOf4nU56dIKYVgLo+s8=";
30 };
31
32 build-system = [ setuptools ];
33
34 dependencies = [
35 allpairspy
36 approval-utilities
37 beautifulsoup4
38 empty-files
39 mock
40 pyperclip
41 pytest
42 testfixtures
43 typing-extensions
44 ];
45
46 nativeCheckInputs = [
47 numpy
48 pytest-asyncio
49 pytestCheckHook
50 ];
51
52 disabledTests = [
53 "test_warnings"
54 # test runs another python interpreter, ignoring $PYTHONPATH
55 "test_command_line_verify"
56 ];
57
58 pythonImportsCheck = [
59 "approvaltests.approvals"
60 "approvaltests.reporters.generic_diff_reporter_factory"
61 ];
62
63 meta = {
64 description = "Assertion/verification library to aid testing";
65 homepage = "https://github.com/approvals/ApprovalTests.Python";
66 changelog = "https://github.com/approvals/ApprovalTests.Python/releases/tag/${src.tag}";
67 license = lib.licenses.asl20;
68 maintainers = [ ];
69 };
70}