nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
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 pyyaml,
16 setuptools,
17 testfixtures,
18 typing-extensions,
19}:
20
21buildPythonPackage rec {
22 pname = "approvaltests";
23 version = "16.3.0";
24 pyproject = true;
25
26 src = fetchFromGitHub {
27 owner = "approvals";
28 repo = "ApprovalTests.Python";
29 tag = "v${version}";
30 hash = "sha256-t/+o1qFGIkb1BfNKNvh1CvuqezKGPyhPbEvKod2UyC4=";
31 };
32
33 postPatch = ''
34 test -f setup.py || mv setup/setup.py .
35 touch setup/__init__.py
36 substituteInPlace setup.py \
37 --replace-fail "from setup_utils" "from setup.setup_utils"
38
39 patchShebangs internal_documentation/scripts
40 '';
41
42 build-system = [ setuptools ];
43
44 dependencies = [
45 allpairspy
46 approval-utilities
47 beautifulsoup4
48 empty-files
49 mock
50 pyperclip
51 pytest
52 testfixtures
53 typing-extensions
54 ];
55
56 nativeCheckInputs = [
57 numpy
58 pytest-asyncio
59 pytestCheckHook
60 pyyaml
61 ];
62
63 disabledTests = [
64 "test_warnings"
65 # test runs another python interpreter, ignoring $PYTHONPATH
66 "test_command_line_verify"
67 ];
68
69 pythonImportsCheck = [
70 "approvaltests.approvals"
71 "approvaltests.reporters.generic_diff_reporter_factory"
72 ];
73
74 meta = {
75 description = "Assertion/verification library to aid testing";
76 homepage = "https://github.com/approvals/ApprovalTests.Python";
77 changelog = "https://github.com/approvals/ApprovalTests.Python/releases/tag/${src.tag}";
78 license = lib.licenses.asl20;
79 maintainers = [ ];
80 };
81}