summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-10-12 19:29:43 +0200
committerEven Rouault <even.rouault@spatialys.com>2020-10-16 13:40:11 +0200
commitb9fa1f6e4aac121cbc3a3e1f59eecda065f9da4b (patch)
treed4958bf6528a82abb203a393fa95de335ce3b230
parent3a2de853a932bd0ea79d1677d319841edb736c38 (diff)
downloadlibtiff-git-b9fa1f6e4aac121cbc3a3e1f59eecda065f9da4b.tar.gz
test: add testdeflatelaststripextradata.sh
-rw-r--r--test/CMakeLists.txt3
-rw-r--r--test/Makefile.am7
-rw-r--r--test/images/README.txt3
-rw-r--r--test/images/deflate-last-strip-extra-data.tiffbin0 -> 12789 bytes
-rw-r--r--test/refs/o-deflate-last-strip-extra-data.tiffbin0 -> 12560 bytes
-rwxr-xr-xtest/testdeflatelaststripextradata.sh43
6 files changed, 53 insertions, 3 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 5a1a7420..bffb8bf7 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -109,7 +109,8 @@ set(TESTSCRIPTS
tiff2rgba-ojpeg_zackthecat_subsamp22_single_strip.sh
tiff2rgba-ojpeg_chewey_subsamp21_multi_strip.sh
tiff2rgba-ojpeg_single_strip_no_rowsperstrip.sh
- testfax4.sh)
+ testfax4.sh
+ testdeflatelaststripextradata.sh)
# This list should contain all of the TIFF files in the 'images'
# subdirectory which are intended to be used as input images for
diff --git a/test/Makefile.am b/test/Makefile.am
index 42e9f593..4973b614 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -150,6 +150,7 @@ TESTSCRIPTS = \
tiff2rgba-rgb-3c-16b.sh \
tiff2rgba-rgb-3c-8b.sh \
testfax4.sh \
+ testdeflatelaststripextradata.sh \
$(JPEG_DEPENDENT_TESTSCRIPTS)
# This list should contain the references files
@@ -159,7 +160,8 @@ REFFILES = \
refs/o-tiff2ps-PS1.ps \
refs/o-tiff2ps-PS2.ps \
refs/o-tiff2ps-PS3.ps \
- refs/o-testfax4.tiff
+ refs/o-testfax4.tiff \
+ refs/o-deflate-last-strip-extra-data.tiff
# This list should contain all of the TIFF files in the 'images'
# subdirectory which are intended to be used as input images for
@@ -181,7 +183,8 @@ TIFFIMAGES = \
images/ojpeg_zackthecat_subsamp22_single_strip.tiff \
images/ojpeg_chewey_subsamp21_multi_strip.tiff \
images/ojpeg_single_strip_no_rowsperstrip.tiff \
- images/testfax4.tiff
+ images/testfax4.tiff \
+ images/deflate-last-strip-extra-data.tiff
PNMIMAGES = \
images/minisblack-1c-8b.pgm \
diff --git a/test/images/README.txt b/test/images/README.txt
index b6447d8e..4a7ad829 100644
--- a/test/images/README.txt
+++ b/test/images/README.txt
@@ -30,3 +30,6 @@ PNM files:
G3 Fax files :
miniswhite-1c-1b.g3
+
+deflate-last-strip-extra-data.tiff is
+https://github.com/OSGeo/gdal/blob/master/autotest/alg/data/utmsmall_near.tiff
diff --git a/test/images/deflate-last-strip-extra-data.tiff b/test/images/deflate-last-strip-extra-data.tiff
new file mode 100644
index 00000000..e3ee9dcc
--- /dev/null
+++ b/test/images/deflate-last-strip-extra-data.tiff
Binary files differ
diff --git a/test/refs/o-deflate-last-strip-extra-data.tiff b/test/refs/o-deflate-last-strip-extra-data.tiff
new file mode 100644
index 00000000..5d56fe54
--- /dev/null
+++ b/test/refs/o-deflate-last-strip-extra-data.tiff
Binary files differ
diff --git a/test/testdeflatelaststripextradata.sh b/test/testdeflatelaststripextradata.sh
new file mode 100755
index 00000000..115eb226
--- /dev/null
+++ b/test/testdeflatelaststripextradata.sh
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# check decoding of a deflate compressed file whose last strip which should
+# contain data for only 4 lines has more in it.
+. ${srcdir:-.}/common.sh
+infile="${IMAGES}/deflate-last-strip-extra-data.tiff"
+outfile="o-deflate-last-strip-extra-data.tiff"
+rm -f $outfile
+echo "$MEMCHECK ${TIFFCP} -c zip $infile $outfile"
+eval "$MEMCHECK ${TIFFCP} -c zip $infile $outfile"
+status=$?
+if [ $status != 0 ] ; then
+ echo "Returned failed status $status!"
+ echo "Output (if any) is in \"${outfile}\"."
+ exit $status
+fi
+echo "$MEMCHECK ${TIFFCMP} $outfile ${REFS}/$outfile"
+eval "$MEMCHECK ${TIFFCMP} $outfile ${REFS}/$outfile"
+status=$?
+if [ $status != 0 ] ; then
+ echo "Returned failed status $status!"
+ echo "\"${outfile}\" differs from reference file."
+ exit $status
+fi
+
+outfile="o-deflate-last-strip-extra-data-tiled.tiff"
+rm -f $outfile
+echo "$MEMCHECK ${TIFFCP} -c zip -t -w 256 -l 256 $infile $outfile"
+eval "$MEMCHECK ${TIFFCP} -c zip -t -w 256 -l 256 $infile $outfile"
+status=$?
+if [ $status != 0 ] ; then
+ echo "Returned failed status $status!"
+ echo "Output (if any) is in \"${outfile}\"."
+ exit $status
+fi
+echo "$MEMCHECK ${TIFFCMP} $outfile ${REFS}/o-deflate-last-strip-extra-data.tiff"
+eval "$MEMCHECK ${TIFFCMP} $outfile ${REFS}/o-deflate-last-strip-extra-data.tiff"
+status=$?
+if [ $status != 0 ] ; then
+ echo "Returned failed status $status!"
+ echo "\"${outfile}\" differs from reference file."
+ exit $status
+fi