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