Include code in WebP error

This commit is contained in:
Andrew Murray 2021-05-07 00:12:03 +10:00
parent 8354fa4929
commit 4080f160b6
2 changed files with 10 additions and 1 deletions

View File

@ -1,5 +1,6 @@
import io import io
import re import re
import sys
import pytest import pytest
@ -119,6 +120,14 @@ class TestFileWebp:
self._roundtrip(tmp_path, "P", 50.0) self._roundtrip(tmp_path, "P", 50.0)
@pytest.mark.skipif(sys.maxsize <= 2 ** 32, reason="Requires 64-bit system")
def test_write_encoding_error_message(self, tmp_path):
temp_file = str(tmp_path / "temp.webp")
im = Image.new("RGB", (15000, 15000))
with pytest.raises(ValueError) as e:
im.save(temp_file, method=0)
assert str(e.value) == "encoding error 6"
def test_WebPEncode_with_invalid_args(self): def test_WebPEncode_with_invalid_args(self):
""" """
Calling encoder functions with no arguments should result in an error. Calling encoder functions with no arguments should result in an error.

View File

@ -663,7 +663,7 @@ WebPEncode_wrapper(PyObject *self, PyObject *args) {
WebPPictureFree(&pic); WebPPictureFree(&pic);
if (!ok) { if (!ok) {
PyErr_SetString(PyExc_ValueError, "encoding error"); PyErr_Format(PyExc_ValueError, "encoding error %d", (&pic)->error_code);
return NULL; return NULL;
} }
output = writer.mem; output = writer.mem;