You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.4 KiB
94 lines
2.4 KiB
#!/bin/sh |
|
# |
|
# Make a set of test PNG files, MAKEPNG is the name of the makepng executable |
|
# built from contrib/libtests/makepng.c |
|
|
|
# Copyright (c) 2015 John Cunningham Bowler |
|
|
|
# Last changed in libpng 1.6.20 [December 3, 2015] |
|
|
|
# This code is released under the libpng license. |
|
# For conditions of distribution and use, see the disclaimer |
|
# and license in png.h |
|
|
|
# The arguments say whether to build all the files or whether just to build the |
|
# ones that extend the code-coverage of libpng from the existing test files in |
|
# contrib/pngsuite. |
|
test -n "$MAKEPNG" || MAKEPNG=./makepng |
|
opts= |
|
|
|
mp(){ |
|
${MAKEPNG} $opts $1 "$3" "$4" "$3-$4$2.png" |
|
} |
|
|
|
mpg(){ |
|
if test "$1" = "none" |
|
then |
|
mp "" "" "$2" "$3" |
|
else |
|
mp "--$1" "-$1" "$2" "$3" |
|
fi |
|
} |
|
|
|
mptrans(){ |
|
if test "$1" = "none" |
|
then |
|
mp "--tRNS" "-tRNS" "$2" "$3" |
|
else |
|
mp "--tRNS --$1" "-$1-tRNS" "$2" "$3" |
|
fi |
|
} |
|
|
|
case "$1" in |
|
--small) |
|
opts="--small";;& |
|
|
|
--all|--small) |
|
for g in none sRGB linear 1.8 |
|
do |
|
for c in gray palette |
|
do |
|
for b in 1 2 4 |
|
do |
|
mpg "$g" "$c" "$b" |
|
mptrans "$g" "$c" "$b" |
|
done |
|
done |
|
|
|
mpg "$g" palette 8 |
|
mptrans "$g" palette 8 |
|
|
|
for b in 8 16 |
|
do |
|
for c in gray gray-alpha rgb rgb-alpha |
|
do |
|
mpg "$g" "$c" "$b" |
|
done |
|
for c in gray rgb |
|
do |
|
mptrans "$g" "$c" "$b" |
|
done |
|
done |
|
done;; |
|
|
|
--coverage) |
|
# Comments below indicate cases known to be required and not duplicated |
|
# in other (required) cases; the aim is to get a minimal set that gives |
|
# the maximum code coverage. |
|
mpg none gray-alpha 8 # required: code coverage, sRGB opaque component |
|
mpg none palette 8 # required: basic palette read |
|
mpg 1.8 gray 2 # required: tests gamma threshold code |
|
mpg 1.8 palette 2 # required: code coverage |
|
mpg 1.8 palette 4 # required: code coverage |
|
mpg 1.8 palette 8 # error limits only |
|
mpg linear palette 8 # error limits only |
|
mpg linear rgb-alpha 16 # error limits only |
|
mpg sRGB palette 1 # required: code coverage |
|
mpg sRGB rgb-alpha 16 # required: code coverage: pngread.c:2422 untested |
|
:;; |
|
|
|
*) |
|
echo "$0 $1: unknown argument, usage:" >&2 |
|
echo " $0 [--all|--coverage|--small]" >&2 |
|
exit 1 |
|
esac
|
|
|