# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{10..12} pypy3 ) PYTHON_REQ_USE="sqlite" DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 pypi DESCRIPTION="Stem is a Python controller library for Tor" HOMEPAGE="https://stem.torproject.org" LICENSE="LGPL-3" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86" IUSE="test" RESTRICT="!test? ( test )" RDEPEND="net-vpn/tor" BDEPEND="test? ( net-vpn/tor )" DOCS=( docs/{_static,_templates,api,tutorials,{api,change_log,contents,download,faq,index,tutorials}.rst} ) PATCHES=( # https://github.com/torproject/stem/issues/53 "${FILESDIR}"/1.8.1-Add-an-exclude-test-argument.patch ) python_prepare_all() { # https://github.com/torproject/stem/issues/56 sed -i '/MOCK_VERSION/d' run_tests.py || die distutils-r1_python_prepare_all } python_test() { local skipped_tests=( --exclude-test test.integ.installation.TestInstallation.test_install --exclude-test test.integ.util.system.TestSystem.test_expand_path --exclude-test test.integ.control.controller.TestController.test_get_listeners --exclude-test test.integ.control.controller.TestController.test_get_ports --exclude-test test.integ.control.controller.TestController.test_getinfo_freshrelaydescs # confused by exception text change for JSON parsing --exclude-test test.unit.descriptor.collector.TestCollector.test_index_malformed_json ) # We use --unit --integ to avoid the static/style/lint checks. ${EPYTHON} run_tests.py --verbose --unit --integ "${skipped_tests[@]}" || die "Tests failed with ${EPYTHON}" }