about summary refs log tree commit diff
path: root/test/ppmcie.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/ppmcie.test')
-rwxr-xr-xtest/ppmcie.test51
1 files changed, 51 insertions, 0 deletions
diff --git a/test/ppmcie.test b/test/ppmcie.test
new file mode 100755
index 00000000..0ce69dea
--- /dev/null
+++ b/test/ppmcie.test
@@ -0,0 +1,51 @@
+#! /bin/bash
+# This script tests: ppmcie
+# Also requires: pamsumm pamsharpness
+
+
+# Failure message
+## Ppmcie is sensitive to system factors.  If this test fails, please
+## run the program and visually examine the output.
+
+tmpdir=${tmpdir:-/tmp}
+
+# Test 1. Should print 955840041 786447
+# Without -nolabel -noaxes -nowpoint -noblack older versions of
+# Netpbm produce slightly different charts.
+# Output from "ppmcie | cksum" :
+# v. 10.35.86: 288356530 786447
+# v. 10.59.2 : 2292601420 786447
+
+ppmcie_ppm=${tmpdir}/ppmcie.ppm
+
+ppmcie -nolabel -noaxes -nowpoint -noblack \
+ > ${ppmcie_ppm}
+
+# There is a slight difference in the output depending on whether ppmcie
+# is compiled with SSE features are turned on or off.
+# Note that Gcc turns on SSE,SSE2 on by default for x86-64.
+
+# Output from "cksum ppmcie.ppm":
+# v. 10.59.2
+# x86 32 bit: 955840041 786447
+# x86 64 bit: 4208660683 786447
+
+# Test 1.  Measure mean value
+# v. 10.59.2
+# x86 32 bit: 38.660173
+# x86 64 bit: 38.681432
+
+pamsumm --mean --brief ${ppmcie_ppm} | \
+  awk '{ if(38.65 < $1 && $1 <38.69) print "ok"; else print $1}'
+
+# Test 2.  Measure image sharpness
+# v. 10.59.2
+# x86 32 bit: 0.002476
+# x86 64 bit: 0.002478
+
+pamsharpness ${ppmcie_ppm} 2>&1 | \
+  awk 'NF==3 && $1=="Sharpness" \
+       {if (0.002475 < $3 && $3 < 0.002479) print "ok"; else print $3}
+       NF>0 && NF!=3 {print "error"}'
+
+rm ${ppmcie_ppm}