diff options
Diffstat (limited to 'Build/source/libs/libpng/libpng-src/tests/pngstest')
-rw-r--r-- | Build/source/libs/libpng/libpng-src/tests/pngstest | 54 |
1 files changed, 54 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..9d1b7764e56 --- /dev/null +++ b/Build/source/libs/libpng/libpng-src/tests/pngstest @@ -0,0 +1,54 @@ +#!/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 +args= +LC_ALL="C" # fix glob sort order to ASCII: +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" && args="$args $g";; + + *-tRNS[-.]*) + test "$alpha" = "tRNS" -o "$alpha" = "none" && args="$args $g";; + + *) + test "$alpha" = "opaque" -o "$alpha" = "none" && args="$args $g";; + esac +done +# This only works if the arguments don't contain spaces; they don't. +exec ./pngstest --tmpfile "${gamma}-${alpha}-" --log ${1+"$@"} $args |