commit:     77ff4bc09d68067f2c635d43d446f308990e0873
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 25 12:01:57 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Apr 25 12:06:31 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77ff4bc0

dev-python/imageio: Run tests offline

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/imageio/Manifest              |  1 +
 dev-python/imageio/imageio-2.34.1.ebuild | 48 ++++++++++++++++++--------------
 2 files changed, 28 insertions(+), 21 deletions(-)

diff --git a/dev-python/imageio/Manifest b/dev-python/imageio/Manifest
index e7244638142e..42be407165db 100644
--- a/dev-python/imageio/Manifest
+++ b/dev-python/imageio/Manifest
@@ -2,3 +2,4 @@ DIST imageio-2.34.0.gh.tar.gz 413125 BLAKE2B 
c6f9650265924f370634f5ab87bed94bdb5
 DIST imageio-2.34.1.gh.tar.gz 413414 BLAKE2B 
59371d0aeace317b9006a0b3b182b97259a53ca0d2288d8ee497234e4f2e7e253c1c27b40b2c5c1f531555a71c7f426ae6d4555043525aa88ca2818d26adfd7d
 SHA512 
d7d1f99f735447e559c0b1fdc2dbe19f2991fb3c640cb9f1396d149c3c44f05e1c357ca8753fff8130625f8fb40a72f277ef09e7cec2b060d1a4f3a675e086a0
 DIST imageio-chelsea.png 221294 BLAKE2B 
58537d7a1678fa5be4cc899e5bacd925bfc180eb4ae691330a53749a49ff544e979609b529ed27e5c1fc9efe4bc050ca1ce49b777f4016fb1d66affd926ef9d3
 SHA512 
48470cdb843eed4dfa6673811c09c5aac9869ee23dd36be0c6b653d9f108d61d21b148c2a4435aaa6604887ba030e5bbc5e35d378da876366445dfc2d0ba4e27
 DIST imageio-cockatoo.mp4 728751 BLAKE2B 
45b22cd517c1cb7c0cd12f8865facaca6a847047aea716e49633cf2b1dc13826f94787c8a8f9dd5f48c6a896f5d37794c0058da1bde9e1469f196916476dbfa2
 SHA512 
e9cb7c25de8019c59ba4090cf10ab29f2b5d62ada37a877081ca07d2ecfe010036222ae843b41bbcc843130d97fa5e14421de252639e9481df1d1c27b19add49
+DIST imageio-test_images-1121036015c70cdbb3015e5c5ba0aaaf7d3d6021.gh.tar.gz 
195497374 BLAKE2B 
0083212fd63c196dc2e721bff8f89c177b6741317b6b1c6ae9d00a8dd5fb6366efa3f01b9bffafafac7177cfdaa4d700077a2bad42ada735f5553e97f651c4ad
 SHA512 
1bb1f36a069bfaa0d0ffe5258534e02e49237fc6ce85fe3d3648650130165abc9b3d5ff0e7e5861ee1d94add00d4258575f9c2f8556debecf597bdaa5499efe0

diff --git a/dev-python/imageio/imageio-2.34.1.ebuild 
b/dev-python/imageio/imageio-2.34.1.ebuild
index 2af910469ba5..b5f636e9f869 100644
--- a/dev-python/imageio/imageio-2.34.1.ebuild
+++ b/dev-python/imageio/imageio-2.34.1.ebuild
@@ -8,7 +8,7 @@ PYTHON_COMPAT=( python3_{10..12} )
 
 inherit distutils-r1
 
-BIN_COMMIT=224074bca448815e421a59266864c23041531a42
+TEST_IMAGES_COMMIT=1121036015c70cdbb3015e5c5ba0aaaf7d3d6021
 DESCRIPTION="Python library for reading and writing image data"
 HOMEPAGE="
        https://imageio.readthedocs.io/en/stable/
@@ -19,19 +19,14 @@ SRC_URI="
        https://github.com/imageio/imageio/archive/v${PV}.tar.gz
                -> ${P}.gh.tar.gz
        test? (
-               
https://github.com/imageio/imageio-binaries/raw/${BIN_COMMIT}/images/chelsea.png
-                       -> ${PN}-chelsea.png
-               
https://github.com/imageio/imageio-binaries/raw/${BIN_COMMIT}/images/cockatoo.mp4
-                       -> ${PN}-cockatoo.mp4
+               
https://github.com/imageio/test_images/archive/${TEST_IMAGES_COMMIT}.tar.gz
+                       -> imageio-test_images-${TEST_IMAGES_COMMIT}.gh.tar.gz
        )
 "
 
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS="~amd64 ~arm64 ~x86"
-# over 50% of tests rely on Internet
-PROPERTIES="test_network"
-RESTRICT="test"
 
 RDEPEND="
        <dev-python/numpy-2[${PYTHON_USEDEP}]
@@ -39,13 +34,10 @@ RDEPEND="
        >=dev-python/pillow-8.3.2[${PYTHON_USEDEP}]
        media-libs/freeimage
 "
-# requests for fsspec[github]
 BDEPEND="
        test? (
-               dev-python/fsspec[${PYTHON_USEDEP}]
                >=dev-python/imageio-ffmpeg-0.4.9-r1[${PYTHON_USEDEP}]
                dev-python/psutil[${PYTHON_USEDEP}]
-               dev-python/requests[${PYTHON_USEDEP}]
                dev-python/tifffile[${PYTHON_USEDEP}]
        )
 "
@@ -59,28 +51,42 @@ src_prepare() {
        )
 
        if use test; then
-               mkdir -p "${HOME}"/.imageio/images || die
-               local i
-               for i in chelsea.png cockatoo.mp4; do
-                       cp "${DISTDIR}/${PN}-${i}" 
"${HOME}/.imageio/images/${i}" || die
-               done
+               mv "${WORKDIR}/test_images-${TEST_IMAGES_COMMIT}" .test_images 
|| die
+               # upstream tries to update the image cache, and invalidates it
+               # if "git pull" fails
+               sed -i -e 's:git pull:true:' tests/conftest.py || die
+               # ffmpeg tests expect it there
+               mkdir -p "${HOME}/.imageio/images" || die
+               cp .test_images/cockatoo.mp4 "${HOME}/.imageio/images" || die
        fi
 
        distutils-r1_src_prepare
 }
 
 python_test() {
+       local EPYTEST_IGNORE=(
+               # uses fsspec to grab prebuilt .so from GitHub, sigh
+               tests/test_freeimage.py
+       )
+
        local EPYTEST_DESELECT=(
-               # Fails because of system installed freeimage
-               tests/test_core.py::test_findlib2
+               # Note: upstream has a needs_internet marker but it is also
+               # used to mark tests that require test_images checkout that we
+               # supply
+
                # Tries to download ffmpeg binary ?!
                tests/test_ffmpeg.py::test_get_exe_installed
                # blocked by our patch
                tests/test_core.py::test_fetching
                tests/test_core.py::test_request
-               # known broken
-               # https://github.com/imageio/imageio/issues/890
-               tests/test_freeimage.py::test_exr_write
+               # Internet
+               tests/test_bsdf.py::test_from_url
+               tests/test_core.py::test_mvolread_out_of_bytes
+               tests/test_core.py::test_request_read_sources
+               tests/test_pillow.py::test_gif_first_p_frame
+               tests/test_pillow.py::test_png_remote
+               tests/test_pillow_legacy.py::test_png_remote
+               tests/test_swf.py::test_read_from_url
                # requires pillow-heif, also possibly Internet
                tests/test_pillow.py::test_avif_remote
                tests/test_pillow.py::test_heif_remote

Reply via email to