#! /bin/bash # This script tests: g3topbm pbmtog3 # Also requires: pamfile pnmcrop pbmmake pbmpage pnmpad pamenlarge tmpdir=${tmpdir:-/tmp} complete256_pbm=${tmpdir}/complete256.pbm widew_pbm=${tmpdir}/widew.pbm wideb_pbm=${tmpdir}/wideb.pbm page_pbm=${tmpdir}/page.pbm pagemax_pbm=${tmpdir}/pagemax.pbm echo "Test 1. Should print 0 0 0 : 0 or 0 0 0 0 : 0 total three times" width=$(pamfile -size maze.pbm | cut -d " " -f 1) pbmtog3 -nofixedwidth maze.pbm | \ g3topbm -width=${width} | cmp -s - maze.pbm echo ${PIPESTATUS[@]} ":" $? pbmtog3 -nofixedwidth -reversebits maze.pbm | \ g3topbm -width=${width} -reversebits | cmp -s - maze.pbm echo ${PIPESTATUS[@]} ":" $? pbmtog3 maze.pbm | \ g3topbm | pnmcrop -white -right -bottom | \ cmp -s - maze.pbm ; echo ${PIPESTATUS[@]} ":" $? echo "Test 2. Should print 0 0 0 : 0 or 0 0 0 0 : 0 total seven times" echo "then 1777627284 265, 2985378006 3135, 3651878552 3135" # 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} pbmtog3 -nofixedwidth ${complete256_pbm} | g3topbm -width=8 | \ cmp -s - ${complete256_pbm} ; echo ${PIPESTATUS[@]} ":" $? pbmtog3 -reverse -nofixedwidth ${complete256_pbm} | \ g3topbm -reversebits -width=8 | \ cmp -s - ${complete256_pbm} ; echo ${PIPESTATUS[@]} ":" $? pbmtog3 -align8 ${complete256_pbm} | \ g3topbm -width=1728 | pnmcrop -white -right | \ cmp -s - ${complete256_pbm} ; echo ${PIPESTATUS[@]} ":" $? pbmtog3 -align16 ${complete256_pbm} | \ g3topbm -width=1728 | pnmcrop -white -right | \ cmp -s - ${complete256_pbm} ; echo ${PIPESTATUS[@]} ":" $? pbmmake -w 5000 5 > ${widew_pbm} pbmtog3 -nofixedwidth ${widew_pbm} | g3topbm | \ cmp -s - ${widew_pbm} ; echo ${PIPESTATUS[@]} ":" $? pbmtog3 -nofixedwidth ${widew_pbm} | \ g3topbm -width=5000 | \ cmp -s - ${widew_pbm} ; echo ${PIPESTATUS[@]} ":" $? pbmmake -b 5000 5 > ${wideb_pbm} pbmtog3 -nofixedwidth ${wideb_pbm} | g3topbm | \ cmp -s - ${wideb_pbm} ; echo ${PIPESTATUS[@]} ":" $? cat ${complete256_pbm} | cksum cat ${wideb_pbm} | cksum cat ${widew_pbm} | cksum rm ${complete256_pbm} ${wideb_pbm} ${widew_pbm} echo "Test 3. Should print 0 0 0 : 0 twice" echo "then 356688157 17399694 twice" pbmpage 3 -a4 | pamenlarge 2 > ${page_pbm} pbmtog3 -nofixedwidth ${page_pbm} | g3topbm | \ cmp -s - ${page_pbm} ; echo ${PIPESTATUS[@]} ":" $? pnmpad -width=1000 -height=1400 ${page_pbm} > ${pagemax_pbm} pbmtog3 -nofixedwidth ${pagemax_pbm} | g3topbm | \ cmp -s - ${pagemax_pbm} ; echo ${PIPESTATUS[@]} ":" $? cat ${page_pbm} | cksum cat ${pagemax_pbm} | cksum rm ${page_pbm} ${pagemax_pbm}