about summary refs log tree commit diff
path: root/test/ppmshift.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/ppmshift.test')
-rwxr-xr-xtest/ppmshift.test35
1 files changed, 25 insertions, 10 deletions
diff --git a/test/ppmshift.test b/test/ppmshift.test
index cd086d68..fff193b3 100755
--- a/test/ppmshift.test
+++ b/test/ppmshift.test
@@ -1,6 +1,6 @@
 #! /bin/bash
 # This script tests: ppmshift
-# Also requires:
+# Also requires: pgmtoppm
 
 echo "Test 1. Should print: 3705777303 101484"
 ppmshift -seed=1 10 testimg.ppm | cksum
@@ -8,20 +8,35 @@ ppmshift -seed=1 10 testimg.ppm | cksum
 echo "Test 2. Should print: 202790723 685"
 ppmshift -seed=1 1 testgrid.pbm | cksum
 
-echo "Test 3. Should print: 0 : 0"
-ppmshift -seed=1 0 testimg.ppm | cmp -s - testimg.ppm | \
+echo "Test 3. Should print: 0 0 : 0"
+ppmshift -seed=1 0 testimg.ppm | cmp -s - testimg.ppm
   echo ${PIPESTATUS[@]} ":" $?
 
 tmpdir=${tmpdir:-/tmp}
-test_pbm=${tmpdir}/test.pbm
+test0_ppm=${tmpdir}/test0.ppm
+test14_ppm=${tmpdir}/test14.ppm
 
-ppmshift -seed=2 14 testgrid.pbm > ${test_pbm}
+pgmtoppm < maze.pbm > ${test0_ppm}
 
-for i in 15 16 20 1000
-  do
-  echo "Test 4. ("$i") Should print: 0 : 0"
-  ppmshift -seed=2 $i testgrid.pbm > ${test_pbm} | cmp -s - testgrid.ppm | \
+echo "Test 4.  Should print: 0 0 : 0"
+  ppmshift -seed=2 0 maze.pbm | cmp -s - ${test0_ppm}
     echo ${PIPESTATUS[@]} ":" $?
+
+ppmshift -seed=2 14 maze.pbm > ${test14_ppm}
+
+for i in 1 15 16 20 1000
+  do
+  echo "Test 5. ("$i") Should print: 1 twice"
+  ppmshift -seed=2 $i maze.pbm | cmp -s - ${test0_ppm}
+    echo $?
+  ppmshift -seed=2 $i maze.pbm | cmp -s - ${test14_ppm}
+    echo $?
   done
 
-rm ${test_pbm}
\ No newline at end of file
+# In Test 5 the image files are not supposed to match.
+# When cmp finds a difference, it may terminate and stop reading input from
+# the pipe at that point.  This may cause a "broken pipe" exception; however
+# this does not always happen.  The broken pipe shows up as a non-zero value
+# for ${PIPESTATUS[0]}.
+
+rm ${test0_ppm} ${test14_ppm}