Index: head/devel/Makefile =================================================================== --- head/devel/Makefile +++ head/devel/Makefile @@ -4408,6 +4408,7 @@ SUBDIR += py-flake8-import-order SUBDIR += py-flake8-polyfill SUBDIR += py-flake8-quotes + SUBDIR += py-flaky SUBDIR += py-flask-babel SUBDIR += py-flatbuffers SUBDIR += py-flex Index: head/devel/py-flaky/Makefile =================================================================== --- head/devel/py-flaky/Makefile +++ head/devel/py-flaky/Makefile @@ -0,0 +1,39 @@ +# $FreeBSD$ + +PORTNAME= flaky +DISTVERSION= 3.6.0 +CATEGORIES= devel python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= kai@FreeBSD.org +COMMENT= Plugin for nose or pytest that automatically reruns flaky tests + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}nose>0:devel/py-nose@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-xdist>0:devel/py-pytest-xdist@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}genty>0:devel/py-genty@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}mock>0:devel/py-mock@${PY_FLAVOR} + +USES= python +USE_PYTHON= distutils autoplist + +NO_ARCH= yes + +do-test: + cd ${WRKSRC} && \ + ${PYTHON_CMD} -m nose -v --no-flaky-report \ + --with-flaky --exclude="test_nose_options_example" test/test_nose/ && \ + ${PYTHON_CMD} -m pytest -v -rs --no-flaky-report \ + -k 'example and not options' -n 1 test/test_pytest && \ + ${PYTHON_CMD} -m pytest -v -rs \ + -p no:flaky test/test_pytest/test_flaky_pytest_plugin.py && \ + ${PYTHON_CMD} -m nose -v --no-flaky-report \ + --with-flaky --force-flaky --max-runs 2 test/test_nose/test_nose_options_example.py && \ + ${PYTHON_CMD} -m pytest -v -rs --no-flaky-report \ + --force-flaky --max-runs 2 test/test_pytest/test_pytest_options_example.py + +.include Index: head/devel/py-flaky/distinfo =================================================================== --- head/devel/py-flaky/distinfo +++ head/devel/py-flaky/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1563397978 +SHA256 (flaky-3.6.0.tar.gz) = c24e321b3b4b4a2d323b646acff6738e7601849832f4280864d69f00a6a9869d +SIZE (flaky-3.6.0.tar.gz) = 29523 Index: head/devel/py-flaky/pkg-descr =================================================================== --- head/devel/py-flaky/pkg-descr +++ head/devel/py-flaky/pkg-descr @@ -0,0 +1,7 @@ +Ideally, tests reliably pass or fail, but sometimes test fixtures must rely on +components that aren't 100% reliable. + +With flaky, instead of removing those tests or marking them to skip, they can +be automatically retried. + +WWW: https://github.com/box/flaky