dev-python/pytest-services: New package
authorPatrick McLean <patrick.mclean@sony.com>
Fri, 22 Nov 2019 00:24:19 +0000 (16:24 -0800)
committerPatrick McLean <chutzpah@gentoo.org>
Fri, 22 Nov 2019 00:24:19 +0000 (16:24 -0800)
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
dev-python/pytest-services/Manifest [new file with mode: 0644]
dev-python/pytest-services/files/pytest-services-2.0.1-lockdir.patch [new file with mode: 0644]
dev-python/pytest-services/files/pytest-services-2.0.1-no-mysql.patch [new file with mode: 0644]
dev-python/pytest-services/metadata.xml [new file with mode: 0644]
dev-python/pytest-services/pytest-services-2.0.1.ebuild [new file with mode: 0644]

diff --git a/dev-python/pytest-services/Manifest b/dev-python/pytest-services/Manifest
new file mode 100644 (file)
index 0000000..760200c
--- /dev/null
@@ -0,0 +1 @@
+DIST pytest-services-2.0.1.tar.gz 20386 BLAKE2B 5ec94fdd0fbc5990216fcbae112973fa8b41902a6fa666dd4c5dee2422f76e128ce3a576ec93ecb86bddff5f6bca0e1afaf791583bd275b2543d0e780e45014b SHA512 445cd5346f0c19b68014eb3c27b06376ae6699e31d8c1fee0cb3cda6e927d0ecadbffe3b0b832dd38fe63bc1fe4e3108e2ecbcabf0641af0bdbff019681f0576
diff --git a/dev-python/pytest-services/files/pytest-services-2.0.1-lockdir.patch b/dev-python/pytest-services/files/pytest-services-2.0.1-lockdir.patch
new file mode 100644 (file)
index 0000000..0ecf7be
--- /dev/null
@@ -0,0 +1,23 @@
+diff -ur pytest-services-2.0.1.orig/pytest_services/folders.py pytest-services-2.0.1/pytest_services/folders.py
+--- pytest-services-2.0.1.orig/pytest_services/folders.py      2019-11-12 13:04:01.000000000 -0800
++++ pytest-services-2.0.1/pytest_services/folders.py   2019-11-20 23:26:55.760949590 -0800
+@@ -9,7 +9,7 @@
+ @pytest.fixture(scope='session')
+ def root_dir():
+     """The parent directory of the test base artifact directory."""
+-    return '/tmp'
++    return os.getenv("TMPDIR") or '/tmp'
+ @pytest.yield_fixture(scope='session')
+@@ -47,7 +47,8 @@
+ def memory_root_dir(root_dir):
+     """The parent directory of the test artifact directory in memory."""
+     # check for a free space for at least 8 parallel processes
+-    if os.path.exists('/dev/shm') and psutil.disk_usage('/dev/shm').free > 1024 * 1024 * 64 * 10:
++    if os.path.exists('/dev/shm') and psutil.disk_usage('/dev/shm').free > 1024 * 1024 * 64 * 10 \
++            and os.access('/dev/shm', os.W_OK):
+         return '/dev/shm'
+     return root_dir
+Only in pytest-services-2.0.1/pytest_services: .folders.py.un~
diff --git a/dev-python/pytest-services/files/pytest-services-2.0.1-no-mysql.patch b/dev-python/pytest-services/files/pytest-services-2.0.1-no-mysql.patch
new file mode 100644 (file)
index 0000000..2a86f51
--- /dev/null
@@ -0,0 +1,25 @@
+diff -ur pytest-services-2.0.1.orig/tests/test_plugin.py pytest-services-2.0.1/tests/test_plugin.py
+--- pytest-services-2.0.1.orig/tests/test_plugin.py    2019-11-12 13:04:01.000000000 -0800
++++ pytest-services-2.0.1/tests/test_plugin.py 2019-11-20 19:28:17.789932680 -0800
+@@ -3,7 +3,6 @@
+ import socket
+ import pylibmc
+-import MySQLdb
+ def test_memcached(request, memcached, memcached_socket):
+@@ -17,12 +16,6 @@
+     assert mc.get('some') is None
+-def test_mysql(mysql, mysql_connection, mysql_socket):
+-    """Test mysql service."""
+-    conn = MySQLdb.connect(user='root', unix_socket=mysql_socket)
+-    assert conn
+-
+-
+ def test_xvfb(xvfb, xvfb_display):
+     """Test xvfb service."""
+     socket.create_connection(('127.0.0.1', 6000 + xvfb_display))
+Only in pytest-services-2.0.1/tests: .test_plugin.py.un~
diff --git a/dev-python/pytest-services/metadata.xml b/dev-python/pytest-services/metadata.xml
new file mode 100644 (file)
index 0000000..e3205b3
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="project">
+               <email>python@gentoo.org</email>
+               <name>Python</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="pypi">pytest-services</remote-id>
+               <remote-id type="github">pytest-dev/pytest-services</remote-id>
+       </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-services/pytest-services-2.0.1.ebuild b/dev-python/pytest-services/pytest-services-2.0.1.ebuild
new file mode 100644 (file)
index 0000000..a6c14c4
--- /dev/null
@@ -0,0 +1,45 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{6,7}} )
+inherit distutils-r1
+
+DESCRIPTION="Collection of fixtures and utility functions to run service processes for pytest"
+HOMEPAGE="https://github.com/pytest-dev/pytest-services"
+SRC_URI="https://github.com/pytest-dev/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND="dev-python/requests[${PYTHON_USEDEP}]
+       dev-python/psutil[${PYTHON_USEDEP}]
+       dev-python/pytest[${PYTHON_USEDEP}]
+       dev-python/zc-lockfile[${PYTHON_USEDEP}]"
+BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+       test? (
+               dev-python/mock[${PYTHON_USEDEP}]
+               dev-python/pylibmc[${PYTHON_USEDEP}]
+               $(python_gen_cond_dep 'dev-python/subprocess32[${PYTHON_USEDEP}]' -2)
+       )"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+       "${FILESDIR}/pytest-services-2.0.1-no-mysql.patch"
+       "${FILESDIR}/pytest-services-2.0.1-lockdir.patch"
+)
+
+python_test() {
+       distutils_install_for_testing
+       pytest -vv tests || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+       distutils-r1_python_install
+
+       find "${D}" -name '*.pth' -delete || die
+}