Skip to content

Commit 4be1e19

Browse files
committed
tests: Test reading bad image data
1 parent 54a09d1 commit 4be1e19

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

tests/test_openslide.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,3 +128,29 @@ def test_associated_images(self):
128128
# test __len__ and __iter__
129129
self.assertEqual(len([v for v in self.osr.associated_images]),
130130
len(self.osr.associated_images))
131+
132+
133+
class TestUnreadableSlide(unittest.TestCase):
134+
def setUp(self):
135+
self.osr = OpenSlide(file_path('unreadable.svs'))
136+
137+
def tearDown(self):
138+
self.osr.close()
139+
140+
def test_read_bad_region(self):
141+
self.assertEqual(self.osr.properties['openslide.vendor'], 'aperio')
142+
self.assertRaises(OpenSlideError,
143+
lambda: self.osr.read_region((0, 0), 0, (16, 16)))
144+
# verify that errors are sticky
145+
self.assertRaises(OpenSlideError,
146+
lambda: self.osr.properties['openslide.vendor'])
147+
148+
def test_read_bad_associated_image(self):
149+
self.assertEqual(self.osr.properties['openslide.vendor'], 'aperio')
150+
# Prints "JPEGLib: Bogus marker length." to stderr due to
151+
# https://github.com/openslide/openslide/issues/36
152+
self.assertRaises(OpenSlideError,
153+
lambda: self.osr.associated_images['thumbnail'])
154+
# verify that errors are sticky
155+
self.assertRaises(OpenSlideError,
156+
lambda: self.osr.properties['openslide.vendor'])

tests/unreadable.svs

2.59 KB
Binary file not shown.

0 commit comments

Comments
 (0)