#! /bin/sh # This script tests: pnmremap # Also requires: pamseq pamtopnm tmpdir=${tmpdir:-/tmp} palette=${tmpdir}/palette #palette255=${tmpdir}/palette255 pamseq 3 5 -tupletype=RGB | pamtopnm > ${palette} #pamdepth 255 ${palette} > ${palette255} # Test 1. Floyd-Steinberg # This fails with older versions of Netpbm and x86-64. # May also fail on other non-Intel architectures. # v. 10.59.2 # x86-32: 2667816854 101482 # x86-64: 3602410851 101482 pnmremap -mapfile=${palette} -floyd -norandom \ testimg.ppm | cksum #pnmremap -mapfile=${palette255} -floyd -norandom \ # testimg.ppm | cksum rm ${palette} # ${palette255} echo 1>&2 echo "Invalid command-line arguments." 1>&2 echo "Error messages should appear below the line." 1>&2 echo "-----------------------------------------------------------" 1>&2 tmpdir=${tmpdir:-/tmp} test_out=${tmpdir}/test_out pnmremap -mapfile=/dev/null testimg.ppm > ${test_out} || \ printf "Expected failure 1 " test -s ${test_out} && echo "unexpected output" || echo "(no output)" rm -f ${test_out} pnmremap -mapfile=/dev/zero testimg.ppm > ${test_out} || \ printf "Expected failure 2 " test -s ${test_out} && echo "unexpected output" || echo "(no output)" rm -f ${test_out} pnmremap testimg.ppm > ${test_out} || \ printf "Expected failure 3 " test -s ${test_out} && echo "unexpected output" || echo "(no output)" rm -f ${test_out} pnmremap -fs -nofs testimg.ppm > ${test_out} || \ printf "Expected failure 4 " test -s ${test_out} && echo "unexpected output" || echo "(no output)" rm -f ${test_out} pnmremap -mapfile=testgrid.pbm -missingcolor=rgb:00/ff/00 testimg.ppm \ > ${test_out} || \ printf "Expected failure 5 " test -s ${test_out} && echo "unexpected output" || echo "(no output)" rm -f ${test_out} pnmremap -mapfile=testgrid.pbm -firstisdefault testimg.ppm > ${test_out} || \ printf "Expected failure 6 " test -s ${test_out} && echo "unexpected output" || echo "(no output)" rm -f ${test_out}