Skip to content

Commit

Permalink
Merge pull request #2090 from wiredfool/pr_2083
Browse files Browse the repository at this point in the history
Skip failing numpy tests on Pypy <= 5.3.1
  • Loading branch information
wiredfool committed Aug 25, 2016
2 parents e980ca7 + 30abb42 commit b77adf4
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions Tests/test_numpy.py
@@ -1,4 +1,5 @@
from __future__ import print_function
import sys
from helper import unittest, PillowTestCase, hopper

from PIL import Image
Expand All @@ -14,6 +15,13 @@

TEST_IMAGE_SIZE = (10, 10)

# Numpy on pypy as of pypy 5.3.1 is corrupting the numpy.array(Image)
# call such that it's returning a object of type numpy.ndarray, but
# the repr is that of a PIL.Image. Size and shape are 1 and (), not the
# size and shape of the array. This causes failures in several tests.
SKIP_NUMPY_ON_PYPY = hasattr(sys, 'pypy_version_info') and (
sys.pypy_version_info <= (5,3,1,'final',0))

class TestNumpy(PillowTestCase):

def setUp(self):
Expand Down Expand Up @@ -104,13 +112,15 @@ def test_3d_array(self):
self.assert_image(Image.fromarray(a[:, :, 1]), "L", TEST_IMAGE_SIZE)

def _test_img_equals_nparray(self, img, np):
self.assertGreaterEqual(len(np.shape), 2)
np_size = np.shape[1], np.shape[0]
self.assertEqual(img.size, np_size)
px = img.load()
for x in range(0, img.size[0], int(img.size[0]/10)):
for y in range(0, img.size[1], int(img.size[1]/10)):
self.assert_deep_equal(px[x, y], np[y, x])

@unittest.skipIf(SKIP_NUMPY_ON_PYPY, "numpy.array(Image) is flaky on PyPy")
def test_16bit(self):
img = Image.open('Tests/images/16bit.cropped.tif')
np_img = numpy.array(img)
Expand Down Expand Up @@ -141,6 +151,7 @@ def test_save_tiff_uint16(self):
im_good = Image.open(filename)
self.assert_image_equal(im_good, im_test)

@unittest.skipIf(SKIP_NUMPY_ON_PYPY, "numpy.array(Image) is flaky on PyPy")
def test_to_array(self):

def _to_array(mode, dtype):
Expand Down

0 comments on commit b77adf4

Please sign in to comment.