diff --git a/Tests/test_file_tar.py b/Tests/test_file_tar.py index 0f87ea2c0..fa33d3802 100644 --- a/Tests/test_file_tar.py +++ b/Tests/test_file_tar.py @@ -2,21 +2,27 @@ from tester import * from PIL import Image, TarIO +codecs = dir(Image.core) +if "zip_decoder" not in codecs and "jpeg_decoder" not in codecs: + skip("neither jpeg nor zip support not available") + # sample ppm stream tarfile = "Images/lena.tar" def test_sanity(): - tar = TarIO.TarIO(tarfile, 'lena.png') - im = Image.open(tar) - im.load() - assert_equal(im.mode, "RGB") - assert_equal(im.size, (128, 128)) - assert_equal(im.format, "PNG") + if "zip_decoder" in codecs: + tar = TarIO.TarIO(tarfile, 'lena.png') + im = Image.open(tar) + im.load() + assert_equal(im.mode, "RGB") + assert_equal(im.size, (128, 128)) + assert_equal(im.format, "PNG") - tar = TarIO.TarIO(tarfile, 'lena.jpg') - im = Image.open(tar) - im.load() - assert_equal(im.mode, "RGB") - assert_equal(im.size, (128, 128)) - assert_equal(im.format, "JPEG") + if "jpeg_decoder" in codecs: + tar = TarIO.TarIO(tarfile, 'lena.jpg') + im = Image.open(tar) + im.load() + assert_equal(im.mode, "RGB") + assert_equal(im.size, (128, 128)) + assert_equal(im.format, "JPEG") diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index 6db12c4ff..cd3f2915b 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -4,6 +4,11 @@ from PIL import Image import random +codecs = dir(Image.core) + +if "group4_encoder" not in codecs or "group4_decoder" not in codecs: + skip("tiff support not available") + def test_sanity(): file = tempfile("temp.tif") diff --git a/Tests/test_font_pcf.py b/Tests/test_font_pcf.py index 958657eaa..60e6e0e26 100644 --- a/Tests/test_font_pcf.py +++ b/Tests/test_font_pcf.py @@ -3,6 +3,11 @@ from tester import * from PIL import Image, FontFile, PcfFontFile from PIL import ImageFont, ImageDraw +codecs = dir(Image.core) + +if "zip_encoder" not in codecs or "zip_decoder" not in codecs: + skip("zlib support not available") + fontname = "Tests/fonts/helvO18.pcf" tempname = tempfile("temp.pil", "temp.pbm") diff --git a/Tests/test_image_draft.py b/Tests/test_image_draft.py index 41df761a6..e512aa033 100644 --- a/Tests/test_image_draft.py +++ b/Tests/test_image_draft.py @@ -2,6 +2,11 @@ from tester import * from PIL import Image +codecs = dir(Image.core) + +if "jpeg_encoder" not in codecs or "jpeg_decoder" not in codecs: + skip("jpeg support not available") + filename = "Images/lena.jpg" data = tostring(Image.open(filename).resize((512, 512)), "JPEG") diff --git a/Tests/test_image_split.py b/Tests/test_image_split.py index 7fc70182b..07a779664 100644 --- a/Tests/test_image_split.py +++ b/Tests/test_image_split.py @@ -30,7 +30,13 @@ def test_split_merge(): assert_image_equal(lena("YCbCr"), split_merge("YCbCr")) def test_split_open(): - file = tempfile("temp.png") + codecs = dir(Image.core) + + if 'zip_encoder' in codecs: + file = tempfile("temp.png") + else: + file = tempfile("temp.pcx") + def split_open(mode): lena(mode).save(file) im = Image.open(file) @@ -39,4 +45,5 @@ def test_split_open(): assert_equal(split_open("L"), 1) assert_equal(split_open("P"), 1) assert_equal(split_open("RGB"), 3) - assert_equal(split_open("RGBA"), 4) + if 'zip_encoder' in codecs: + assert_equal(split_open("RGBA"), 4) diff --git a/Tests/test_imagefile.py b/Tests/test_imagefile.py index 7493e0846..382ae27f2 100644 --- a/Tests/test_imagefile.py +++ b/Tests/test_imagefile.py @@ -3,6 +3,8 @@ from tester import * from PIL import Image from PIL import ImageFile +codecs = dir(Image.core) + # save original block sizes MAXBLOCK = ImageFile.MAXBLOCK SAFEBLOCK = ImageFile.SAFEBLOCK @@ -31,12 +33,13 @@ def test_parser(): assert_image_equal(*roundtrip("GIF")) assert_image_equal(*roundtrip("IM")) assert_image_equal(*roundtrip("MSP")) - try: - # force multiple blocks in PNG driver - ImageFile.MAXBLOCK = 8192 - assert_image_equal(*roundtrip("PNG")) - finally: - ImageFile.MAXBLOCK = MAXBLOCK + if "zip_encoder" in codecs: + try: + # force multiple blocks in PNG driver + ImageFile.MAXBLOCK = 8192 + assert_image_equal(*roundtrip("PNG")) + finally: + ImageFile.MAXBLOCK = MAXBLOCK assert_image_equal(*roundtrip("PPM")) assert_image_equal(*roundtrip("TIFF")) assert_image_equal(*roundtrip("XBM")) @@ -44,8 +47,9 @@ def test_parser(): assert_image_equal(*roundtrip("TGA")) assert_image_equal(*roundtrip("PCX")) - im1, im2 = roundtrip("JPEG") # lossy compression - assert_image(im1, im2.mode, im2.size) + if "jpeg_encoder" in codecs: + im1, im2 = roundtrip("JPEG") # lossy compression + assert_image(im1, im2.mode, im2.size) # XXX Why assert exception and why does it fail? # https://github.com/python-imaging/Pillow/issues/78 @@ -55,6 +59,9 @@ def test_safeblock(): im1 = lena() + if "zip_encoder" not in codecs: + skip("PNG (zlib) encoder not available") + try: ImageFile.SAFEBLOCK = 1 im2 = fromstring(tostring(im1, "PNG"))