#! /bin/sh # This script tests: pamshuffle # Also requires: pamseq pamrestack pgmhist ppmhist pnmpsnr tmpdir=${tmpdir:-/tmp} seq_pam=${tmpdir}/seq.pam seq16_pam=${tmpdir}/seq16.pam out1_pam=${tmpdir}/out1.pam echo "Test 1. Should print 1081361896 1432 five times" pgmhist -machine maze.pbm | cksum pamshuffle -randomseed=1 maze.pbm | pgmhist -machine | cksum pamshuffle -randomseed=2 maze.pbm | pgmhist -machine | cksum pamshuffle -column -randomseed=3 maze.pbm | pgmhist -machine | cksum pamrestack maze.pbm | pamshuffle -randomseed=3 | pgmhist -machine | cksum echo "Test 2. Should print 1936883899 143517 four times" pamseq -tupletype="RGB" 3 15 > ${seq_pam} ppmhist -map ${seq_pam} | cksum pamshuffle -randomseed=2 ${seq_pam} | ppmhist -map | cksum pamrestack -width=16 -trim=abort ${seq_pam} | tee ${seq16_pam} | \ ppmhist -map | cksum pamshuffle -column -randomseed=3 ${seq16_pam} | ppmhist -map | cksum echo "Test 3. Should print nomatch three times" pamshuffle -randomseed=$((100 +i)) ${seq16_pam} > ${out1_pam} pamshuffle -randomseed=${i} ${seq16_pam} | \ pnmpsnr -target=14.0 ${out1_pam} - rm ${seq_pam} ${seq16_pam} ${out1_pam} pamshuffle -randomseed=$((100 +i)) testimg.ppm > ${out1_pam} pamshuffle -randomseed=${i} testimg.ppm | \ pnmpsnr -target=14.0 ${out1_pam} - rm ${out1_pam} pamshuffle -randomseed=$((100 +i)) -column testimg.ppm > ${out1_pam} pamshuffle -randomseed=${i} -column testimg.ppm | \ pnmpsnr -target=14.0 ${out1_pam} - rm ${out1_pam} test_out=${tmpdir}/test_out echo "Test Invalid." echo 1>&2 echo "Invalid command-line argument combinations." 1>&2 echo "Error messages should appear below the line." 1>&2 echo "-----------------------------------------------------------" 1>&2 pamshuffle testimg.ppm testgrid.pbm > ${test_out} || \ printf "Expected failure 1" test -s ${test_out}; echo " "$? rm -f ${test_out} pamshuffle -randomseed -column testgrid.pbm > ${test_out} || \ printf "Expected failure 2" test -s ${test_out}; echo " "$? rm -f ${test_out} pamshuffle -randomseed=null testgrid.pbm > ${test_out} || \ printf "Expected failure 3" test -s ${test_out}; echo " "$? rm -f ${test_out}