commit:     59381b47bcf3e690d12f504beed8c97f4761d265
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  5 12:06:45 2021 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sat Jun  5 12:19:43 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59381b47

dev-python/pytest-qt: backport test fixes from 4.0.0 to 3.3.0

Package-Manager: Portage-3.0.19, Repoman-3.0.3
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 dev-python/pytest-qt/pytest-qt-3.3.0.ebuild | 46 +++++++++++++++++++++--------
 1 file changed, 33 insertions(+), 13 deletions(-)

diff --git a/dev-python/pytest-qt/pytest-qt-3.3.0.ebuild 
b/dev-python/pytest-qt/pytest-qt-3.3.0.ebuild
index 9d310725f1e..8e4e3f6611c 100644
--- a/dev-python/pytest-qt/pytest-qt-3.3.0.ebuild
+++ b/dev-python/pytest-qt/pytest-qt-3.3.0.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
 
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{7..10} )
 
 inherit distutils-r1 virtualx
 
-DESCRIPTION="pytest plugin for PyQt4 or PyQt5 applications"
+DESCRIPTION="pytest plugin for PyQt5 and PySide2 applications"
 HOMEPAGE="
        https://pypi.org/project/pytest-qt/
        https://github.com/pytest-dev/pytest-qt/";
@@ -17,7 +17,15 @@ LICENSE="MIT"
 SLOT="0"
 KEYWORDS="amd64 x86"
 
-DEPEND="dev-python/QtPy[gui,testlib,${PYTHON_USEDEP}]"
+RDEPEND="dev-python/QtPy[gui,testlib,widgets(+),${PYTHON_USEDEP}]"
+BDEPEND="
+       test? (
+               dev-python/PyQt5[gui,testlib,widgets,${PYTHON_USEDEP}]
+               $(python_gen_cond_dep '
+                       dev-python/pyside2[gui,testlib,widgets,${PYTHON_USEDEP}]
+                       ' python3_{7..9} )
+       )
+"
 
 # Patch 1 skips a test that does not work inside the emerge environment:
 # pytestqt.exceptions.TimeoutError: widget <PyQt5.QtWidgets.QWidget object at 
0x7f57d8527af8> not activated in 1000 ms.
@@ -30,14 +38,26 @@ PATCHES=(
 distutils_enable_tests pytest
 distutils_enable_sphinx docs dev-python/sphinx_rtd_theme
 
+python_prepare_all() {
+       # This is not going to work since we want to test both implementations
+       # and therefore pull in both and explicitly set PYTEST_QT_API
+       sed -i -e 's:test_qt_api_ini_config_with_envvar:_&:' \
+               -e 's:test_qt_api_ini_config:_&:' \
+               tests/test_basics.py || die
+
+       distutils-r1_python_prepare_all
+}
+
+src_test() {
+       virtx python_foreach_impl python_test
+}
+
 python_test() {
-       pytest_qt_test() {
-               # pytest-qt test fail to test in ${BUILDIR}/lib
-               # if and only if pytest-qt is not already installed
-               # test do work if executed directly in the extracted tarball
-               local PYTHONPATH="${WORKDIR}/${P}"
-               pytest -vv
-       }
-
-       virtx pytest_qt_test
+       distutils_install_for_testing
+       PYTEST_QT_API="pyqt5" epytest
+       if [[ "${EPYTHON}" == "python3.10" ]]; then
+               return
+       else
+               PYTEST_QT_API="pyside2" epytest
+       fi
 }

Reply via email to