# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 PYTHON_COMPAT=( python3_{7..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_{7..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 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 }