mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-12-25 17:36:18 +03:00
Reenabling failing/crashing tests, with fixes
This commit is contained in:
parent
b56d5ca403
commit
05348d4f8f
|
@ -1230,8 +1230,12 @@ def _save(im, fp, filename):
|
||||||
# Merge the ones that we have with (optional) more bits from
|
# Merge the ones that we have with (optional) more bits from
|
||||||
# the original file, e.g x,y resolution so that we can
|
# the original file, e.g x,y resolution so that we can
|
||||||
# save(load('')) == original file.
|
# save(load('')) == original file.
|
||||||
|
legacy_ifd = {}
|
||||||
|
if hasattr(im, 'tag'):
|
||||||
|
legacy_ifd = im.tag.to_v2()
|
||||||
for k, v in itertools.chain(ifd.items(),
|
for k, v in itertools.chain(ifd.items(),
|
||||||
getattr(im, 'ifd', {}).items()):
|
getattr(im, 'tag_v2', {}).items(),
|
||||||
|
legacy_ifd.items()):
|
||||||
if k not in atts and k not in blocklist:
|
if k not in atts and k not in blocklist:
|
||||||
if isinstance(v, unicode if bytes is str else str):
|
if isinstance(v, unicode if bytes is str else str):
|
||||||
atts[k] = v.encode('ascii', 'replace') + b"\0"
|
atts[k] = v.encode('ascii', 'replace') + b"\0"
|
||||||
|
|
|
@ -198,7 +198,7 @@ class TestFileLibTiff(LibTiffTestCase):
|
||||||
# UNDONE - libtiff defaults to writing in native endian, so
|
# UNDONE - libtiff defaults to writing in native endian, so
|
||||||
# on big endian, we'll get back mode = 'I;16B' here.
|
# on big endian, we'll get back mode = 'I;16B' here.
|
||||||
|
|
||||||
def xtest_big_endian(self):
|
def test_big_endian(self):
|
||||||
im = Image.open('Tests/images/16bit.MM.deflate.tif')
|
im = Image.open('Tests/images/16bit.MM.deflate.tif')
|
||||||
|
|
||||||
self.assertEqual(im.getpixel((0, 0)), 480)
|
self.assertEqual(im.getpixel((0, 0)), 480)
|
||||||
|
|
|
@ -308,10 +308,7 @@ class TestFileTiff(PillowTestCase):
|
||||||
self.assertEqual(im.mode, "L")
|
self.assertEqual(im.mode, "L")
|
||||||
self.assert_image_similar(im, original, 7.3)
|
self.assert_image_similar(im, original, 7.3)
|
||||||
|
|
||||||
###
|
def test_page_number_x_0(self):
|
||||||
# UNDONE
|
|
||||||
### Segfaulting
|
|
||||||
def xtest_page_number_x_0(self):
|
|
||||||
# Issue 973
|
# Issue 973
|
||||||
# Test TIFF with tag 297 (Page Number) having value of 0 0.
|
# Test TIFF with tag 297 (Page Number) having value of 0 0.
|
||||||
# The first number is the current page number.
|
# The first number is the current page number.
|
||||||
|
|
6
encode.c
6
encode.c
|
@ -775,7 +775,7 @@ PyImaging_LibTiffEncoderNew(PyObject* self, PyObject* args)
|
||||||
len, intav);
|
len, intav);
|
||||||
free(intav);
|
free(intav);
|
||||||
}
|
}
|
||||||
} else {
|
} else if (PyFloat_Check(PyTuple_GetItem(value,0))) {
|
||||||
TRACE((" %d elements, setting as floats \n", len));
|
TRACE((" %d elements, setting as floats \n", len));
|
||||||
floatav = malloc(sizeof(float)*len);
|
floatav = malloc(sizeof(float)*len);
|
||||||
if (floatav) {
|
if (floatav) {
|
||||||
|
@ -787,6 +787,10 @@ PyImaging_LibTiffEncoderNew(PyObject* self, PyObject* args)
|
||||||
len, floatav);
|
len, floatav);
|
||||||
free(floatav);
|
free(floatav);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
TRACE(("Unhandled type in tuple for key %d : %s \n",
|
||||||
|
(int)PyInt_AsLong(key),
|
||||||
|
PyBytes_AsString(PyObject_Str(value))));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user