summaryrefslogtreecommitdiff
path: root/libpng/tests
diff options
context:
space:
mode:
Diffstat (limited to 'libpng/tests')
-rwxr-xr-xlibpng/tests/pngimage-full2
-rwxr-xr-xlibpng/tests/pngimage-quick2
-rwxr-xr-xlibpng/tests/pngstest54
-rwxr-xr-xlibpng/tests/pngstest-1.82
-rwxr-xr-xlibpng/tests/pngstest-1.8-alpha2
-rwxr-xr-xlibpng/tests/pngstest-linear2
-rwxr-xr-xlibpng/tests/pngstest-linear-alpha2
-rwxr-xr-xlibpng/tests/pngstest-none2
-rwxr-xr-xlibpng/tests/pngstest-none-alpha2
-rwxr-xr-xlibpng/tests/pngstest-sRGB2
-rwxr-xr-xlibpng/tests/pngstest-sRGB-alpha2
-rwxr-xr-xlibpng/tests/pngtest2
-rwxr-xr-xlibpng/tests/pngtest-badpngs13
-rwxr-xr-xlibpng/tests/pngunknown-IDAT2
-rwxr-xr-xlibpng/tests/pngunknown-discard2
-rwxr-xr-xlibpng/tests/pngunknown-if-safe2
-rwxr-xr-xlibpng/tests/pngunknown-sAPI2
-rwxr-xr-xlibpng/tests/pngunknown-sTER2
-rwxr-xr-xlibpng/tests/pngunknown-save2
-rwxr-xr-xlibpng/tests/pngunknown-vpAg2
-rwxr-xr-xlibpng/tests/pngvalid-gamma-16-to-82
-rwxr-xr-xlibpng/tests/pngvalid-gamma-alpha-mode2
-rwxr-xr-xlibpng/tests/pngvalid-gamma-background2
-rwxr-xr-xlibpng/tests/pngvalid-gamma-expand16-alpha-mode2
-rwxr-xr-xlibpng/tests/pngvalid-gamma-expand16-background2
-rwxr-xr-xlibpng/tests/pngvalid-gamma-expand16-transform2
-rwxr-xr-xlibpng/tests/pngvalid-gamma-sbit2
-rwxr-xr-xlibpng/tests/pngvalid-gamma-threshold2
-rwxr-xr-xlibpng/tests/pngvalid-gamma-transform2
-rwxr-xr-xlibpng/tests/pngvalid-progressive-interlace-standard2
-rwxr-xr-xlibpng/tests/pngvalid-progressive-size2
-rwxr-xr-xlibpng/tests/pngvalid-progressive-standard2
-rwxr-xr-xlibpng/tests/pngvalid-standard2
-rwxr-xr-xlibpng/tests/pngvalid-transform2
34 files changed, 131 insertions, 0 deletions
diff --git a/libpng/tests/pngimage-full b/libpng/tests/pngimage-full
new file mode 100755
index 000000000..1198ed05c
--- /dev/null
+++ b/libpng/tests/pngimage-full
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngimage --exhaustive --list-combos --log "${srcdir}/contrib/pngsuite/"*.png
diff --git a/libpng/tests/pngimage-quick b/libpng/tests/pngimage-quick
new file mode 100755
index 000000000..328dc27b5
--- /dev/null
+++ b/libpng/tests/pngimage-quick
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngimage --list-combos --log "${srcdir}/contrib/pngsuite/"*.png
diff --git a/libpng/tests/pngstest b/libpng/tests/pngstest
new file mode 100755
index 000000000..9d1b7764e
--- /dev/null
+++ b/libpng/tests/pngstest
@@ -0,0 +1,54 @@
+#!/bin/sh
+#
+# Usage:
+#
+# tests/pngstest gamma alpha
+#
+# Run ./pngstest on the PNG files in $srcdir/contrib/testpngs which have the
+# given gamma and opacity:
+#
+# gamma: one of; linear, 1.8, sRGB, none.
+# alpha: one of; opaque, tRNS, alpha, none. 'none' is equivalent to !alpha
+#
+# NOTE: the temporary files pngstest generates have the base name gamma-alpha to
+# avoid issues with make -j
+#
+gamma="$1"
+shift
+alpha="$1"
+shift
+args=
+LC_ALL="C" # fix glob sort order to ASCII:
+for f in "${srcdir}/contrib/testpngs/"*.png
+do
+ g=
+ case "$f" in
+ *-linear[.-]*)
+ test "$gamma" = "linear" && g="$f";;
+
+ *-sRGB[.-]*)
+ test "$gamma" = "sRGB" && g="$f";;
+
+ *-1.8[.-]*)
+ test "$gamma" = "1.8" && g="$f";;
+
+ *)
+ test "$gamma" = "none" && g="$f";;
+ esac
+
+ case "$g" in
+ "")
+ :;;
+
+ *-alpha[-.]*)
+ test "$alpha" = "alpha" && args="$args $g";;
+
+ *-tRNS[-.]*)
+ test "$alpha" = "tRNS" -o "$alpha" = "none" && args="$args $g";;
+
+ *)
+ test "$alpha" = "opaque" -o "$alpha" = "none" && args="$args $g";;
+ esac
+done
+# This only works if the arguments don't contain spaces; they don't.
+exec ./pngstest --tmpfile "${gamma}-${alpha}-" --log ${1+"$@"} $args
diff --git a/libpng/tests/pngstest-1.8 b/libpng/tests/pngstest-1.8
new file mode 100755
index 000000000..b2ec21bf6
--- /dev/null
+++ b/libpng/tests/pngstest-1.8
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec "${srcdir}/tests/pngstest" 1.8 none
diff --git a/libpng/tests/pngstest-1.8-alpha b/libpng/tests/pngstest-1.8-alpha
new file mode 100755
index 000000000..d00596d55
--- /dev/null
+++ b/libpng/tests/pngstest-1.8-alpha
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec "${srcdir}/tests/pngstest" 1.8 alpha
diff --git a/libpng/tests/pngstest-linear b/libpng/tests/pngstest-linear
new file mode 100755
index 000000000..4a5b3fe8c
--- /dev/null
+++ b/libpng/tests/pngstest-linear
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec "${srcdir}/tests/pngstest" linear none
diff --git a/libpng/tests/pngstest-linear-alpha b/libpng/tests/pngstest-linear-alpha
new file mode 100755
index 000000000..411421036
--- /dev/null
+++ b/libpng/tests/pngstest-linear-alpha
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec "${srcdir}/tests/pngstest" linear alpha
diff --git a/libpng/tests/pngstest-none b/libpng/tests/pngstest-none
new file mode 100755
index 000000000..09ad740b5
--- /dev/null
+++ b/libpng/tests/pngstest-none
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec "${srcdir}/tests/pngstest" none none
diff --git a/libpng/tests/pngstest-none-alpha b/libpng/tests/pngstest-none-alpha
new file mode 100755
index 000000000..af6083ff8
--- /dev/null
+++ b/libpng/tests/pngstest-none-alpha
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec "${srcdir}/tests/pngstest" none alpha
diff --git a/libpng/tests/pngstest-sRGB b/libpng/tests/pngstest-sRGB
new file mode 100755
index 000000000..d8460812c
--- /dev/null
+++ b/libpng/tests/pngstest-sRGB
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec "${srcdir}/tests/pngstest" sRGB none
diff --git a/libpng/tests/pngstest-sRGB-alpha b/libpng/tests/pngstest-sRGB-alpha
new file mode 100755
index 000000000..f1e57d339
--- /dev/null
+++ b/libpng/tests/pngstest-sRGB-alpha
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec "${srcdir}/tests/pngstest" sRGB alpha
diff --git a/libpng/tests/pngtest b/libpng/tests/pngtest
new file mode 100755
index 000000000..813973b23
--- /dev/null
+++ b/libpng/tests/pngtest
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngtest --strict ${srcdir}/pngtest.png
diff --git a/libpng/tests/pngtest-badpngs b/libpng/tests/pngtest-badpngs
new file mode 100755
index 000000000..77775232b
--- /dev/null
+++ b/libpng/tests/pngtest-badpngs
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# various crashers
+# using --relaxed because some come from fuzzers that don't maintain CRC's
+
+./pngtest --relaxed ${srcdir}/contrib/testpngs/crashers/badcrc.png
+./pngtest --relaxed ${srcdir}/contrib/testpngs/crashers/badadler.png
+./pngtest --xfail ${srcdir}/contrib/testpngs/crashers/bad_iCCP.png
+./pngtest --xfail ${srcdir}/contrib/testpngs/crashers/empty_ancillary_chunks.png
+./pngtest --xfail ${srcdir}/contrib/testpngs/crashers/huge_*_chunk.png \
+ ${srcdir}/contrib/testpngs/crashers/huge_*safe_to_copy.png
+
+exec ./pngtest --xfail ${srcdir}/contrib/testpngs/crashers/huge_IDAT.png
diff --git a/libpng/tests/pngunknown-IDAT b/libpng/tests/pngunknown-IDAT
new file mode 100755
index 000000000..8e7281aa8
--- /dev/null
+++ b/libpng/tests/pngunknown-IDAT
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngunknown --strict default=discard IDAT=save "${srcdir}/pngtest.png"
diff --git a/libpng/tests/pngunknown-discard b/libpng/tests/pngunknown-discard
new file mode 100755
index 000000000..c96dab370
--- /dev/null
+++ b/libpng/tests/pngunknown-discard
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngunknown --strict default=discard "${srcdir}/pngtest.png"
diff --git a/libpng/tests/pngunknown-if-safe b/libpng/tests/pngunknown-if-safe
new file mode 100755
index 000000000..31a4954fb
--- /dev/null
+++ b/libpng/tests/pngunknown-if-safe
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngunknown --strict default=if-safe "${srcdir}/pngtest.png"
diff --git a/libpng/tests/pngunknown-sAPI b/libpng/tests/pngunknown-sAPI
new file mode 100755
index 000000000..88a1f6be2
--- /dev/null
+++ b/libpng/tests/pngunknown-sAPI
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngunknown --strict bKGD=save cHRM=save gAMA=save all=discard iCCP=save sBIT=save sRGB=save eXIf=save "${srcdir}/pngtest.png"
diff --git a/libpng/tests/pngunknown-sTER b/libpng/tests/pngunknown-sTER
new file mode 100755
index 000000000..59c5ecd54
--- /dev/null
+++ b/libpng/tests/pngunknown-sTER
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngunknown --strict sTER=if-safe "${srcdir}/pngtest.png"
diff --git a/libpng/tests/pngunknown-save b/libpng/tests/pngunknown-save
new file mode 100755
index 000000000..21412c42a
--- /dev/null
+++ b/libpng/tests/pngunknown-save
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngunknown --strict default=save "${srcdir}/pngtest.png"
diff --git a/libpng/tests/pngunknown-vpAg b/libpng/tests/pngunknown-vpAg
new file mode 100755
index 000000000..04f07b69a
--- /dev/null
+++ b/libpng/tests/pngunknown-vpAg
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngunknown --strict vpAg=if-safe "${srcdir}/pngtest.png"
diff --git a/libpng/tests/pngvalid-gamma-16-to-8 b/libpng/tests/pngvalid-gamma-16-to-8
new file mode 100755
index 000000000..074945d31
--- /dev/null
+++ b/libpng/tests/pngvalid-gamma-16-to-8
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngvalid --strict --gamma-16-to-8
diff --git a/libpng/tests/pngvalid-gamma-alpha-mode b/libpng/tests/pngvalid-gamma-alpha-mode
new file mode 100755
index 000000000..b16e8abc4
--- /dev/null
+++ b/libpng/tests/pngvalid-gamma-alpha-mode
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngvalid --strict --gamma-alpha-mode
diff --git a/libpng/tests/pngvalid-gamma-background b/libpng/tests/pngvalid-gamma-background
new file mode 100755
index 000000000..3dbf58d8a
--- /dev/null
+++ b/libpng/tests/pngvalid-gamma-background
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngvalid --strict --gamma-background
diff --git a/libpng/tests/pngvalid-gamma-expand16-alpha-mode b/libpng/tests/pngvalid-gamma-expand16-alpha-mode
new file mode 100755
index 000000000..4fa10bde2
--- /dev/null
+++ b/libpng/tests/pngvalid-gamma-expand16-alpha-mode
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngvalid --strict --gamma-alpha-mode --expand16
diff --git a/libpng/tests/pngvalid-gamma-expand16-background b/libpng/tests/pngvalid-gamma-expand16-background
new file mode 100755
index 000000000..ad9a91762
--- /dev/null
+++ b/libpng/tests/pngvalid-gamma-expand16-background
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngvalid --strict --gamma-background --expand16
diff --git a/libpng/tests/pngvalid-gamma-expand16-transform b/libpng/tests/pngvalid-gamma-expand16-transform
new file mode 100755
index 000000000..5fd1f280b
--- /dev/null
+++ b/libpng/tests/pngvalid-gamma-expand16-transform
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngvalid --strict --gamma-transform --expand16
diff --git a/libpng/tests/pngvalid-gamma-sbit b/libpng/tests/pngvalid-gamma-sbit
new file mode 100755
index 000000000..6ca08e9e3
--- /dev/null
+++ b/libpng/tests/pngvalid-gamma-sbit
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngvalid --strict --gamma-sbit
diff --git a/libpng/tests/pngvalid-gamma-threshold b/libpng/tests/pngvalid-gamma-threshold
new file mode 100755
index 000000000..3fe4edf77
--- /dev/null
+++ b/libpng/tests/pngvalid-gamma-threshold
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngvalid --strict --gamma-threshold
diff --git a/libpng/tests/pngvalid-gamma-transform b/libpng/tests/pngvalid-gamma-transform
new file mode 100755
index 000000000..3fa62c688
--- /dev/null
+++ b/libpng/tests/pngvalid-gamma-transform
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngvalid --strict --gamma-transform
diff --git a/libpng/tests/pngvalid-progressive-interlace-standard b/libpng/tests/pngvalid-progressive-interlace-standard
new file mode 100755
index 000000000..a8cdf9e1a
--- /dev/null
+++ b/libpng/tests/pngvalid-progressive-interlace-standard
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngvalid --strict --standard --progressive-read --interlace
diff --git a/libpng/tests/pngvalid-progressive-size b/libpng/tests/pngvalid-progressive-size
new file mode 100755
index 000000000..868d6dcc3
--- /dev/null
+++ b/libpng/tests/pngvalid-progressive-size
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngvalid --strict --size --progressive-read
diff --git a/libpng/tests/pngvalid-progressive-standard b/libpng/tests/pngvalid-progressive-standard
new file mode 100755
index 000000000..bf7e5c1c2
--- /dev/null
+++ b/libpng/tests/pngvalid-progressive-standard
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngvalid --strict --standard --progressive-read
diff --git a/libpng/tests/pngvalid-standard b/libpng/tests/pngvalid-standard
new file mode 100755
index 000000000..a89b88424
--- /dev/null
+++ b/libpng/tests/pngvalid-standard
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngvalid --strict --standard
diff --git a/libpng/tests/pngvalid-transform b/libpng/tests/pngvalid-transform
new file mode 100755
index 000000000..c7536aeb8
--- /dev/null
+++ b/libpng/tests/pngvalid-transform
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./pngvalid --strict --transform