apply APNG patch for libpng 1.6.37
[platform/upstream/libpng.git] / tests / pngstest
1 #!/bin/sh
2 #
3 # Usage:
4 #
5 #  tests/pngstest gamma alpha
6 #
7 # Run ./pngstest on the PNG files in $srcdir/contrib/testpngs which have the
8 # given gamma and opacity:
9 #
10 #  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 #
16 gamma="$1"
17 shift
18 alpha="$1"
19 shift
20 args=
21 LC_ALL="C" # fix glob sort order to ASCII:
22 for f in "${srcdir}/contrib/testpngs/"*.png
23 do
24    g=
25    case "$f" in
26       *-linear[.-]*)
27          test "$gamma" = "linear" && g="$f";;
28
29       *-sRGB[.-]*)
30          test "$gamma" = "sRGB" && g="$f";;
31
32       *-1.8[.-]*)
33          test "$gamma" = "1.8" && g="$f";;
34
35       *)
36          test "$gamma" = "none" && g="$f";;
37    esac
38
39    case "$g" in
40       "")
41          :;;
42
43       *-alpha[-.]*)
44          test "$alpha" = "alpha" && args="$args $g";;
45
46       *-tRNS[-.]*)
47          test "$alpha" = "tRNS" -o "$alpha" = "none" && args="$args $g";;
48
49       *)
50          test "$alpha" = "opaque" -o "$alpha" = "none" && args="$args $g";;
51    esac
52 done
53 # This only works if the arguments don't contain spaces; they don't.
54 exec ./pngstest --tmpfile "${gamma}-${alpha}-" --log ${1+"$@"} $args