#!/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