diff --git a/Tests/test_image.py b/Tests/test_image.py index 26e45b10a..de43b010e 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -168,8 +168,6 @@ class TestImage(PillowTestCase): ValueError, lambda: Image.effect_mandelbrot(size, extent, quality)) - @unittest.skipUnless(sys.platform.startswith('win32'), - "Stalls on Travis CI, passes on Windows") def test_effect_noise(self): # Arrange size = (100, 100) @@ -180,8 +178,8 @@ class TestImage(PillowTestCase): # Assert self.assertEqual(im.size, (100, 100)) - self.assertEqual(im.getpixel((0, 0)), 60) - self.assertEqual(im.getpixel((0, 1)), 28) + self.assertEqual(im.mode, "L") + self.assertNotEqual(im.getpixel((0, 0)), im.getpixel((0, 1))) def test_effect_spread(self): # Arrange diff --git a/libImaging/Effects.c b/libImaging/Effects.c index eb598d968..a3f5e7cd9 100644 --- a/libImaging/Effects.c +++ b/libImaging/Effects.c @@ -98,8 +98,8 @@ ImagingEffectNoise(int xsize, int ysize, float sigma) /* after numerical recipes */ double v1, v2, radius, factor; do { - v1 = rand()*(2.0/32767.0) - 1.0; - v2 = rand()*(2.0/32767.0) - 1.0; + v1 = rand()*(2.0/RAND_MAX) - 1.0; + v2 = rand()*(2.0/RAND_MAX) - 1.0; radius= v1*v1 + v2*v2; } while (radius >= 1.0); factor = sqrt(-2.0*log(radius)/radius);