pngstest   [plain text]


#!/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
exec ./pngstest --tmpfile "${gamma}-${alpha}-" --log ${1+"$@"} $(
   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" && echo "$g";;

         *-tRNS[-.]*)
            test "$alpha" = "tRNS" -o "$alpha" = "none" && echo "$g";;

         *)
            test "$alpha" = "opaque" -o "$alpha" = "none" && echo "$g";;
      esac
   done
)