1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5
6# propagates
7, allpairspy
8, approval-utilities
9, beautifulsoup4
10, empty-files
11, mrjob
12, pyperclip
13, pytest
14, typing-extensions
15
16# tests
17, numpy
18, pytestCheckHook
19}:
20
21buildPythonPackage rec {
22 version = "8.2.5";
23 pname = "approvaltests";
24 format = "setuptools";
25
26 disabled = pythonOlder "3.7";
27
28 # no tests included in PyPI tarball
29 src = fetchFromGitHub {
30 owner = "approvals";
31 repo = "ApprovalTests.Python";
32 rev = "refs/tags/v${version}";
33 hash = "sha256-guZR996UBqWsBnZx2kdSffkPzkMRfS48b1XcM5L8+I4=";
34 };
35
36 propagatedBuildInputs = [
37 allpairspy
38 approval-utilities
39 beautifulsoup4
40 empty-files
41 mrjob
42 pyperclip
43 pytest
44 typing-extensions
45 ];
46
47 nativeCheckInputs = [
48 numpy
49 pytestCheckHook
50 ];
51
52 disabledTests = [
53 # tests expects paths below ApprovalTests.Python directory
54 "test_received_filename"
55 "test_pytest_namer"
56 ];
57
58 pythonImportsCheck = [
59 "approvaltests.approvals"
60 "approvaltests.reporters.generic_diff_reporter_factory"
61 ];
62
63 meta = with lib; {
64 description = "Assertion/verification library to aid testing";
65 homepage = "https://github.com/approvals/ApprovalTests.Python";
66 license = licenses.asl20;
67 maintainers = [ maintainers.marsam ];
68 };
69}