summaryrefslogtreecommitdiff
path: root/dev-python/pytest-qt/pytest-qt-4.0.1.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/pytest-qt/pytest-qt-4.0.1.ebuild')
-rw-r--r--dev-python/pytest-qt/pytest-qt-4.0.1.ebuild59
1 files changed, 59 insertions, 0 deletions
diff --git a/dev-python/pytest-qt/pytest-qt-4.0.1.ebuild b/dev-python/pytest-qt/pytest-qt-4.0.1.ebuild
new file mode 100644
index 000000000000..01570364aa94
--- /dev/null
+++ b/dev-python/pytest-qt/pytest-qt-4.0.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="pytest plugin for PyQt5 and PySide2 applications"
+HOMEPAGE="
+ https://pypi.org/project/pytest-qt/
+ https://github.com/pytest-dev/pytest-qt/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+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_{8..9} )
+ )
+"
+
+distutils_enable_tests --install pytest
+distutils_enable_sphinx docs dev-python/sphinx_rtd_theme
+
+python_prepare_all() {
+ # This show window test does not work inside the emerge env, as we cannot show windows.
+ # pytestqt.exceptions.TimeoutError: widget <PyQt5.QtWidgets.QWidget object at 0x7f57d8527af8> not activated in 1000 ms.
+ sed -i -e 's:test_wait_window:_&:' tests/test_basics.py || die
+
+ # 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() {
+ distutils_install_for_testing
+ PYTEST_QT_API="pyqt5" epytest
+ if [[ "${EPYTHON}" == "python3.10" ]]; then
+ return
+ else
+ PYTEST_QT_API="pyside2" epytest
+ fi
+}