Skip to content

Commit 4aeda28

Browse files
committed
updating tests to pass with libheif==1.13 #38
1 parent 804690d commit 4aeda28

File tree

2 files changed

+31
-7
lines changed

2 files changed

+31
-7
lines changed

tests/basic_test.py

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import builtins
22
import os
3-
import sys
43
from pathlib import Path
54

65
import dataset
6+
import helpers
77
import pytest
88

99
import pillow_heif
@@ -13,13 +13,15 @@
1313

1414
def test_libheif_info():
1515
info = pillow_heif.libheif_info()
16-
assert info["version"]["libheif"] == "1.12.0"
16+
assert info["version"]["libheif"] in ("1.12.0", "1.13.0")
1717
assert info["decoders"]["HEVC"]
18-
if os.getenv("PH_LIGHT", "0") != "0" or sys.maxsize <= 2**32:
19-
return
20-
assert info["decoders"]["AV1"]
21-
assert info["encoders"]["AV1"]
22-
assert info["encoders"]["HEVC"]
18+
19+
20+
@pytest.mark.skipif(helpers.aom_enc() and helpers.aom_dec(), reason="Only when AOM missing.")
21+
@pytest.mark.skipif(pillow_heif.libheif_info()["version"]["aom"] == "Rav1e encoder", reason="Rav1e not supported")
22+
def test_pillow_register_avif_plugin():
23+
with pytest.warns(UserWarning):
24+
pillow_heif.register_avif_opener()
2325

2426

2527
@pytest.mark.parametrize("img_path", dataset.FULL_DATASET)
@@ -63,3 +65,21 @@ def test_heif_str():
6365
assert str(heif_file.thumbnails[0]) == f"{str_thumb_nl} Original:{str_img_l_1}"
6466
heif_file.thumbnails[0].load() # Should not change anything, thumbnails are cloned without data.
6567
assert str(heif_file.thumbnails[0]) == f"{str_thumb_nl} Original:{str_img_l_1}"
68+
69+
70+
@pytest.mark.skipif(not helpers.RELEASE_FULL_FLAG, reason="Only when building full release")
71+
def test_full_build():
72+
info = pillow_heif.libheif_info()
73+
assert info["decoders"]["AV1"]
74+
assert info["encoders"]["AV1"]
75+
assert info["encoders"]["HEVC"]
76+
assert info["version"]["libheif"] == os.getenv("EXP_PH_LIBHEIF_VERSION", "1.13.0")
77+
78+
79+
@pytest.mark.skipif(not helpers.RELEASE_LIGHT_FLAG, reason="Only when building light release")
80+
def test_light_build():
81+
info = pillow_heif.libheif_info()
82+
assert not info["decoders"]["AV1"]
83+
assert not info["encoders"]["AV1"]
84+
assert not info["encoders"]["HEVC"]
85+
assert info["version"]["libheif"] == os.getenv("EXP_PH_LIBHEIF_VERSION", "1.13.0")

tests/helpers.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@
2222
np = None
2323

2424

25+
RELEASE_FULL_FLAG = getenv("PH_FULL_ACTION", "0") == "1"
26+
RELEASE_LIGHT_FLAG = getenv("PH_LIGHT_ACTION", "0") == "1"
27+
28+
2529
def assert_image_equal(a, b):
2630
assert a.mode == b.mode
2731
assert a.size == b.size

0 commit comments

Comments
 (0)