Import devel/py-test-xdist.

---8<---
The pytest-xdist plugin extends py.test with some unique test execution modes.
--->8---

OK and input from, shadchin@, thanks.
This commit is contained in:
edd 2016-09-01 12:56:17 +00:00
parent fe45c913de
commit 5275ce7fca
5 changed files with 102 additions and 0 deletions

View File

@ -0,0 +1,32 @@
# $OpenBSD: Makefile,v 1.1.1.1 2016/09/01 12:56:17 edd Exp $
COMMENT = py.test xdist plugin for distributed testing
DISTNAME = pytest-xdist-${MODPY_EGG_VERSION}
MODPY_EGG_VERSION = 1.15.0
MODPY_PI = Yes
PKGNAME = py-test-xdist-${MODPY_EGG_VERSION}
CATEGORIES = devel
HOMEPAGE = https://github.com/pytest-dev/pytest-xdist
# MIT
PERMIT_PACKAGE_CDROM = Yes
FLAVORS = python3
FLAVOR ?=
MODULES = lang/python
MODPY_SETUPTOOLS = Yes
BUILD_DEPENDS += devel/py-setuptools_scm${MODPY_FLAVOR}
RUN_DEPENDS = devel/py-execnet${MODPY_FLAVOR} \
devel/py-test${MODPY_FLAVOR} \
devel/py-apipkg${MODPY_FLAVOR}
TEST_DEPENDS = ${RUN_DEPENDS} \
${FULLPKGNAME}:${FULLPKGPATH}
do-test:
cd ${WRKSRC} && ${MODPY_BIN} -m pytest testing
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (pytest-xdist-1.15.0.tar.gz) = Yjg5X4vQUPkoijsQ80Mw7ezoD0QkzytCBNbn1iLw8As=
SIZE (pytest-xdist-1.15.0.tar.gz) = 87799

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-testing_acceptance_test_py,v 1.1.1.1 2016/09/01 12:56:17 edd Exp $
This test is fine, just it doesn't wait long enough.
--- testing/acceptance_test.py.orig Wed Aug 31 16:03:03 2016
+++ testing/acceptance_test.py Wed Aug 31 16:12:47 2016
@@ -240,12 +240,12 @@ class TestDistribution:
testdir.makepyfile("""
def test_sleep():
import time
- time.sleep(10)
+ time.sleep(30)
""")
child = testdir.spawn_pytest("-n1 -v")
child.expect(".*test_sleep.*")
child.kill(2) # keyboard interrupt
- child.expect(".*KeyboardInterrupt.*")
+ child.expect(".*KeyboardInterrupt.*", timeout=28)
# child.expect(".*seconds.*")
child.close()
# assert ret == 2

View File

@ -0,0 +1,18 @@
The pytest-xdist plugin extends py.test with some unique test execution
modes:
Test run parallelization: if you have multiple CPUs or hosts you can use
those for a combined test run. This allows to speed up development or to
use special resources of remote machines.
--boxed: run each test in a boxed subprocess to survive SEGFAULTS or
otherwise dying processes
--looponfail: run your tests repeatedly in a subprocess. After each run
py.test waits until a file in your project changes and then re-runs the
previously failing tests. This is repeated until all tests pass after
which again a full run is performed.
Multi-Platform coverage: you can specify different Python interpreters
or different platforms and run tests in parallel on all of them.

View File

@ -0,0 +1,29 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2016/09/01 12:56:17 edd Exp $
lib/python${MODPY_VERSION}/site-packages/pytest_xdist-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/
lib/python${MODPY_VERSION}/site-packages/pytest_xdist-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/PKG-INFO
lib/python${MODPY_VERSION}/site-packages/pytest_xdist-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/SOURCES.txt
lib/python${MODPY_VERSION}/site-packages/pytest_xdist-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/dependency_links.txt
lib/python${MODPY_VERSION}/site-packages/pytest_xdist-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/entry_points.txt
lib/python${MODPY_VERSION}/site-packages/pytest_xdist-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/not-zip-safe
lib/python${MODPY_VERSION}/site-packages/pytest_xdist-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/requires.txt
lib/python${MODPY_VERSION}/site-packages/pytest_xdist-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/top_level.txt
lib/python${MODPY_VERSION}/site-packages/xdist/
lib/python${MODPY_VERSION}/site-packages/xdist/__init__.py
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/xdist/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/xdist/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/xdist/${MODPY_PYCACHE}_version.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/xdist/${MODPY_PYCACHE}boxed.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/xdist/${MODPY_PYCACHE}dsession.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/xdist/${MODPY_PYCACHE}looponfail.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/xdist/${MODPY_PYCACHE}newhooks.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/xdist/${MODPY_PYCACHE}plugin.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/xdist/${MODPY_PYCACHE}remote.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/xdist/${MODPY_PYCACHE}slavemanage.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/xdist/_version.py
lib/python${MODPY_VERSION}/site-packages/xdist/boxed.py
lib/python${MODPY_VERSION}/site-packages/xdist/dsession.py
lib/python${MODPY_VERSION}/site-packages/xdist/looponfail.py
lib/python${MODPY_VERSION}/site-packages/xdist/newhooks.py
lib/python${MODPY_VERSION}/site-packages/xdist/plugin.py
lib/python${MODPY_VERSION}/site-packages/xdist/remote.py
lib/python${MODPY_VERSION}/site-packages/xdist/slavemanage.py