diff options
Diffstat (limited to 'test/pamfunc.test')
-rwxr-xr-x | test/pamfunc.test | 213 |
1 files changed, 213 insertions, 0 deletions
diff --git a/test/pamfunc.test b/test/pamfunc.test new file mode 100755 index 00000000..fe142be7 --- /dev/null +++ b/test/pamfunc.test @@ -0,0 +1,213 @@ +#! /bin/sh +# This script tests: pamfunc +# Also requires: pamseq pamtopnm pbmmake + +tmpdir=${tmpdir:-/tmp} +input_pgm=${tmpdir}/input.pgm + +echo "Test 1" + +pamseq 1 15 | pamtopnm -assume > ${input_pgm} +pamtopnm -plain ${input_pgm} | tr '\n' ' '; echo + +pamfunc -adder=3 -plain ${input_pgm} | tr '\n' ' '; echo +pamfunc -subtractor=3 -plain ${input_pgm} | tr '\n' ' '; echo +pamfunc -multiplier=3 -plain ${input_pgm} | tr '\n' ' '; echo +pamfunc -divisor=2 -plain ${input_pgm} | tr '\n' ' '; echo +pamfunc -max=6 -plain ${input_pgm} | tr '\n' ' '; echo +pamfunc -min=5 -plain ${input_pgm} | tr '\n' ' '; echo + +pamfunc -shiftleft 1 -plain ${input_pgm} | tr '\n' ' '; echo +pamfunc -shiftright 1 -plain ${input_pgm} | tr '\n' ' '; echo +pamfunc -shiftleft 1 ${input_pgm} | pamfunc -shiftright 1 -plain | \ + tr '\n' ' '; echo +pamfunc -shiftright 1 ${input_pgm} | pamfunc -shiftleft 1 -plain | \ + tr '\n' ' '; echo + + +input_pbm=${tmpdir}/input.pbm + +echo "Test 2" + +pbmmake -g 8 1 > ${input_pbm} +pamtopnm -plain ${input_pbm} | tr '\n' ' '; echo + +pamfunc -adder=1 -plain ${input_pbm} | tr '\n' ' '; echo +pamfunc -subtractor=1 -plain ${input_pbm} | tr '\n' ' '; echo +pamfunc -multiplier=1 -plain ${input_pbm} | tr '\n' ' '; echo +pamfunc -divisor=1 -plain ${input_pbm} | tr '\n' ' '; echo +pamfunc -max=1 -plain ${input_pbm} | tr '\n' ' '; echo +pamfunc -min=1 -plain ${input_pbm} | tr '\n' ' '; echo + +pamfunc -shiftleft 1 -plain ${input_pbm} | tr '\n' ' '; echo +pamfunc -shiftright 1 -plain ${input_pbm} | tr '\n' ' '; echo +pamfunc -shiftleft 1 ${input_pbm} | pamfunc -shiftright 1 -plain | \ + tr '\n' ' '; echo +pamfunc -shiftright 1 ${input_pbm} | pamfunc -shiftleft 1 -plain | \ + tr '\n' ' '; echo + + +echo "Test 3 (-changemaxval)" + +pamfunc -divisor 2 -changemaxval ${input_pgm} -plain | \ + tr '\n' ' '; echo +pamfunc -multiplier 0.25 -changemaxval ${input_pgm} -plain | \ + tr '\n' ' '; echo +pamfunc -divisor 2 -changemaxval ${input_pbm} -plain | \ + tr '\n' ' '; echo +pamfunc -multiplier 0.25 -changemaxval ${input_pbm} -plain | \ + tr '\n' ' '; echo + +rm ${input_pgm} ${input_pbm} + +echo "Test 4: Should print 1926073387 101484 eight times" + +cat testimg.ppm | cksum + +pamfunc -not testimg.ppm | pamfunc -not | cksum +pamfunc -andmask 0xff testimg.ppm | cksum +pamfunc -ormask 0x00 testimg.ppm | cksum +pamfunc -xormask 0x00 testimg.ppm | cksum +pamfunc -xormask 0xff testimg.ppm | pamfunc -xormask 0xff | cksum +pamfunc -shiftleft 0 testimg.ppm | cksum +pamfunc -shiftright 0 testimg.ppm | cksum + + +echo "Test 5: Should print 281226646 481 six times" + +cat maze.pbm | cksum + +pamfunc -andmask 0x1 maze.pbm | cksum +pamfunc -ormask 0x0 maze.pbm | cksum +pamfunc -xormask 0x1 maze.pbm | pamfunc -xormask 0x1 | cksum + +pamfunc -shiftleft 0 maze.pbm | cksum +pamfunc -shiftright 0 maze.pbm | cksum + +echo "Invalid command-line argument combinations." 1>&2 +echo "Error messages should appear below the line." 1>&2 +echo "-----------------------------------------------------------" 1>&2 + +echo "Test Invalid" + +test_out=${tmpdir}/test_out + +pamfunc -multiplier testimg.ppm > ${test_out} || \ + printf "Expected failure 1" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -multiplier=-1 testimg.ppm > ${test_out} || \ + printf "Expected failure 2" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -divisor testimg.ppm > ${test_out} || \ + printf "Expected failure 3" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -divisor=-20 testimg.ppm > ${test_out} || \ + printf "Expected failure 4" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -adder testimg.ppm > ${test_out} || \ + printf "Expected failure 5" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -adder 0.5 testimg.ppm > ${test_out} || \ + printf "Expected failure 6" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -subtractor testimg.ppm > ${test_out} || \ + printf "Expected failure 7" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -subtractor 0.1 testimg.ppm > ${test_out} || \ + printf "Expected failure 8" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -multiplier=1 -divisor=2 testimg.ppm > ${test_out} || \ + printf "Expected failure 9" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -adder=2 -subtractor=3 testimg.ppm > ${test_out} || \ + printf "Expected failure 10" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -min testimg.ppm > ${test_out} || \ + printf "Expected failure 11" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -max testimg.ppm > ${test_out} || \ + printf "Expected failure 12" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -andmask testimg.ppm > ${test_out} || \ + printf "Expected failure 13" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -ormask testimg.ppm > ${test_out} || \ + printf "Expected failure 14" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -xormask testimg.ppm > ${test_out} || \ + printf "Expected failure 15" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -not 1 testimg.ppm > ${test_out} || \ + printf "Expected failure 16" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -min=1 -max=2 testimg.ppm > ${test_out} || \ + printf "Expected failure 17" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -andmask=1 -ormask=0 testimg.ppm > ${test_out} || \ + printf "Expected failure 18" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -andmask=0xffff testimg.ppm > ${test_out} || \ + printf "Expected failure 19" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -shiftleft testimg.ppm > ${test_out} || \ + printf "Expected failure 20" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -shiftright testimg.ppm > ${test_out} || \ + printf "Expected failure 21" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -changemaxval testimg.ppm > ${test_out} || \ + printf "Expected failure 22" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -shiftleft=1 -shiftright=1 testimg.ppm > ${test_out} || \ + printf "Expected failure 23" + test -s ${test_out}; echo " "$? + rm -f ${test_out} + +pamfunc -multiplier=0.5 -changemaxval=65535 testimg.ppm > ${test_out} || \ + printf "Expected failure 24" + test -s ${test_out}; echo " "$? + rm -f ${test_out} |