2019-11-21 05:42:52 +03:00
|
|
|
import unittest
|
2015-02-23 12:24:33 +03:00
|
|
|
from io import BytesIO
|
|
|
|
|
2019-07-06 23:40:53 +03:00
|
|
|
from PIL import Image, features
|
|
|
|
|
2019-11-21 05:42:52 +03:00
|
|
|
from .helper import PillowLeakTestCase
|
2019-07-06 23:40:53 +03:00
|
|
|
|
2015-02-23 12:24:33 +03:00
|
|
|
test_file = "Tests/images/hopper.webp"
|
|
|
|
|
2018-03-03 12:54:00 +03:00
|
|
|
|
2019-06-13 18:54:46 +03:00
|
|
|
@unittest.skipUnless(features.check("webp"), "WebP is not installed")
|
2018-01-24 17:02:33 +03:00
|
|
|
class TestWebPLeaks(PillowLeakTestCase):
|
2015-02-23 12:24:33 +03:00
|
|
|
|
2018-03-04 06:24:36 +03:00
|
|
|
mem_limit = 3 * 1024 # kb
|
2018-01-24 17:02:33 +03:00
|
|
|
iterations = 100
|
2015-02-23 12:24:33 +03:00
|
|
|
|
|
|
|
def test_leak_load(self):
|
2019-06-13 18:54:46 +03:00
|
|
|
with open(test_file, "rb") as f:
|
2015-02-23 12:24:33 +03:00
|
|
|
im_data = f.read()
|
2018-01-24 17:02:33 +03:00
|
|
|
|
|
|
|
def core():
|
2015-02-23 12:24:33 +03:00
|
|
|
with Image.open(BytesIO(im_data)) as im:
|
|
|
|
im.load()
|
2018-01-24 17:02:33 +03:00
|
|
|
|
|
|
|
self._test_leak(core)
|