diff options
Diffstat (limited to 'test/pamundice.test')
-rwxr-xr-x | test/pamundice.test | 129 |
1 files changed, 74 insertions, 55 deletions
diff --git a/test/pamundice.test b/test/pamundice.test index e8add587..1190fbdc 100755 --- a/test/pamundice.test +++ b/test/pamundice.test @@ -1,15 +1,14 @@ -#! /bin/bash +#! /bin/sh # This script tests: pamundice -# Also requires: pgmmake pnmtile pnmcat pnmpad +# Also requires: pamfile pgmmake pnmtile pamcat tmpdir=${tmpdir:-/tmp} fname_stem=${tmpdir}/part -# Test 1. -echo "Test 1." +echo "Test 1. Should print 2096818803 2818 twice" -for ((x=0; x<3; ++x)) - do for ((y=0; y<5; ++y)) +for x in 0 1 2 + do for y in 0 1 2 3 4 do pgmmake "."$(( x* 25 + y )) 11 17 > ${fname_stem}_${y}_${x}.pgm done @@ -18,46 +17,43 @@ for ((x=0; x<3; ++x)) pamundice -across=3 -down=5 ${fname_stem}"_%1d_%1a".pgm | cksum ls ${fname_stem}_?_?.pgm | \ - pamundice -across=3 -down=5 -listfile=- | cksum + pamundice -across=3 -down=5 -listfile=- | cksum - -# Test 2. -echo "Test 2." +echo "Test 2. Should print 2096818803 2818 twice" tempfile=${tmpdir}/temp -for ((y=0; y<5; ++y)) +for y in 0 1 2 3 4 do pamundice -across=3 ${fname_stem}"_"$y"_%1a".pgm > ${tempfile}_"$y" done - -pnmcat -tb ${tempfile}_[01234] | cksum + +pamcat -tb ${tempfile}_[01234] | cksum rm ${tempfile}_[01234] # Note: the following 2 are valid. There should not be warning messages. -for ((x=0; x<3; ++x)) +for x in 0 1 2 do pamundice -down=5 ${fname_stem}"_%1d_"$x.pgm > ${tempfile}"_"$x done -pnmcat -lr ${tempfile}_[012] | cksum +pamcat -lr ${tempfile}_[012] | cksum rm ${tempfile}_[012] rm ${fname_stem}_?_?.pgm -# Test 3. -echo "Test 3." +echo "Test 3. Should print 2096818803 2818 twice" -for ((x=0; x<2; ++x)) - do for ((y=0; y<5; ++y)) +for x in 0 1 + do for y in 0 1 2 3 4 do pgmmake "."$(( x* 25 + y )) 12 17 > ${fname_stem}_${y}_${x}.pgm done done -for ((x=2; x<3; ++x)) - do for ((y=0; y<5; ++y)) +for x in 2 + do for y in 0 1 2 3 4 do pgmmake "."$(( x* 25 + y )) 11 17 > ${fname_stem}_${y}_${x}.pgm done @@ -68,15 +64,15 @@ pamundice -across=3 -down=5 \ rm ${fname_stem}_?_?.pgm -for ((x=0; x<3; ++x)) - do for ((y=0; y<4; ++y)) +for x in 0 1 2 + do for y in 0 1 2 3 do pgmmake "."$(( x* 25 + y )) 11 18 > ${fname_stem}_${y}_${x}.pgm done done -for ((x=0; x<3; ++x)) - do for ((y=4; y<5; ++y)) +for x in 0 1 2 + do for y in 4 do pgmmake "."$(( x* 25 + y )) 11 17 > ${fname_stem}_${y}_${x}.pgm done @@ -89,21 +85,22 @@ rm ${fname_stem}_?_?.pgm # Test 4. -echo "Test 4." +echo "Test 4. Should print 2434390296 4436 four times" -# Add margins to testgrid.pbm +msize=$(pamfile -size maze.pbm) +mw=$(echo ${msize} | cut -d " " -f 1) +mh=$(echo ${msize} | cut -d " " -f 2) -testimg_pbm=${tmpdir}/testimg.pbm -pnmpad -top=2 -left=3 -black testgrid.pbm > ${testimg_pbm} +pnmtile $((${mw} * 2)) $((${mh} * 5)) maze.pbm | cksum -for x in `seq 0 1` - do for y in `seq 0 4` - do cp ${testimg_pbm} ${fname_stem}_${y}_${x}.pbm; done +for x in 0 1 + do for y in 0 1 2 3 4 + do cp maze.pbm ${fname_stem}_${y}_${x}.pbm; done done -for (( i=0 ; i<=9; ++i)) +for i in 0 1 2 3 4 5 6 7 8 9 do - echo ${testimg_pbm} + echo maze.pbm done | pamundice -down=5 -across=2 -listfile=- | cksum pamundice -down=5 -across=2 ${fname_stem}_"%1d"_"%1a".pbm | cksum @@ -111,11 +108,8 @@ pamundice -down=5 -across=2 ${fname_stem}_"%1d"_"%1a".pbm | cksum echo "A warning message should appear below the line." 1>&2 echo "-----------------------------------------------------------" 1>&2 -pamundice -down=5 -across=2 ${testimg_pbm} | cksum - -pnmtile 34 90 ${testimg_pbm} | cksum +pamundice -down=5 -across=2 maze.pbm | cksum -rm ${testimg_pbm} # Test Invalid. echo "Test Invalid" @@ -129,55 +123,80 @@ echo "-----------------------------------------------------------" 1>&2 # No input file pattern specified pamundice -down=5 -across=2 > ${test_out} || \ -echo -n "Expected failure 1"; test -s ${test_out}; echo " "$? + printf "Expected failure 1 " + test -s ${test_out} && echo "unexpected output" || echo "(no output)" + rm -f ${test_out} # -down=0 pamundice -down=0 -across=2 ${fname_stem}_"%1d"_"%1a".pbm > ${test_out} || \ -echo -n "Expected failure 2"; test -s ${test_out}; echo " "$? + printf "Expected failure 2 " + test -s ${test_out} && echo "unexpected output" || echo "(no output)" + rm -f ${test_out} # -across=0 pamundice -down=5 -across=0 ${fname_stem}_"%1d"_"%1a".pbm > ${test_out} || \ -echo -n "Expected failure 3"; test -s ${test_out}; echo " "$? + printf "Expected failure 3 " + test -s ${test_out} && echo "unexpected output" || echo "(no output)" + rm -f ${test_out} # -down too large pamundice -down=6 -across=2 ${fname_stem}_"%1d"_"%1a".pbm > ${test_out} || \ -echo -n "Expected failure 4"; test -s ${test_out}; echo " "$? + printf "Expected failure 4 " + test -s ${test_out} && echo "unexpected output" || echo "(no output)" + rm -f ${test_out} # -across too large pamundice -down=5 -across=3 ${fname_stem}_"%1d"_"%1a".pbm > ${test_out} || \ -echo -n "Expected failure 5"; test -s ${test_out}; echo " "$? + printf "Expected failure 5 " + test -s ${test_out} && echo "unexpected output" || echo "(no output)" + rm -f ${test_out} # precision does not match pamundice -down=5 -across=2 ${fname_stem}_"%2d"_"%2a".pbm > ${test_out} || \ -echo -n "Expected failure 6"; test -s ${test_out}; echo " "$? + printf "Expected failure 6 " + test -s ${test_out} && echo "unexpected output" || echo "(no output)" + rm -f ${test_out} # precision set to zero pamundice -down=5 -across=2 ${fname_stem}_"%0d"_"%0a".pbm > ${test_out} || \ -echo -n "Expected failure 7"; test -s ${test_out}; echo " "$? + printf "Expected failure 7 " + test -s ${test_out} && echo "unexpected output" || echo "(no output)" + rm -f ${test_out} # no precision pamundice -down=5 -across=2 ${fname_stem}_"%d"_"%a".pbm > ${test_out} || \ -echo -n "Expected failure 8"; test -s ${test_out}; echo " "$? + printf "Expected failure 8 " + test -s ${test_out} && echo "unexpected output" || echo "(no output)" + rm -f ${test_out} # -hoverlap too large -pamundice -down=5 -across=2 -hoverlap=18 \ +pamundice -down=5 -across=2 -hoverlap=$((${mw}+1)) \ ${fname_stem}_"%1d"_"%1a".pbm > ${test_out} || \ -echo -n "Expected failure 9"; test -s ${test_out}; echo " "$? + printf "Expected failure 9 " + test -s ${test_out} && echo "unexpected output" || echo "(no output)" + rm -f ${test_out} # -voverlap too large -pamundice -down=5 -across=2 -voverlap=19 \ +pamundice -down=5 -across=2 -voverlap=$((${mh}+1)) \ ${fname_stem}_"%1d"_"%1a".pbm > ${test_out} || \ -echo -n "Expected failure 10"; test -s ${test_out}; echo " "$? + printf "Expected failure 10 " + test -s ${test_out} && echo "unexpected output" || echo "(no output)" + rm -f ${test_out} # corrupt listfile : file names do not exist -seq 10 | sed -e 's/^/::::::/' -e 's/$/::::::/' | \ - pamundice -down=5 -across=2 -listfile=- > ${test_out} || \ -echo -n "Expected failure 11"; test -s ${test_out}; echo " "$? +for i in 0 1 2 3 4 5 6 7 8 9 + do + mktemp -u XXXXXXXXXX.${i} || echo ":::::::::::"${i}":::::::::::" + done | pamundice -down=5 -across=2 -listfile=- > ${test_out} || \ + printf "Expected failure 11 " + test -s ${test_out} && echo "unexpected output" || echo "(no output)" + rm -f ${test_out} # listfile with insufficient lines (insufficient file entries) ls ${fname_stem}_*_*.pbm | head -n 9 | \ pamundice -down=5 -across=2 -listfile=- > ${test_out} || \ -echo -n "Expected failure 12"; test -s ${test_out}; echo " "$? + printf "Expected failure 12 " + test -s ${test_out} && echo "unexpected output" || echo "(no output)" + rm -f ${test_out} rm ${fname_stem}*.pbm - |