From 572ed0c3b27fb4aa74d5e4fb53c973801d87796d Mon Sep 17 00:00:00 2001 From: giraffedata Date: Mon, 11 Sep 2017 00:36:38 +0000 Subject: Add tests for Palm programs git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@3056 9d0c8265-081b-0410-96cb-a4ca84ce46f8 --- test/Test-Order | 3 ++ test/palm-roundtrip2.ok | 5 +++ test/palm-roundtrip2.test | 31 +++++++++++++++++ test/pamtopdbimg.ok | 20 +++++++++++ test/pamtopdbimg.test | 86 +++++++++++++++++++++++++++++++++++++++++++++++ test/pdb-roundtrip.ok | 18 ++++++++++ test/pdb-roundtrip.test | 55 ++++++++++++++++++++++++++++++ 7 files changed, 218 insertions(+) create mode 100644 test/palm-roundtrip2.ok create mode 100755 test/palm-roundtrip2.test create mode 100644 test/pamtopdbimg.ok create mode 100755 test/pamtopdbimg.test create mode 100644 test/pdb-roundtrip.ok create mode 100755 test/pdb-roundtrip.test (limited to 'test') diff --git a/test/Test-Order b/test/Test-Order index 92ffe7ef..9b280d12 100644 --- a/test/Test-Order +++ b/test/Test-Order @@ -82,6 +82,7 @@ symmetry.test # Format converter tests +pamtopdbimg.test pbmtog3.test 411toppm.test eyuvtoppm.test @@ -133,7 +134,9 @@ mda-roundtrip.test mgr-roundtrip.test mrf-roundtrip.test palm-roundtrip.test +palm-roundtrip2.test pcx-roundtrip.test +pdb-roundtrip.test pfm-roundtrip.test pi3-roundtrip.test pict-roundtrip.test diff --git a/test/palm-roundtrip2.ok b/test/palm-roundtrip2.ok new file mode 100644 index 00000000..0060d7b6 --- /dev/null +++ b/test/palm-roundtrip2.ok @@ -0,0 +1,5 @@ +438301914 101484 +438301914 101484 +438301914 101484 +438301914 101484 +438301914 101484 diff --git a/test/palm-roundtrip2.test b/test/palm-roundtrip2.test new file mode 100755 index 00000000..4c94df8c --- /dev/null +++ b/test/palm-roundtrip2.test @@ -0,0 +1,31 @@ +#! /bin/bash +# This script tests: pnmtopalm palmtopnm +# Also requires: pnmremap + +tmpdir=${tmpdir:-/tmp} +test256color_ppm=${tmpdir}/test256color.ppm + +if [ ${CHECK_TYPE} = install ] + then mapfile=$(netpbm-config --datadir)/palmcolor8.map + else mapfile=${PALMMAPDIR}/palmcolor8.map +fi + +if [ ! -f ${mapfile} ] + then + echo "Cannot find palmcolor8.map. Skipping." 1>&2 + exit 80; +fi + + +# Test. Should print 438301914 101484 +# 5 times + +pnmremap -mapfile=${mapfile} testimg.ppm | tee ${test256color_ppm} | cksum + +for flags in "" \ + "-scanline_compression" \ + "-rle_compression" \ + "-packbits_compression" + do pnmtopalm -colormap $flags ${test256color_ppm} | palmtopnm | cksum; done + +rm ${test256color_ppm} diff --git a/test/pamtopdbimg.ok b/test/pamtopdbimg.ok new file mode 100644 index 00000000..57258940 --- /dev/null +++ b/test/pamtopdbimg.ok @@ -0,0 +1,20 @@ +high compression +2 +1 +poor compression +1 +2 +long titles +268 +0 +268 +0 +0 +1 +large notefile +3344 +0 +68885 +0 +0 +1 diff --git a/test/pamtopdbimg.test b/test/pamtopdbimg.test new file mode 100755 index 00000000..267f6bc8 --- /dev/null +++ b/test/pamtopdbimg.test @@ -0,0 +1,86 @@ +#! /bin/bash +# This script tests: pamtopdbimg +# Also requires: pgmmake pgmnoise + +tmpdir=${tmpdir:-/tmp} +mono_pgm=${tmpdir}/graymono.pgm +noise_pgm=${tmpdir}/graynoise.pgm +text65533=${tmpdir}/ascii65533.txt +text65534=${tmpdir}/ascii65534.txt +text65597=${tmpdir}/ascii65597.txt + +# The PDB image format has a time stamp. This causes pamtopdbimg +# to produce slightly different output files with each invocation. + +# Test 1. High compression +# -maybecompressed should produce a compressed file +# Should print: +# 2 +# 1 +echo high compression +pgmmake 0.5 -maxval=15 160 160 > ${mono_pgm} +for flag in "-compressed" "-maybecompressed" "-uncompressed" + do + pamtopdbimg $flag ${mono_pgm} | wc -c + done | uniq -c | awk '{print $1}' +rm ${mono_pgm} + + +# Test 2. Poor compression +# -maybecompressed should produce a uncompressed file +# Should print: +# 1 +# 2 +echo poor compression +pgmnoise -maxval=15 -randomseed=0 160 160 > ${noise_pgm} +for flag in "-compressed" "-maybecompressed" "-uncompressed" + do + pamtopdbimg $flag ${noise_pgm} | wc -c + done | uniq -c | awk '{print $1}' +rm ${noise_pgm} + + +# Test 3. long titles +# Should succeed twice and fail once, producing: +# 268 +# 0 +# 268 +# 0 +# 1 +# 0 +echo long titles +for flag in "" "-title=0123456789012345678901234567890" \ + "-title=01234567890123456789012345678901" + do + pamtopdbimg $flag testgrid.pbm | wc -c ; echo ${PIPESTATUS[0]} + done + + +# Test 4. large notefile +# Should succeed twice and fail once, producing: +# 3344 +# 0 +# 68886 +# 0 +# 1 +# 0 +echo large notefile +awk 'BEGIN { ABC="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + abc="abcdefghijklmnopqrstuvwxyz"; + digits="0123456789"; string =""; + + while ( length(string) < 65597 ) + string = string ABC abc digits; + + print string }' > ${text65597} + +head -c 65533 ${text65597} > ${text65533} +head -c 65534 ${text65597} > ${text65534} +pamtopdbimg -uncompressed testgrid.pbm | wc -c + echo ${PIPESTATUS[0]} +pamtopdbimg -uncompressed -notefile=${text65533} testgrid.pbm | wc -c + echo ${PIPESTATUS[0]} +pamtopdbimg -uncompressed -notefile=${text65534} testgrid.pbm | wc -c + echo ${PIPESTATUS[0]} + +rm ${text65533} ${text65534} ${text65597} \ No newline at end of file diff --git a/test/pdb-roundtrip.ok b/test/pdb-roundtrip.ok new file mode 100644 index 00000000..cb920669 --- /dev/null +++ b/test/pdb-roundtrip.ok @@ -0,0 +1,18 @@ +pbm grid +2224198737 25671 +2224198737 25671 +2224198737 25671 +pbm tiled +0 0 0 +0 0 0 +0 0 0 +0 0 0 +pgm ellipse +0 0 0 +0 0 0 +0 0 0 +0 0 0 +pgm ellipse -4depth +0 0 0 +0 0 0 +0 0 0 diff --git a/test/pdb-roundtrip.test b/test/pdb-roundtrip.test new file mode 100755 index 00000000..a6de93d2 --- /dev/null +++ b/test/pdb-roundtrip.test @@ -0,0 +1,55 @@ +#! /bin/bash +# This script tests: pamtopdbimg pdbimgtopam +# Also requires: pnmtile pgmramp pamtopnm + +tmpdir=${tmpdir:-/tmp} +tiled_pbm=${tmpdir}/tiled.pbm +ellipse_pgm=${tmpdir}/ellipse.pgm + + +# Test 1. Should produce 2224198737 25671 +# 3 times +echo pbm grid +for flag in "-compressed" "-maybecompressed" "-uncompressed" + do + pamtopdbimg ${flag} testgrid.pbm | pdbimgtopam | cksum + done + + +# Test 2. Should produce 0 0 0 +# 4 times +echo pbm tiled +pnmtile 160 160 testgrid.pbm > ${tiled_pbm} +for flag in "" "-compressed" "-maybecompressed" "-uncompressed" + do + pamtopdbimg ${flag} ${tiled_pbm} | pdbimgtopam | pamtopnm | \ + cmp -s - ${tiled_pbm} + echo ${PIPESTATUS[0]} ${PIPESTATUS[1]} $? + done +rm ${tiled_pbm} + + +# Test 3. Should produce 0 0 0 +# 4 times +echo pgm ellipse +pgmramp -ellipse 160 160 -maxval=3 > ${ellipse_pgm} +for flag in "" "-compressed" "-maybecompressed" "-uncompressed" + do + pamtopdbimg ${flag} ${ellipse_pgm} | pdbimgtopam | \ + pamtopnm | pamdepth 3 | cmp -s - ${ellipse_pgm} + echo ${PIPESTATUS[0]} ${PIPESTATUS[1]} $? + done +rm ${ellipse_pgm} + + +# Test 3. Should produce 0 0 0 +# 3 times +echo pgm ellipse -4depth +pgmramp -ellipse 160 160 -maxval=15 > ${ellipse_pgm} +for flag in "-compressed" "-maybecompressed" "-uncompressed" + do + pamtopdbimg -4depth ${flag} ${ellipse_pgm} | pdbimgtopam | \ + pamtopnm | pamdepth 15 | cmp -s - ${ellipse_pgm} + echo ${PIPESTATUS[0]} ${PIPESTATUS[1]} $? + done +rm ${ellipse_pgm} \ No newline at end of file -- cgit 1.4.1