diff options
Diffstat (limited to 'test/ppmshift.test')
-rwxr-xr-x | test/ppmshift.test | 35 |
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} |