diff --git a/devel/py-diff-cover/Makefile b/devel/py-diff-cover/Makefile index 9108db3ec2d8..01d8144921ca 100644 --- a/devel/py-diff-cover/Makefile +++ b/devel/py-diff-cover/Makefile @@ -1,41 +1,43 @@ PORTNAME= diff-cover -DISTVERSION= 10.4.1 +DISTVERSION= 10.5.1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= ${PORTNAME:S/-/_/}-${PORTVERSION} MAINTAINER= yuri@FreeBSD.org COMMENT= Run coverage and linting reports on diffs WWW= https://github.com/Bachmann1234/diff_cover LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE -BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>0:devel/py-poetry-core@${PY_FLAVOR} \ - ${PY_SETUPTOOLS} +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>0:devel/py-poetry-core@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}chardet>=3.0.0:textproc/py-chardet@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.7.1:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pluggy>=0.13.1:devel/py-pluggy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pygments>=2.19.1:textproc/py-pygments@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}tomli>=1.2.1:textproc/py-tomli@${PY_FLAVOR} -TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-docstring-description>0:devel/py-hatch-docstring-description@${PY_FLAVOR} \ - pylint${PYTHON_PKGNAMESUFFIX}>0:devel/pylint@${PY_FLAVOR} \ +TEST_DEPENDS= pylint${PYTHON_PKGNAMESUFFIX}>0:devel/pylint@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-cov>0:devel/py-pytest-cov@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-datadir>=1.4.1:devel/py-pytest-datadir@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pytest-mock>0:devel/py-pytest-mock@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}pytest-mock>0:devel/py-pytest-mock@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-xdist>0:devel/py-pytest-xdist@${PY_FLAVOR} USES= python USE_PYTHON= pep517 autoplist pytest MAKE_ENV+= GIT_DIR=${WRKDIR} # workaround for https://github.com/python-poetry/poetry/issues/5547 TEST_ENV= ${MAKE_ENV} \ - PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \ PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} -TEST_ARGS= -p pytest_mock -p pytest_datadir.plugin tests +TEST_ARGS= --disable-plugin-autoload \ + -p pytest_mock \ + -p pytest_datadir.plugin \ + -p xdist \ + tests NO_ARCH= yes -# tests as of 10.4.0: 369 passed in 9.85s +# tests as of 10.5.1: 391 passed in 4.91s .include diff --git a/devel/py-diff-cover/distinfo b/devel/py-diff-cover/distinfo index ef97170f5843..7510863fec1d 100644 --- a/devel/py-diff-cover/distinfo +++ b/devel/py-diff-cover/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1784868876 -SHA256 (diff_cover-10.4.1.tar.gz) = 0ec566955c9ee7da2f6cc48fa16fac7f97ad1fc4e50a887ffb9cfe5eb1e831df -SIZE (diff_cover-10.4.1.tar.gz) = 108279 +TIMESTAMP = 1789395215 +SHA256 (diff_cover-10.5.1.tar.gz) = f1c9417c62111e40a81c482c692c5cdd131ff93317baa993044cb291912ebba3 +SIZE (diff_cover-10.5.1.tar.gz) = 113297 diff --git a/devel/py-diff-cover/files/patch-tests_test__integration.py b/devel/py-diff-cover/files/patch-tests_test__integration.py new file mode 100644 index 000000000000..dbf7738df63b --- /dev/null +++ b/devel/py-diff-cover/files/patch-tests_test__integration.py @@ -0,0 +1,17 @@ +-- tests/test_integration.py: normalize quote HTML entities when comparing +-- expected and generated HTML. Newer pygments/Jinja2 emit raw quotes while +-- the bundled fixtures still use "/' entities. +-- Upstream issue: https://github.com/Bachmann1234/diff-cover/issues + +--- tests/test_integration.py.orig 2026-09-14 14:52:48 UTC ++++ tests/test_integration.py +@@ -105,6 +105,9 @@ def clean_html(html, clear_inline_css): + def clean_html(html, clear_inline_css): + if clear_inline_css: + html = re.sub("", "", html, flags=re.DOTALL) ++ # Normalize HTML entity variants of quotes to tolerate pygments/Jinja2 ++ # escaping differences across dependency versions. ++ html = html.replace(""", '"').replace("'", "'") + return html.strip() + +