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# 16gamma="$1" 17shift 18alpha="$1" 19shift 20args= 21LC_ALL="C" # fix glob sort order to ASCII: 22for f in "${srcdir}/contrib/testpngs/"*.png 23do 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 52done 53# This only works if the arguments don't contain spaces; they don't. 54exec ./pngstest --tmpfile "${gamma}-${alpha}-" --log ${1+"$@"} $args 55