1{ lib
2, fetchPypi
3, buildPythonPackage
4, six
5, pythonOlder
6, allure-python-commons
7, pytest
8, pytestCheckHook
9, pytest-check
10, pytest-flakes
11, pytest-lazy-fixture
12, pytest-rerunfailures
13, pytest-xdist
14, pyhamcrest
15, mock
16, setuptools-scm
17}:
18
19buildPythonPackage rec {
20 pname = "allure-pytest";
21 version = "2.13.2";
22
23 disabled = pythonOlder "3.7";
24
25 src = fetchPypi {
26 inherit pname version;
27 hash = "sha256-IiQxWejsgc4rUlS0ATgCGYghsbQvEY9p1KKJOWYHx7M=";
28 };
29
30 buildInputs = [
31 pytest
32 ];
33
34 nativeBuildInputs = [
35 setuptools-scm
36 ];
37
38 pythonImportsCheck = [ "allure_pytest" ];
39
40 propagatedBuildInputs = [
41 allure-python-commons
42 six
43 ];
44
45 nativeCheckInputs = [
46 pyhamcrest
47 mock
48 pytestCheckHook
49 pytest-check
50 pytest-flakes
51 pytest-lazy-fixture
52 pytest-rerunfailures
53 pytest-xdist
54 ];
55
56 pytestFlagsArray = [
57 "--basetemp"
58 "$(mktemp -d)"
59 "--alluredir"
60 "$(mktemp -d allure-results.XXXXXXX)"
61 "-W"
62 "ignore::pytest.PytestExperimentalApiWarning"
63 "-p"
64 "pytester"
65 ];
66
67 # we are skipping some of the integration tests for now
68 disabledTests = [
69 "test_pytest_check"
70 "test_pytest_check_example"
71 "test_select_by_testcase_id_test"
72 ];
73
74 meta = with lib; {
75 description = "Allure pytest integration. It's developed as pytest plugin and distributed via pypi";
76 homepage = "https://github.com/allure-framework/allure-python";
77 license = licenses.asl20;
78 maintainers = with maintainers; [ evanjs ];
79 };
80}