diff options
Diffstat (limited to 'Build/source/libs/libpng/libpng-src/tests/pngstest')
-rw-r--r-- | Build/source/libs/libpng/libpng-src/tests/pngstest | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Build/source/libs/libpng/libpng-src/tests/pngstest b/Build/source/libs/libpng/libpng-src/tests/pngstest new file mode 100644 index 00000000000..255ed098f17 --- /dev/null +++ b/Build/source/libs/libpng/libpng-src/tests/pngstest @@ -0,0 +1,52 @@ +#!/bin/sh +# +# Usage: +# +# tests/pngstest gamma alpha +# +# Run ./pngstest on the PNG files in $srcdir/contrib/testpngs which have the +# given gamma and opacity: +# +# 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 +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 +) |