summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ammerlaan <andrewammerlaan@gentoo.org>2021-06-05 14:06:45 +0200
committerAndrew Ammerlaan <andrewammerlaan@gentoo.org>2021-06-05 14:19:43 +0200
commit59381b47bcf3e690d12f504beed8c97f4761d265 (patch)
tree0a1a0c00a6d0e7e272fd565cdb97ed3561369121 /dev-python/pytest-qt
parentnet-misc/gerbera: Bump to 1.8.2 (diff)
downloadgentoo-59381b47bcf3e690d12f504beed8c97f4761d265.tar.gz
gentoo-59381b47bcf3e690d12f504beed8c97f4761d265.tar.bz2
gentoo-59381b47bcf3e690d12f504beed8c97f4761d265.zip
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@gentoo.org>
Diffstat (limited to 'dev-python/pytest-qt')
-rw-r--r--dev-python/pytest-qt/pytest-qt-3.3.0.ebuild46
1 files 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 9d310725f1e6..8e4e3f6611c2 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
}