#! /bin/sh # 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # for xs in `seq 23` do pamenlarge -xscale=${xs} ${complete256_pbm} | cksum done # Test 2. echo "test 2" for xs1 in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # for xscale in `seq 16` do printf "%d " ${xscale} for width in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 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[0-6]