#! /bin/bash # This script tests: pamcut pbmmake # Also requires: # Test 1. Should print 2958909756 124815 echo Test 1. pamcut -top 0 -left 0 -width 260 -height 160 \ -pad testimg.ppm | cksum # Test 2. Should print 1550940962 10933 echo Test 2. pamcut -top 200 -left 120 -width 40 -height 40 \ -pad testimg.ppm | cksum # Test 3. Should print 708474423 14 twice echo Test 3. pamcut -top 5 -left 5 -bottom 5 -right 5 testimg.ppm | cksum pamcut -width 1 -height 1 -bottom 5 -right 5 testimg.ppm | cksum # Test 4. Should print 659346598 80124 four times echo Test 4. pamcut -croptop 10 -cropleft 10 -cropbottom 10 -cropright 10 testimg.ppm | \ cksum pamcut -top 10 -left 10 -bottom 138 -right 216 testimg.ppm | cksum pamcut -top 10 -left 10 -bottom -11 -right -11 testimg.ppm | cksum pamcut -top 10 -left 10 -width 207 -height 129 testimg.ppm | cksum # Test 5. Should print 2425386270 41 five times echo Test 5. pamcut -croptop 0 -cropleft 0 -cropbottom 0 -cropright 0 testgrid.pbm | \ cksum pamcut -top 0 -left 0 -bottom 15 -right 13 testgrid.pbm | cksum pamcut -top 0 -left 0 -bottom -1 -right -1 testgrid.pbm | cksum pamcut -top 0 -left 0 -width 14 -height 16 testgrid.pbm | cksum pamcut testgrid.pbm | cksum # Test 6. Should print 3412257956 129 echo Test 6. pbmmake -g 50 50 | pamcut 5 5 30 30 | cksum echo "Test Invalid" tmpdir=${tmpdir:-/tmp} test_out=${tmpdir}/test_out echo 1>&2 echo "Invalid command-line argument combinations." 1>&2 echo "Error messages should appear below the line." 1>&2 echo "-----------------------------------------------------------" 1>&2 # overspecification pamcut -left=1 -right=1 -width=14 testgrid.pbm > ${test_out} || \ echo -n "Expected failure 1"; test -s ${test_out}; echo " "$? pamcut -top=1 -bottom=1 -height=16 testgrid.pbm > ${test_out} || \ echo -n "Expected failure 2"; test -s ${test_out}; echo " "$? pamcut -right=1 -cropright=1 testgrid.pbm > ${test_out} || \ echo -n "Expected failure 3"; test -s ${test_out}; echo " "$? pamcut -top=1 -croptop=1 testgrid.pbm > ${test_out} || \ echo -n "Expected failure 4"; test -s ${test_out}; echo " "$? pamcut -bottom=1 -cropbottom=1 testgrid.pbm > ${test_out} || \ echo -n "Expected failure 5"; test -s ${test_out}; echo " "$? pamcut -left=1 -cropleft=1 testgrid.pbm > ${test_out} || \ echo -n "Expected failure 6"; test -s ${test_out}; echo " "$? # excessive cropping pamcut -cropleft=7 -cropright=8 testgrid.pbm > ${test_out} || \ echo -n "Expected failure 7"; test -s ${test_out}; echo " "$? pamcut -left=7 -right=6 testgrid.pbm > ${test_out} || \ echo -n "Expected failure 8"; test -s ${test_out}; echo " "$? pamcut -croptop=8 -cropbottom=8 testgrid.pbm > ${test_out} || \ echo -n "Expected failure 9"; test -s ${test_out}; echo " "$? pamcut -top=10 -bottom=9 testgrid.pbm > ${test_out} || \ echo -n "Expected failure 6"; test -s ${test_out}; echo " "$? # pad absent pamcut -cropleft=1 -width=14 testgrid.pbm > ${test_out} || \ echo -n "Expected failure 10"; test -s ${test_out}; echo " "$? pamcut -croptop=1 -height=16 testgrid.pbm > ${test_out} || \ echo -n "Expected failure 11"; test -s ${test_out}; echo " "$? # legacy style: insufficient number of positional parameters pamcut 5 testimg.ppm > ${test_out} || \ echo -n "Expected failure 12"; test -s ${test_out}; echo " "$? pamcut 5 4 testimg.ppm > ${test_out} || \ echo -n "Expected failure 13"; test -s ${test_out}; echo " "$? pamcut 5 5 30 testimg.ppm > ${test_out} || \ echo -n "Expected failure 14"; test -s ${test_out}; echo " "$? rm -f ${test_out}