about summary refs log tree commit diff
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2017-09-11 00:36:38 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2017-09-11 00:36:38 +0000
commit572ed0c3b27fb4aa74d5e4fb53c973801d87796d (patch)
tree5a965eb4511416ce0a45efa5235ad432dd2741fb
parent359ed5e3cc166eb83233b13da348ddd630cb5359 (diff)
downloadnetpbm-mirror-572ed0c3b27fb4aa74d5e4fb53c973801d87796d.tar.gz
netpbm-mirror-572ed0c3b27fb4aa74d5e4fb53c973801d87796d.tar.xz
netpbm-mirror-572ed0c3b27fb4aa74d5e4fb53c973801d87796d.zip
Add tests for Palm programs
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@3056 9d0c8265-081b-0410-96cb-a4ca84ce46f8
-rw-r--r--GNUmakefile4
-rw-r--r--test/Test-Order3
-rw-r--r--test/palm-roundtrip2.ok5
-rwxr-xr-xtest/palm-roundtrip2.test31
-rw-r--r--test/pamtopdbimg.ok20
-rwxr-xr-xtest/pamtopdbimg.test86
-rw-r--r--test/pdb-roundtrip.ok18
-rwxr-xr-xtest/pdb-roundtrip.test55
8 files changed, 222 insertions, 0 deletions
diff --git a/GNUmakefile b/GNUmakefile
index 6f9eb41c..e5914648 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -446,6 +446,7 @@ deb:
 CHECK_VARS = \
 	BUILDDIR=$(BUILDDIR) \
 	RGBDEF=$(RGBDEF) \
+	PALMMAPDIR=$(PALMMAPDIR) \
 	BUILD_FIASCO=$(BUILD_FIASCO) \
 	JASPERLIB="$(JASPERLIB)" \
 	JBIGLIB="$(JBIGLIB)" \
@@ -512,6 +513,7 @@ colon :=:
 check-tree : PBM_TEST_PATH := $(subst $(space),$(colon),$(strip $(RBINDIRS)))
 check-tree : PBM_LIBRARY_PATH ?= $(BUILDDIR)/lib
 check-tree : RGBDEF ?= $(SRCDIR)/lib/rgb.txt
+check-tree : PALMMAPDIR ?= $(SRCDIR)/converter/other/pnmtopalm
 
 
 # Create RESULTDIR.
@@ -544,6 +546,7 @@ check-tree: $(TESTRANDOM) resultdir-backup
 check-package : PBM_TEST_PATH := $(PKGDIR)/bin
 check-package : PBM_LIBRARY_PATH := $(PKGDIR)/lib
 check-package : RGBDEF ?= $(PKGDIR)/misc/rgb.txt
+check-package : PALMMAPDIR ?= $(PKGDIR)/misc/
 check: check-package
 
 check-package: $(TESTRANDOM) resultdir-backup
@@ -556,6 +559,7 @@ check-package: $(TESTRANDOM) resultdir-backup
 
 
 # Check after install
+check-install: PALMMAPDIR ?= ""
 check-install: $(TESTRANDOM) resultdir-backup
 	cd $(RESULTDIR); \
 	  $(CHECK_VARS) \
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