| Index: third_party/libpng/contrib/libtests/gentests.sh
|
| diff --git a/third_party/libpng/contrib/libtests/gentests.sh b/third_party/libpng/contrib/libtests/gentests.sh
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..f0f8d2395a5377cce9385cf9cdf3c12612b07f98
|
| --- /dev/null
|
| +++ b/third_party/libpng/contrib/libtests/gentests.sh
|
| @@ -0,0 +1,102 @@
|
| +#!/bin/sh
|
| +#
|
| +# Copyright (c) 2013 John Cunningham Bowler
|
| +#
|
| +# Last changed in libpng 1.6.0 [February 14, 2013]
|
| +#
|
| +# This code is released under the libpng license.
|
| +# For conditions of distribution and use, see the disclaimer
|
| +# and license in png.h
|
| +#
|
| +# Generate a set of PNG test images. The images are generated in a
|
| +# sub-directory called 'tests' by default, however a command line argument will
|
| +# change that name. The generation requires a built version of makepng in the
|
| +# current directory.
|
| +#
|
| +usage(){
|
| + exec >&2
|
| + echo "$0 [<directory>]"
|
| + echo ' Generate a set of PNG test files in "directory" ("tests" by default)'
|
| + exit 1
|
| +}
|
| +
|
| +mp="$PWD/makepng"
|
| +test -x "$mp" || {
|
| + exec >&2
|
| + echo "$0: the 'makepng' program must exist"
|
| + echo " in the directory within which this program:"
|
| + echo " $mp"
|
| + echo " is executed"
|
| + usage
|
| +}
|
| +
|
| +# Just one argument: the directory
|
| +testdir="tests"
|
| +test $# -gt 1 && {
|
| + testdir="$1"
|
| + shift
|
| +}
|
| +test $# -eq 0 || usage
|
| +
|
| +# Take care not to clobber something
|
| +if test -e "$testdir"
|
| +then
|
| + test -d "$testdir" || usage
|
| +else
|
| + # mkdir -p isn't portable, so do the following
|
| + mkdir "$testdir" 2>/dev/null || mkdir -p "$testdir" || usage
|
| +fi
|
| +
|
| +# This fails in a very satisfactory way if it's not accessible
|
| +cd "$testdir"
|
| +:>"test$$.png" || {
|
| + exec >&2
|
| + echo "$testdir: directory not writable"
|
| + usage
|
| +}
|
| +rm "test$$.png" || {
|
| + exec >&2
|
| + echo "$testdir: you have create but not write privileges here."
|
| + echo " This is unexpected. You have a spurion; "'"'"test$$.png"'"'"."
|
| + echo " You need to remove this yourself. Try a different directory."
|
| + exit 1
|
| +}
|
| +
|
| +# Now call makepng ($mp) to create every file we can think of with a
|
| +# reasonable name
|
| +doit(){
|
| + for gamma in "" --sRGB --linear --1.8
|
| + do
|
| + case "$gamma" in
|
| + "")
|
| + gname=;;
|
| + --sRGB)
|
| + gname="-srgb";;
|
| + --linear)
|
| + gname="-lin";;
|
| + --1.8)
|
| + gname="-18";;
|
| + *)
|
| + gname="-$gamma";;
|
| + esac
|
| + "$mp" $gamma "$1" "$2" "test-$1-$2$gname.png"
|
| + done
|
| +}
|
| +#
|
| +for ct in gray palette
|
| +do
|
| + for bd in 1 2 4 8
|
| + do
|
| + doit "$ct" "$bd"
|
| + done
|
| +done
|
| +#
|
| +doit "gray" "16"
|
| +#
|
| +for ct in gray-alpha rgb rgb-alpha
|
| +do
|
| + for bd in 8 16
|
| + do
|
| + doit "$ct" "$bd"
|
| + done
|
| +done
|
|
|