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