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