Merge pull request #982 from hugovk/cache

Re-enable test image caching
This commit is contained in:
Alex Clark 2015-03-31 21:36:24 -04:00
commit 9c37a29553

View File

@ -181,24 +181,26 @@ def tostring(im, string_format, **options):
return out.getvalue() return out.getvalue()
def hopper(mode="RGB", cache={}): def hopper(mode=None, cache={}):
from PIL import Image from PIL import Image
im = None if mode is None:
# FIXME: Implement caching to reduce reading from disk but so an original # Always return fresh not-yet-loaded version of image.
# copy is returned each time and the cached image isn't modified by tests # Operations on not-yet-loaded images is separate class of errors
# what we should catch.
return Image.open("Tests/images/hopper.ppm")
# Use caching to reduce reading from disk but so an original copy is
# returned each time and the cached image isn't modified by tests
# (for fast, isolated, repeatable tests). # (for fast, isolated, repeatable tests).
# im = cache.get(mode) im = cache.get(mode)
if im is None: if im is None:
if mode == "RGB": if mode == "F":
im = Image.open("Tests/images/hopper.ppm")
elif mode == "F":
im = hopper("L").convert(mode) im = hopper("L").convert(mode)
elif mode[:4] == "I;16": elif mode[:4] == "I;16":
im = hopper("I").convert(mode) im = hopper("I").convert(mode)
else: else:
im = hopper("RGB").convert(mode) im = hopper().convert(mode)
# cache[mode] = im cache[mode] = im
return im return im.copy()
def command_succeeds(cmd): def command_succeeds(cmd):