1 #!/bin/sh 2 # 3 # Usage: 4 # 5 # tests/pngstest gamma alpha 6 # 7 # Run ./pngstest on the PNG files in $srcdir/contrib/testpngs which have the 8 # given gamma and opacity: 9 # 10 # gamma: one of; linear, 1.8, sRGB, none. 11 # alpha: one of; opaque, tRNS, alpha, none. 'none' is equivalent to !alpha 12 # 13 # NOTE: the temporary files pngstest generates have the base name gamma-alpha to 14 # avoid issues with make -j 15 # 16 gamma="$1" 17 shift 18 alpha="$1" 19 shift 20 args= 21 LC_ALL="C" # fix glob sort order to ASCII: 22 for f in "${srcdir}/contrib/testpngs/"*.png 23 do 24 g= 25 case "$f" in 26 *-linear[.-]*) 27 test "$gamma" = "linear" && g="$f";; 28 29 *-sRGB[.-]*) 30 test "$gamma" = "sRGB" && g="$f";; 31 32 *-1.8[.-]*) 33 test "$gamma" = "1.8" && g="$f";; 34 35 *) 36 test "$gamma" = "none" && g="$f";; 37 esac 38 39 case "$g" in 40 "") 41 :;; 42 43 *-alpha[-.]*) 44 test "$alpha" = "alpha" && args="$args $g";; 45 46 *-tRNS[-.]*) 47 test "$alpha" = "tRNS" -o "$alpha" = "none" && args="$args $g";; 48 49 *) 50 test "$alpha" = "opaque" -o "$alpha" = "none" && args="$args $g";; 51 esac 52 done 53 # This only works if the arguments don't contain spaces; they don't. 54 exec ./pngstest --tmpfile "${gamma}-${alpha}-" --log ${1+"$@"} $args 55