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