[Debian-med-packaging] Bug#852502: openslide-python: FTBFS (failing tests)

Benjamin Gilbert bgilbert at cs.cmu.edu
Wed Jan 25 08:17:11 UTC 2017


It seems I incorrectly addressed my previous mail, so once again:

Workaround committed upstream and attached.
-------------- next part --------------
>From 4ea9211e10e9fc58d04bac909d73a2448c4a44ff Mon Sep 17 00:00:00 2001
From: Benjamin Gilbert <bgilbert at cs.cmu.edu>
Date: Tue, 24 Jan 2017 23:32:36 -0800
Subject: [PATCH] tests: Avoid spurious failures with Pillow 3.4.0 - 3.4.2

---
 tests/__init__.py        | 10 ++++++++++
 tests/test_imageslide.py |  3 ++-
 tests/test_openslide.py  |  4 +++-
 3 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/tests/__init__.py b/tests/__init__.py
index cc2b217..d2158b3 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -19,6 +19,7 @@
 
 from functools import wraps
 import os
+from PIL import Image
 import unittest
 
 try:
@@ -28,6 +29,15 @@ except ImportError:
     have_optimizations = False
 
 
+# PIL.Image cannot have zero width or height on Pillow 3.4.0 - 3.4.2
+# https://github.com/python-pillow/Pillow/issues/2259
+try:
+    Image.new('RGBA', (1, 0))
+    image_dimensions_cannot_be_zero = False
+except ValueError:
+    image_dimensions_cannot_be_zero = True
+
+
 def file_path(name):
     return os.path.join(os.path.dirname(__file__), name)
 
diff --git a/tests/test_imageslide.py b/tests/test_imageslide.py
index bbde9ec..de2a734 100644
--- a/tests/test_imageslide.py
+++ b/tests/test_imageslide.py
@@ -22,7 +22,7 @@ from openslide import ImageSlide, OpenSlideError
 from PIL import Image
 import unittest
 
-from . import file_path
+from . import file_path, image_dimensions_cannot_be_zero, skip_if
 
 # Tests should be written to be compatible with Python 2.6 unittest.
 
@@ -104,6 +104,7 @@ class TestImage(unittest.TestCase):
         self.assertEqual(self.osr.read_region((-10, -10), 0, (400, 400)).size,
                 (400, 400))
 
+    @skip_if(image_dimensions_cannot_be_zero, 'Pillow issue #2259')
     def test_read_region_size_dimension_zero(self):
         self.assertEqual(self.osr.read_region((0, 0), 0, (400, 0)).size,
                 (400, 0))
diff --git a/tests/test_openslide.py b/tests/test_openslide.py
index 3350c76..b80e2f5 100644
--- a/tests/test_openslide.py
+++ b/tests/test_openslide.py
@@ -25,7 +25,8 @@ import re
 import sys
 import unittest
 
-from . import file_path, have_optimizations, skip_if
+from . import (file_path, have_optimizations, image_dimensions_cannot_be_zero,
+        skip_if)
 
 # Tests should be written to be compatible with Python 2.6 unittest.
 
@@ -110,6 +111,7 @@ class TestSlide(_SlideTest, unittest.TestCase):
         self.assertEqual(self.osr.read_region((-10, -10), 1, (400, 400)).size,
                 (400, 400))
 
+    @skip_if(image_dimensions_cannot_be_zero, 'Pillow issue #2259')
     def test_read_region_size_dimension_zero(self):
         self.assertEqual(self.osr.read_region((0, 0), 1, (400, 0)).size,
                 (400, 0))
-- 
2.7.4



More information about the Debian-med-packaging mailing list