commit:     344b5da89d9993b65b52b6a5a731c69cc4f5d239
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 18 10:48:04 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Oct 18 12:45:40 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=344b5da8

dev-python/pytest-qt: Enable py3.14

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pytest-qt/Manifest                  |  1 +
 dev-python/pytest-qt/pytest-qt-4.5.0-r1.ebuild | 81 ++++++++++++++++++++++++++
 2 files changed, 82 insertions(+)

diff --git a/dev-python/pytest-qt/Manifest b/dev-python/pytest-qt/Manifest
index 2546bdc19698..2f71028c9090 100644
--- a/dev-python/pytest-qt/Manifest
+++ b/dev-python/pytest-qt/Manifest
@@ -1 +1,2 @@
 DIST pytest_qt-4.5.0.tar.gz 128702 BLAKE2B 
c39abc147de4b9651308bf51fe6bef7285f27229c62f5b52d10357b05647b05fc7737c0a91c7032e88150af544e98044c2310b32154b93c4b3aaa30da76b7417
 SHA512 
84b4789e3017dfbbc0c36658bb36d175055cf2354612833aae91441e803457142d412edbe74823f916ac1cccb73efc87ed73b776a8b18cf71d66497514edc5cd
+DIST pytest_qt-4.5.0.tar.gz.provenance 9286 BLAKE2B 
6eaf573ca9cfcabf9b1d54d30310e0307f44486b21b2439a78783688084a2691c5ecd3fb16234e1217d68e28f194d15036b3eb16f0ec1587adb490a3d113a3be
 SHA512 
9f013bd314ad88a6bc918b7a68db5d172456fc0440e14f5a639c9cf8ea50aa8d1588eb7ead3a88426e79dbc4a801733c04cf5d763d05e7d6cf3a3ba218f34c10

diff --git a/dev-python/pytest-qt/pytest-qt-4.5.0-r1.ebuild 
b/dev-python/pytest-qt/pytest-qt-4.5.0-r1.ebuild
new file mode 100644
index 000000000000..16b275ce49e3
--- /dev/null
+++ b/dev-python/pytest-qt/pytest-qt-4.5.0-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/pytest-dev/pytest-qt
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 virtualx pypi
+
+DESCRIPTION="Pytest plugin for PyQt6 and PySide6 applications"
+HOMEPAGE="
+       https://pypi.org/project/pytest-qt/
+       https://github.com/pytest-dev/pytest-qt/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+       dev-python/pytest[${PYTHON_USEDEP}]
+       >=dev-python/pluggy-1.1[${PYTHON_USEDEP}]
+       dev-python/qtpy[gui,testlib,widgets(+),${PYTHON_USEDEP}]
+       dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+       test? (
+               || (
+                       dev-python/pyqt6[gui,testlib,widgets,${PYTHON_USEDEP}]
+                       dev-python/pyqt5[gui,testlib,widgets,${PYTHON_USEDEP}]
+                       
dev-python/pyside:6[gui,testlib,widgets,${PYTHON_USEDEP}]
+               )
+       )
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" )
+distutils_enable_tests pytest
+distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
+
+src_test() {
+       virtx distutils-r1_src_test
+}
+
+python_test() {
+       local EPYTEST_DESELECT=(
+               # requires the window to be activated; that doesn't seem
+               # to be possible inside Xvfb
+               "tests/test_basics.py::test_wait_window[waitActive-True]"
+
+               # TODO
+               tests/test_exceptions.py::test_exceptions_dont_leak
+
+               # we are forcing a specific module via envvar, effectively
+               # overriding the config
+               tests/test_basics.py::test_qt_api_ini_config
+               tests/test_basics.py::test_qt_api_ini_config_with_envvar
+       )
+
+       local -x QT_API PYTEST_QT_API
+       local tests_ran=
+       for QT_API in pyqt{5,6} "pyside:6"; do
+               if has_version 
"dev-python/${QT_API}[gui,testlib,widgets,${PYTHON_USEDEP}]"
+               then
+                       PYTEST_QT_API=${QT_API//:/}
+                       einfo "Testing with ${EPYTHON} and ${PYTEST_QT_API}"
+                       # force-disable xfail_strict as upstream as xfail 
assumptions
+                       # don't seem to hold on arm64
+                       nonfatal epytest -oxfail_strict=false ||
+                               die -n "Tests failed with ${EPYTHON} and 
${PYTEST_QT_API}" ||
+                               return 1
+                       tests_ran=1
+               fi
+       done
+
+       if [[ ! ${tests_ran} ]]; then
+               die "No tests ran!"
+       fi
+}

Reply via email to