#! /bin/sh # This script tests: pnmquantall # Also requires: ppmtorgb3 pgmhist pamcat tmpdir=${tmpdir:-/tmp} rose_ppm=${tmpdir}/rose.ppm cp testimg.ppm ${rose_ppm} && ppmtorgb3 ${rose_ppm} rose_red=${tmpdir}/rose.red rose_grn=${tmpdir}/rose.grn rose_blu=${tmpdir}/rose.blu cp ${rose_red} ${rose_red}.1 cp ${rose_grn} ${rose_grn}.1 cp ${rose_blu} ${rose_blu}.1 echo "Test 1." pnmquantall 20 ${rose_red}.1 ${rose_grn}.1 ${rose_blu}.1 for i in ${rose_red}.1 ${rose_grn}.1 ${rose_blu}.1 do cat $i | cksum done pamcat ${rose_red}.1 ${rose_grn}.1 ${rose_blu}.1 -tb | \ pgmhist -m |\ awk '$2>0 {s++}; END { printf("color count %u: %s\n", s, (s==20) ? "success" : "failure") }' rm ${rose_red}.1 ${rose_grn}.1 ${rose_blu}.1 echo "Test 2." pnmquantall -ext .2 1 ${rose_red} ${rose_grn} ${rose_blu} for i in ${rose_red}.2 ${rose_grn}.2 ${rose_blu}.2 do cat $i | cksum done pamcat ${rose_red}.2 ${rose_grn}.2 ${rose_blu}.2 -tb | \ pgmhist -m |\ awk '$2>0 {s++}; END { printf("color count %u: %s\n", s, (s==1) ? "success" : "failure") }' rm ${rose_red}.2 ${rose_grn}.2 ${rose_blu}.2 echo "Test Invalid" echo 1>&2 echo "Invalid command-line argument combinations." 1>&2 echo "Error messages should appear below the line." 1>&2 echo "-----------------------------------------------------------" 1>&2 pnmquantall -ext xx 0 ${rose_red} ${rose_grn} ${rose_blu} || \ echo "Expected failure 1" rm ${rose_red}xx ${rose_grn}xx ${rose_blu}xx || \ echo "Expected failure 1.rm" pnmquantall -ext yy ${rose_red} ${rose_grn} ${rose_blu} || \ echo "Expected failure 2" rm ${rose_red}yy ${rose_grn}yy ${rose_blu}yy || \ echo "Expected failure 2.rm" pnmquantall -ext zz 2 || \ echo "Expected failure 3" rm ${rose_red} ${rose_grn} ${rose_blu} ${rose_ppm}