From ed5cd18d9cbcb03494cfc1e90b264e35987c569a Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Sun, 31 Mar 2024 15:07:15 +0300 Subject: [PATCH] Always return fresh not-yet-loaded image for hopper(None) --- Tests/helper.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Tests/helper.py b/Tests/helper.py index 2ce9bdfaf..aa6fa2ba1 100644 --- a/Tests/helper.py +++ b/Tests/helper.py @@ -255,20 +255,22 @@ def hopper(mode: str | None = None) -> Image.Image: # Use caching to reduce reading from disk, but return a copy # so that the cached image isn't modified by the tests # (for fast, isolated, repeatable tests). - return _cached_hopper(mode).copy() - -@lru_cache(maxsize=None) -def _cached_hopper(mode: str | None = None) -> Image.Image: if mode is None: # Always return fresh not-yet-loaded version of image. # Operations on not-yet-loaded images is separate class of errors # what we should catch. return Image.open("Tests/images/hopper.ppm") + + return _cached_hopper(mode).copy() + + +@lru_cache(maxsize=None) +def _cached_hopper(mode: str | None = None) -> Image.Image: if mode == "F": - im = _cached_hopper("L").convert(mode) + im = hopper("L").convert(mode) else: - im = _cached_hopper().convert(mode) + im = hopper().convert(mode) return im