#! /bin/bash # This script tests: pamenlarge # Also requires: pbmmake pnmpad tmpdir=${tmpdir:-/tmp} complete256_pbm=${tmpdir}/complete256.pbm # works with gawk and mawk # produce all possible 8-bit patterns LC_ALL=C awk 'BEGIN { print "P4"; # header print "8 256"; for (i=0;i<256;++i) # raster printf("%c",i) }' > ${complete256_pbm} # xscale factor should be tested to at least 21 (=13+8) # Test 1. echo "test 1" for xs in `seq 23` do pamenlarge -xscale=$xs ${complete256_pbm} | cksum done # Test 2. echo "test 2" for xs1 in `seq 15` do xs2=$((30-$xs1)) pamenlarge -xscale=$xs1 ${complete256_pbm} | pamenlarge -xscale=$xs2 | cksum if [ $xs1 != $xs2 ]; then pamenlarge -xscale=$xs2 ${complete256_pbm} | pamenlarge -xscale=$xs1 | cksum fi pamenlarge -xscale=$(($xs1 * $xs2)) ${complete256_pbm} | cksum done rm ${complete256_pbm} # Test 3. echo "test 3" test3_pbm=${tmpdir}/test3.pbm for width in `seq 16` do pbmmake -g ${width} 1 | pnmpad -top=1 -white | \ pnmpad -bottom=1 -black > ${test3_pbm}.${width} done for xscale in `seq 16` do echo -n ${xscale} " " for width in `seq 16` do pamenlarge -xscale=${xscale} ${test3_pbm}.${width} ; done | cksum # # unlike most other tests we take the cksum of a composite PBM file # done rm ${test3_pbm}.[1-9] ${test3_pbm}.1[1-6]