Test for issue #1008

This commit is contained in:
wiredfool 2014-11-13 14:56:31 -08:00
parent 482f658704
commit a105cd7edb
2 changed files with 30 additions and 0 deletions

View File

@ -1,4 +1,5 @@
from helper import unittest, PillowTestCase, hopper from helper import unittest, PillowTestCase, hopper
from array import array
import sys import sys
@ -63,6 +64,25 @@ class TestImagePutData(PillowTestCase):
target = [2.0 * float(elt) + 256.0 for elt in data] target = [2.0 * float(elt) + 256.0 for elt in data]
self.assertEqual(list(im.getdata()), target) self.assertEqual(list(im.getdata()), target)
def test_array_B(self):
# shouldn't segfault
# see https://github.com/python-pillow/Pillow/issues/1008
arr = array('B', [0])*15000
im = Image.new('L', (150, 100))
im.putdata(arr)
self.assertEqual(len(im.getdata()),len(arr))
def test_array_F(self):
# shouldn't segfault
# see https://github.com/python-pillow/Pillow/issues/1008
im = Image.new('F', (150, 100))
arr = array('f', [0.0])*15000
im.putdata(arr)
self.assertEqual(len(im.getdata()),len(arr))
if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()

View File

@ -121,6 +121,16 @@ class TestNumpy(PillowTestCase):
im.point(lut) im.point(lut)
def test_putdata(self):
# shouldn't segfault
# see https://github.com/python-pillow/Pillow/issues/1008
im = Image.new('F', (150, 100))
arr = numpy.zeros((15000,), numpy.float32)
im.putdata(arr)
self.assertEqual(len(im.getdata()),len(arr))
if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()