1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 psutil,
6 pylibmc,
7 pytest,
8 pytestCheckHook,
9 pythonOlder,
10 requests,
11 setuptools-scm,
12 toml,
13 mysqlclient,
14 zc-lockfile,
15}:
16
17buildPythonPackage rec {
18 pname = "pytest-services";
19 version = "2.2.2";
20 pyproject = true;
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchFromGitHub {
25 owner = "pytest-dev";
26 repo = "pytest-services";
27 tag = "v${version}";
28 hash = "sha256-kWgqb7+3/hZKUz7B3PnfxHZq6yU3JUeJ+mruqrMD/NE=";
29 };
30
31 nativeBuildInputs = [
32 setuptools-scm
33 toml
34 ];
35
36 buildInputs = [ pytest ];
37
38 propagatedBuildInputs = [
39 requests
40 psutil
41 zc-lockfile
42 ];
43
44 nativeCheckInputs = [
45 mysqlclient
46 pylibmc
47 pytestCheckHook
48 ];
49
50 pythonImportsCheck = [ "pytest_services" ];
51
52 disabledTests = [
53 # Tests require binaries and additional parts
54 "test_memcached"
55 "test_mysql"
56 "test_xvfb"
57 ];
58
59 # Tests use sockets
60 __darwinAllowLocalNetworking = true;
61
62 meta = with lib; {
63 description = "Services plugin for pytest testing framework";
64 homepage = "https://github.com/pytest-dev/pytest-services";
65 changelog = "https://github.com/pytest-dev/pytest-services/blob/${src.tag}/CHANGES.rst";
66 license = licenses.mit;
67 maintainers = with maintainers; [ dotlambda ];
68 };
69}