Skip to content

Commit

Permalink
Include code in WebP error
Browse files Browse the repository at this point in the history
  • Loading branch information
radarhere committed May 6, 2021
1 parent 8354fa4 commit 4080f16
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
9 changes: 9 additions & 0 deletions Tests/test_file_webp.py
@@ -1,5 +1,6 @@
import io
import re
import sys

import pytest

Expand Down Expand Up @@ -119,6 +120,14 @@ def test_write_unsupported_mode_P(self, tmp_path):

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):
"""
Calling encoder functions with no arguments should result in an error.
Expand Down
2 changes: 1 addition & 1 deletion src/_webp.c
Expand Up @@ -663,7 +663,7 @@ WebPEncode_wrapper(PyObject *self, PyObject *args) {

WebPPictureFree(&pic);
if (!ok) {
PyErr_SetString(PyExc_ValueError, "encoding error");
PyErr_Format(PyExc_ValueError, "encoding error %d", (&pic)->error_code);
return NULL;
}
output = writer.mem;
Expand Down

0 comments on commit 4080f16

Please sign in to comment.