blob: 255ed098f17cd49f340bd41b997711e8cfbffe16 [file] [log] [blame]
Chris Craikca2bf812013-07-29 15:28:30 -07001#!/bin/sh
2#
3# Usage:
4#
Matt Sarett9ea75692016-01-08 13:00:42 -05005# tests/pngstest gamma alpha
Chris Craikca2bf812013-07-29 15:28:30 -07006#
Matt Sarett9ea75692016-01-08 13:00:42 -05007# Run ./pngstest on the PNG files in $srcdir/contrib/testpngs which have the
8# given gamma and opacity:
Chris Craikca2bf812013-07-29 15:28:30 -07009#
Matt Sarett9ea75692016-01-08 13:00:42 -050010# gamma: one of; linear, 1.8, sRGB, none.
11# alpha: one of; opaque, tRNS, alpha, none. 'none' is equivalent to !alpha
12#
13# NOTE: the temporary files pngstest generates have the base name gamma-alpha to
14# avoid issues with make -j
15#
16gamma="$1"
Chris Craikca2bf812013-07-29 15:28:30 -070017shift
Matt Sarett9ea75692016-01-08 13:00:42 -050018alpha="$1"
19shift
20exec ./pngstest --tmpfile "${gamma}-${alpha}-" --log ${1+"$@"} $(
21 for f in "${srcdir}/contrib/testpngs/"*.png
22 do
23 g=
24 case "$f" in
25 *-linear[.-]*)
26 test "$gamma" = "linear" && g="$f";;
27
28 *-sRGB[.-]*)
29 test "$gamma" = "sRGB" && g="$f";;
30
31 *-1.8[.-]*)
32 test "$gamma" = "1.8" && g="$f";;
33
34 *)
35 test "$gamma" = "none" && g="$f";;
36 esac
37
38 case "$g" in
39 "")
40 :;;
41
42 *-alpha[-.]*)
43 test "$alpha" = "alpha" && echo "$g";;
44
45 *-tRNS[-.]*)
46 test "$alpha" = "tRNS" -o "$alpha" = "none" && echo "$g";;
47
48 *)
49 test "$alpha" = "opaque" -o "$alpha" = "none" && echo "$g";;
50 esac
51 done
52)