summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/subliminal')
-rw-r--r--media-video/subliminal/subliminal-9999.ebuild28
1 files changed, 24 insertions, 4 deletions
diff --git a/media-video/subliminal/subliminal-9999.ebuild b/media-video/subliminal/subliminal-9999.ebuild
index 13b314d12fb2..3043809fda4e 100644
--- a/media-video/subliminal/subliminal-9999.ebuild
+++ b/media-video/subliminal/subliminal-9999.ebuild
@@ -3,8 +3,9 @@
EAPI=7
-PYTHON_COMPAT=( python3_6 )
+PYTHON_COMPAT=( python3_{6,7} )
PYTHON_REQ_USE='xml(+)'
+DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1 git-r3
@@ -17,6 +18,8 @@ SRC_URI="test? ( mirror://sourceforge/matroska/test_files/matroska_test_w1_1.zip
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
+IUSE="test"
+RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/appdirs-1.3[${PYTHON_USEDEP}]
@@ -32,11 +35,10 @@ RDEPEND="
>=dev-python/pytz-2012c[${PYTHON_USEDEP}]
>=dev-python/rarfile-2.7[compressed,${PYTHON_USEDEP}]
>=dev-python/requests-2.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.0.0[${PYTHON_USEDEP}]
"
-DEPEND="
+BDEPEND="
test? (
app-arch/unzip
dev-python/sympy[${PYTHON_USEDEP}]
@@ -44,6 +46,10 @@ DEPEND="
)
"
+PATCHES=(
+ "${FILESDIR}/${PN}-2.1.0-fix-pytest-warning.patch"
+)
+
distutils_enable_tests pytest
src_unpack() {
@@ -54,7 +60,6 @@ src_unpack() {
python_prepare_all() {
# Disable code checkers as they require unavailable dependencies.
sed -i -e 's/--\(pep8\|flakes\)//g' pytest.ini || die
- sed -i -e "s/'pytest-\(pep8\|flakes\)',//g" setup.py || die
# Disable unconditional dependency on dev-python/pytest-runner.
sed -i -e "s|'pytest-runner'||g" setup.py || die
@@ -66,3 +71,18 @@ python_prepare_all() {
distutils-r1_python_prepare_all
}
+
+python_test() {
+ local skipped_tests=(
+ tests/test_core.py::test_scan_archive_with_one_video
+ tests/test_core.py::test_scan_archive_with_multiple_videos
+ tests/test_core.py::test_scan_archive_with_no_video
+ tests/test_core.py::test_scan_password_protected_archive
+ )
+
+ # Two tests that list providers rely on entry points
+ # so they need the package to be installed
+ distutils_install_for_testing
+ pytest -vv --ignore ${PN}/test/test_core.py ${skipped_tests[@]/#/--deselect } \
+ || die "Tests fail with ${EPYTHON}"
+}