known failing tests from valgrind -- uninitialized values

This commit is contained in:
Eric Soroos 2021-01-07 14:50:25 +01:00
parent a58ff327d4
commit 1d7c8e03d0
9 changed files with 22 additions and 7 deletions

View File

@ -58,7 +58,7 @@ def test_invalid_file():
with pytest.raises(SyntaxError): with pytest.raises(SyntaxError):
EpsImagePlugin.EpsImageFile(invalid_file) EpsImagePlugin.EpsImageFile(invalid_file)
@pytest.mark.valgrind_known_error(reason="Known Failing")
@pytest.mark.skipif(not HAS_GHOSTSCRIPT, reason="Ghostscript not available") @pytest.mark.skipif(not HAS_GHOSTSCRIPT, reason="Ghostscript not available")
def test_cmyk(): def test_cmyk():
with Image.open("Tests/images/pil_sample_cmyk.eps") as cmyk_image: with Image.open("Tests/images/pil_sample_cmyk.eps") as cmyk_image:

View File

@ -114,6 +114,7 @@ class TestFileJpeg:
assert test(100, 200) == (100, 200) assert test(100, 200) == (100, 200)
assert test(0) is None # square pixels assert test(0) is None # square pixels
@pytest.mark.valgrind_known_error(reason="Known Failing")
def test_icc(self, tmp_path): def test_icc(self, tmp_path):
# Test ICC support # Test ICC support
with Image.open("Tests/images/rgb.jpg") as im1: with Image.open("Tests/images/rgb.jpg") as im1:
@ -153,6 +154,7 @@ class TestFileJpeg:
test(ImageFile.MAXBLOCK + 1) # full buffer block plus one byte test(ImageFile.MAXBLOCK + 1) # full buffer block plus one byte
test(ImageFile.MAXBLOCK * 4 + 3) # large block test(ImageFile.MAXBLOCK * 4 + 3) # large block
@pytest.mark.valgrind_known_error(reason="Known Failing")
def test_large_icc_meta(self, tmp_path): def test_large_icc_meta(self, tmp_path):
# https://github.com/python-pillow/Pillow/issues/148 # https://github.com/python-pillow/Pillow/issues/148
# Sometimes the meta data on the icc_profile block is bigger than # Sometimes the meta data on the icc_profile block is bigger than
@ -419,6 +421,7 @@ class TestFileJpeg:
with Image.open(filename): with Image.open(filename):
pass pass
@pytest.mark.valgrind_known_error(reason="Known Failing")
def test_truncated_jpeg_should_read_all_the_data(self): def test_truncated_jpeg_should_read_all_the_data(self):
filename = "Tests/images/truncated_jpeg.jpg" filename = "Tests/images/truncated_jpeg.jpg"
ImageFile.LOAD_TRUNCATED_IMAGES = True ImageFile.LOAD_TRUNCATED_IMAGES = True
@ -437,6 +440,7 @@ class TestFileJpeg:
with pytest.raises(OSError): with pytest.raises(OSError):
im.load() im.load()
@pytest.mark.valgrind_known_error(reason="Known Failing")
def test_qtables(self, tmp_path): def test_qtables(self, tmp_path):
def _n_qtables_helper(n, test_file): def _n_qtables_helper(n, test_file):
with Image.open(test_file) as im: with Image.open(test_file) as im:
@ -720,6 +724,7 @@ class TestFileJpeg:
# OSError for unidentified image. # OSError for unidentified image.
assert im.info.get("dpi") == (72, 72) assert im.info.get("dpi") == (72, 72)
@pytest.mark.valgrind_known_error(reason="Known Failing")
def test_exif_x_resolution(self, tmp_path): def test_exif_x_resolution(self, tmp_path):
with Image.open("Tests/images/flower.jpg") as im: with Image.open("Tests/images/flower.jpg") as im:
exif = im.getexif() exif = im.getexif()
@ -750,6 +755,7 @@ class TestFileJpeg:
# Act / Assert # Act / Assert
assert im._getexif()[306] == "2017:03:13 23:03:09" assert im._getexif()[306] == "2017:03:13 23:03:09"
@pytest.mark.valgrind_known_error(reason="Backtrace in Python Core")
def test_photoshop(self): def test_photoshop(self):
with Image.open("Tests/images/photoshop-200dpi.jpg") as im: with Image.open("Tests/images/photoshop-200dpi.jpg") as im:
assert im.info["photoshop"][0x03ED] == { assert im.info["photoshop"][0x03ED] == {

View File

@ -815,12 +815,14 @@ class TestFileLibTiff(LibTiffTestCase):
with Image.open(infile) as im: with Image.open(infile) as im:
assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 0.5) assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 0.5)
@pytest.mark.valgrind_known_error(reason="Known Failing")
@pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian")
def test_strip_ycbcr_jpeg_2x2_sampling(self): def test_strip_ycbcr_jpeg_2x2_sampling(self):
infile = "Tests/images/tiff_strip_ycbcr_jpeg_2x2_sampling.tif" infile = "Tests/images/tiff_strip_ycbcr_jpeg_2x2_sampling.tif"
with Image.open(infile) as im: with Image.open(infile) as im:
assert_image_similar_tofile(im, "Tests/images/flower.jpg", 0.5) assert_image_similar_tofile(im, "Tests/images/flower.jpg", 0.5)
@pytest.mark.valgrind_known_error(reason="Known Failing")
@pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian")
def test_strip_ycbcr_jpeg_1x1_sampling(self): def test_strip_ycbcr_jpeg_1x1_sampling(self):
infile = "Tests/images/tiff_strip_ycbcr_jpeg_1x1_sampling.tif" infile = "Tests/images/tiff_strip_ycbcr_jpeg_1x1_sampling.tif"
@ -832,12 +834,14 @@ class TestFileLibTiff(LibTiffTestCase):
with Image.open(infile) as im: with Image.open(infile) as im:
assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 0.5) assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 0.5)
@pytest.mark.valgrind_known_error(reason="Known Failing")
@pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian")
def test_tiled_ycbcr_jpeg_1x1_sampling(self): def test_tiled_ycbcr_jpeg_1x1_sampling(self):
infile = "Tests/images/tiff_tiled_ycbcr_jpeg_1x1_sampling.tif" infile = "Tests/images/tiff_tiled_ycbcr_jpeg_1x1_sampling.tif"
with Image.open(infile) as im: with Image.open(infile) as im:
assert_image_equal_tofile(im, "Tests/images/flower2.jpg") assert_image_equal_tofile(im, "Tests/images/flower2.jpg")
@pytest.mark.valgrind_known_error(reason="Known Failing")
@pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian") @pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian")
def test_tiled_ycbcr_jpeg_2x2_sampling(self): def test_tiled_ycbcr_jpeg_2x2_sampling(self):
infile = "Tests/images/tiff_tiled_ycbcr_jpeg_2x2_sampling.tif" infile = "Tests/images/tiff_tiled_ycbcr_jpeg_2x2_sampling.tif"
@ -865,6 +869,7 @@ class TestFileLibTiff(LibTiffTestCase):
assert_image_similar(base_im, im, 0.7) assert_image_similar(base_im, im, 0.7)
@pytest.mark.valgrind_known_error(reason="Backtrace in Python Core")
def test_sampleformat_not_corrupted(self): def test_sampleformat_not_corrupted(self):
# Assert that a TIFF image with SampleFormat=UINT tag is not corrupted # Assert that a TIFF image with SampleFormat=UINT tag is not corrupted
# when saving to a new file. # when saving to a new file.

View File

@ -84,7 +84,7 @@ def test_unsupported_mode(tmp_path):
with pytest.raises(ValueError): with pytest.raises(ValueError):
im.save(outfile) im.save(outfile)
@pytest.mark.valgrind_known_error(reason="Known Failing")
def test_save_all(tmp_path): def test_save_all(tmp_path):
# Single frame image # Single frame image
helper_save_as_pdf(tmp_path, "RGB", save_all=True) helper_save_as_pdf(tmp_path, "RGB", save_all=True)

View File

@ -654,6 +654,7 @@ class TestFilePng:
exif = reloaded._getexif() exif = reloaded._getexif()
assert exif[274] == 1 assert exif[274] == 1
@pytest.mark.valgrind_known_error(reason="Known Failing")
def test_exif_from_jpg(self, tmp_path): def test_exif_from_jpg(self, tmp_path):
with Image.open("Tests/images/pil_sample_rgb.jpg") as im: with Image.open("Tests/images/pil_sample_rgb.jpg") as im:
test_file = str(tmp_path / "temp.png") test_file = str(tmp_path / "temp.png")

View File

@ -1,5 +1,5 @@
from io import BytesIO from io import BytesIO
import pytest
from PIL import Image from PIL import Image
from .helper import skip_unless_feature from .helper import skip_unless_feature
@ -38,7 +38,7 @@ def test_read_exif_metadata_without_prefix():
exif = im.getexif() exif = im.getexif()
assert exif[305] == "Adobe Photoshop CS6 (Macintosh)" assert exif[305] == "Adobe Photoshop CS6 (Macintosh)"
@pytest.mark.valgrind_known_error(reason="Known Failing")
def test_write_exif_metadata(): def test_write_exif_metadata():
file_path = "Tests/images/flower.jpg" file_path = "Tests/images/flower.jpg"
test_buffer = BytesIO() test_buffer = BytesIO()
@ -70,7 +70,7 @@ def test_read_icc_profile():
assert icc == expected_icc assert icc == expected_icc
@pytest.mark.valgrind_known_error(reason="Known Failing")
def test_write_icc_metadata(): def test_write_icc_metadata():
file_path = "Tests/images/flower2.jpg" file_path = "Tests/images/flower2.jpg"
test_buffer = BytesIO() test_buffer = BytesIO()
@ -87,7 +87,7 @@ def test_write_icc_metadata():
if webp_icc_profile: if webp_icc_profile:
assert webp_icc_profile == expected_icc_profile, "Webp ICC didn't match" assert webp_icc_profile == expected_icc_profile, "Webp ICC didn't match"
@pytest.mark.valgrind_known_error(reason="Known Failing")
def test_read_no_exif(): def test_read_no_exif():
file_path = "Tests/images/flower.jpg" file_path = "Tests/images/flower.jpg"
test_buffer = BytesIO() test_buffer = BytesIO()

View File

@ -652,6 +652,7 @@ class TestImage:
assert not fp.closed assert not fp.closed
@pytest.mark.valgrind_known_error(reason="Known Failing")
def test_exif_jpeg(self, tmp_path): def test_exif_jpeg(self, tmp_path):
with Image.open("Tests/images/exif-72dpi-int.jpg") as im: # Little endian with Image.open("Tests/images/exif-72dpi-int.jpg") as im: # Little endian
exif = im.getexif() exif = im.getexif()

View File

@ -455,6 +455,7 @@ class TestCoreResampleBox:
tiled.paste(tile, (x0, y0)) tiled.paste(tile, (x0, y0))
return tiled return tiled
@pytest.mark.valgrind_known_error(reason="Known Failing")
def test_tiles(self): def test_tiles(self):
with Image.open("Tests/images/flower.jpg") as im: with Image.open("Tests/images/flower.jpg") as im:
assert im.size == (480, 360) assert im.size == (480, 360)
@ -465,6 +466,7 @@ class TestCoreResampleBox:
tiled = self.resize_tiled(im, dst_size, *tiles) tiled = self.resize_tiled(im, dst_size, *tiles)
assert_image_similar(reference, tiled, 0.01) assert_image_similar(reference, tiled, 0.01)
@pytest.mark.valgrind_known_error(reason="Known Failing")
def test_subsample(self): def test_subsample(self):
# This test shows advantages of the subpixel resizing # This test shows advantages of the subpixel resizing
# after supersampling (e.g. during JPEG decoding). # after supersampling (e.g. during JPEG decoding).

View File

@ -87,7 +87,7 @@ def test_no_resize():
im.thumbnail((64, 64)) im.thumbnail((64, 64))
assert im.size == (64, 64) assert im.size == (64, 64)
@pytest.mark.valgrind_known_error(reason="Known Failing")
def test_DCT_scaling_edges(): def test_DCT_scaling_edges():
# Make an image with red borders and size (N * 8) + 1 to cross DCT grid # Make an image with red borders and size (N * 8) + 1 to cross DCT grid
im = Image.new("RGB", (257, 257), "red") im = Image.new("RGB", (257, 257), "red")