FPII-2034: DO NOT MERGE Update libpng to 1.6.20
DO NOT MERGE Update libpng to 1.6.20
BUG:23265085
Change-Id: I2fc2106965c789a54f04412e9c63a0901b0c1e71
(cherry picked from commit 0b39f202aaedd3029e4270d2af7d58ba6634f9cd)
diff --git a/tests/pngstest b/tests/pngstest
index f5cbdbc..255ed09 100755
--- a/tests/pngstest
+++ b/tests/pngstest
@@ -2,12 +2,51 @@
#
# Usage:
#
-# tests/pngstest pattern
+# tests/pngstest gamma alpha
#
-# Runs pngstest on all the contrib/pngsuite/[^x]*${pattern}.png files
-# NOTE: pattern is used to name the temporary files pngstest generates
+# Run ./pngstest on the PNG files in $srcdir/contrib/testpngs which have the
+# given gamma and opacity:
#
-pattern="$1"
+# gamma: one of; linear, 1.8, sRGB, none.
+# alpha: one of; opaque, tRNS, alpha, none. 'none' is equivalent to !alpha
+#
+# NOTE: the temporary files pngstest generates have the base name gamma-alpha to
+# avoid issues with make -j
+#
+gamma="$1"
shift
-exec ./pngstest --strict --tmpfile "${pattern}" --log ${1+"$@"}\
- "${srcdir}/contrib/pngsuite/"[a-wyz]*${pattern}".png"
+alpha="$1"
+shift
+exec ./pngstest --tmpfile "${gamma}-${alpha}-" --log ${1+"$@"} $(
+ for f in "${srcdir}/contrib/testpngs/"*.png
+ do
+ g=
+ case "$f" in
+ *-linear[.-]*)
+ test "$gamma" = "linear" && g="$f";;
+
+ *-sRGB[.-]*)
+ test "$gamma" = "sRGB" && g="$f";;
+
+ *-1.8[.-]*)
+ test "$gamma" = "1.8" && g="$f";;
+
+ *)
+ test "$gamma" = "none" && g="$f";;
+ esac
+
+ case "$g" in
+ "")
+ :;;
+
+ *-alpha[-.]*)
+ test "$alpha" = "alpha" && echo "$g";;
+
+ *-tRNS[-.]*)
+ test "$alpha" = "tRNS" -o "$alpha" = "none" && echo "$g";;
+
+ *)
+ test "$alpha" = "opaque" -o "$alpha" = "none" && echo "$g";;
+ esac
+ done
+)