tests: look for sRGB.icc in several paths, skip related tests if not found

This commit is contained in:
Louis Sautier 2021-08-19 01:14:13 +02:00
parent 1f3b456ac9
commit 2c287a6e98
Signed by: sbraz
GPG key ID: A777716B30AE82E3
2 changed files with 19 additions and 11 deletions

View file

@ -13,7 +13,6 @@ matrix:
- netpbm
- ghostscript
- mupdf-tools
- icc-profiles-free
- name: "python 3.9 Windows"
os: windows
language: shell # 'language: python' is an error on Travis CI Windows

View file

@ -20,6 +20,19 @@ import warnings
import json
import pathlib
SCRIPT_DIR = pathlib.Path(__file__).resolve().parent
ICC_PROFILE = None
ICC_PROFILE_PATHS = (
"/usr/share/color/icc/ghostscript/srgb.icc",
"/usr/share/ghostscript/9.54.0/iccprofiles/srgb.icc",
"/usr/share/color/icc/sRGB.icc",
"/usr/share/color/icc/OpenICC/sRGB.icc",
)
for path in ICC_PROFILE_PATHS:
if os.path.exists(path):
ICC_PROFILE = path
break
HAVE_MUTOOL = True
try:
ver = subprocess.check_output(["mutool", "-v"], stderr=subprocess.STDOUT)
@ -304,11 +317,9 @@ def compare(im1, im2, exact, icc, cmyk):
else:
iccargs = []
if icc:
profile = "/usr/share/color/icc/sRGB.icc"
if not os.path.isfile(profile):
warnings.warn(profile + " not present, skipping checks...")
return
iccargs = ["-profile", profile]
if ICC_PROFILE is None:
pytest.skip("Could not locate an ICC profile")
iccargs = ["-profile", ICC_PROFILE]
psnr = subprocess.run(
["compare"]
+ iccargs
@ -421,10 +432,8 @@ def compare_pdfimages_png(tmpdir, img, pdf, exact=True, icc=False):
)
else:
if icc:
profile = "/usr/share/color/icc/ghostscript/srgb.icc"
if not os.path.isfile(profile):
warnings.warn(profile + " not present, skipping checks...")
return
if ICC_PROFILE is None:
pytest.skip("Could not locate an ICC profile")
psnr = subprocess.run(
[
"compare",
@ -432,7 +441,7 @@ def compare_pdfimages_png(tmpdir, img, pdf, exact=True, icc=False):
"PSNR",
"(",
"-profile",
profile,
ICC_PROFILE,
"-depth",
"8",
str(img),