about summary refs log tree commit diff
path: root/test/pamfunc.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/pamfunc.test')
-rwxr-xr-xtest/pamfunc.test130
1 files changed, 104 insertions, 26 deletions
diff --git a/test/pamfunc.test b/test/pamfunc.test
index 2271974e..f9a8a33e 100755
--- a/test/pamfunc.test
+++ b/test/pamfunc.test
@@ -1,6 +1,6 @@
 #! /bin/bash
 # This script tests: pamfunc
-# Also requires: pamseq pamtopnm
+# Also requires: pamseq pamtopnm pbmmake
 
 tmpdir=${tmpdir:-/tmp}
 input_pgm=${tmpdir}/input.pgm
@@ -25,16 +25,42 @@ pamfunc -shiftright 1 ${input_pgm} | pamfunc -shiftleft 1  -plain | \
   tr '\n' ' '; echo
 
 
-echo "Test 2 (-changemaxval)"
+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}
+rm ${input_pgm} ${input_pbm}
 
-echo "Test 3: Should print 1926073387 101484 eight times"
+echo "Test 4: Should print 1926073387 101484 eight times"
 
 cat testimg.ppm | cksum
 
@@ -47,7 +73,7 @@ pamfunc -shiftleft  0 testimg.ppm | cksum
 pamfunc -shiftright 0 testimg.ppm | cksum
 
 
-echo "Test 4: Should print 2425386270 41 six times"
+echo "Test 5: Should print 2425386270 41 six times"
 
 cat testgrid.pbm | cksum
 
@@ -62,27 +88,79 @@ echo "Invalid command-line argument combinations." 1>&2
 echo "Error messages should appear below the line." 1>&2
 echo "-----------------------------------------------------------" 1>&2
 
-echo "Test Error: Should print 0 then 1 twenty-four times"
+echo "Test Invalid"
 
 output_ppm=${tmpdir}/output.ppm
 
-for fn in "-multiplier" "-multiplier=-1" \
-  "-divisor" "-divisor=-20" \
-  "-adder" "-adder 0.5" "-subtractor" "-subtractor 0.1" \
-  "-multiplier=1 -divisor=2" "-adder=2 -subtractor=3" \
-  "-min" "-max" "-andmask" "-ormask" "-xormask" "-not 1" \
-  "-min=1 -max=2"  "-andmask=1 -ormask=0" "-andmask=0xffff" \
-  "-shiftleft" "-shiftright" "-changemaxval" \
-  "-shiftleft=1 -shiftright=1" \
-  "-multiplier=0.5 -changemaxval=65535"
-  do
-
-  # uncomment to debug
-  # echo ${fn}
-
-  pamfunc ${fn} testimg.ppm > ${output_ppm}
-  test $? -eq 1 -o $? -eq 99
-  echo $?
-  test -s ${output_ppm}
-  echo $?
-  done
\ No newline at end of file
+pamfunc -multiplier testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 1"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -multiplier=-1 testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 2"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -divisor testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 3"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -divisor=-20 testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 4"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -adder testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 5"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -adder 0.5 testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 6"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -subtractor testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 7"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -subtractor 0.1 testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 8"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -multiplier=1 -divisor=2 testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 9"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -adder=2 -subtractor=3 testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 10"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -min testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 11"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -max testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 12"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -andmask testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 13"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -ormask testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 14"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -xormask testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 15"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -not 1 testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 16"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -min=1 -max=2 testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 17"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -andmask=1 -ormask=0 testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 18"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -andmask=0xffff testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 19"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -shiftleft testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 20"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -shiftright testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 21"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -changemaxval testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 22"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -shiftleft=1 -shiftright=1 testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 23"
+  test -s ${output_ppm}; echo " "$?
+pamfunc -multiplier=0.5 -changemaxval=65535 testimg.ppm > ${output_ppm} || \
+  echo -n "Expected failure 24"
+  test -s ${output_ppm}; echo " "$?