# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 PYTHON_COMPAT=( python2_7 python3_{6,7,8} pypy3 ) inherit distutils-r1 DESCRIPTION="Thin-wrapper around the mock package for easier use with py.test" HOMEPAGE="https://github.com/pytest-dev/pytest-mock/" SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" LICENSE="MIT" SLOT="0" KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~ppc ppc64 sparc x86" IUSE="" RDEPEND="dev-python/pytest[${PYTHON_USEDEP}] $(python_gen_cond_dep '>=dev-python/mock-2[${PYTHON_USEDEP}]' -2)" DEPEND="${RDEPEND} dev-python/setuptools[${PYTHON_USEDEP}] dev-python/setuptools_scm[${PYTHON_USEDEP}]" src_prepare() { if has_version dev-python/mock; then # The test test_standalone_mock fails when the standalone mock # is installed, see pytest-mock issue #81 [0]. # # [0] https://github.com/pytest-dev/pytest-mock/issues/81 sed -e 's|^\(def \)\(test_standalone_mock(\)|\1_\2|' -i tests/test_pytest_mock.py || die fi if has_version '= (3,)/' || die fi distutils-r1_src_prepare } python_test() { distutils_install_for_testing # assertion rewriting seems not to work properly for pytest plugins if # they are not properly (i.e. not with distutils_install_for_testing) # installed on the system. # # Passing `--assert=plain` notifies tests which are sensitive to that # to be skipped. For some more details see pytest-mock issue #102 [0]. # # [0] https://github.com/pytest-dev/pytest-mock/issues/102 py.test --assert=plain -vv tests/test_pytest_mock.py || die "Tests fail with ${EPYTHON}" }