mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-04-27 23:35:45 +00:00
update libpng
update libpng, the repo now requires a vcpkg setup for integrating but skipping the install step should allow it to work for windows an linux, mac might need more
This commit is contained in:
parent
c593d860a0
commit
5d644b4ffb
300 changed files with 25573 additions and 17698 deletions
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/sh
|
||||
exec ./pngtest --strict ${srcdir}/pngtest.png
|
||||
110
Engine/lib/lpng/tests/pngtest-all
Normal file
110
Engine/lib/lpng/tests/pngtest-all
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
#!/bin/sh
|
||||
|
||||
st=0 # exit status (set to 1 if a test fails)
|
||||
skipped=
|
||||
fail="**FAIL**"
|
||||
skip="**SKIP**"
|
||||
success=" SUCCESS"
|
||||
TEST(){
|
||||
# Try to make the log file easier to read:
|
||||
echo "=============== pngtest $* ===================="
|
||||
./pngtest "$@"
|
||||
status=$?
|
||||
case "$status" in
|
||||
0) test_status="$success";;
|
||||
77) test_status="$skip"
|
||||
skipped=1;;
|
||||
*) test_status="$fail"
|
||||
st="$status";;
|
||||
esac
|
||||
echo "===============$test_status $* ===================="
|
||||
return "$status"
|
||||
}
|
||||
|
||||
# The "standard" test
|
||||
TEST --strict "${srcdir}"/pngtest.png
|
||||
|
||||
# PNG-3 tests
|
||||
TEST --strict "${srcdir}"/contrib/testpngs/png-3/*.png
|
||||
|
||||
# Various crashers
|
||||
# Use --relaxed because some come from fuzzers that don't maintain CRCs
|
||||
TEST --relaxed "${srcdir}"/contrib/testpngs/crashers/badcrc.png
|
||||
# Use --xfail because there is no reliable way of disabling these errors
|
||||
# (Adler32 checking cannot be switched off on all builds and there is no
|
||||
# provision for turning the other checks into warnings.)
|
||||
TEST --xfail "${srcdir}"/contrib/testpngs/crashers/badadler.png
|
||||
TEST --xfail "${srcdir}"/contrib/testpngs/crashers/bad_iCCP.png
|
||||
TEST --xfail "${srcdir}"/contrib/testpngs/crashers/empty_ancillary_chunks.png
|
||||
for file in "${srcdir}"/contrib/testpngs/crashers/huge_*_chunk.png
|
||||
do
|
||||
TEST --xfail "$file"
|
||||
done
|
||||
for file in "${srcdir}"/contrib/testpngs/crashers/huge_*safe_to_copy.png
|
||||
do
|
||||
TEST --xfail "$file"
|
||||
done
|
||||
TEST --xfail "${srcdir}"/contrib/testpngs/crashers/huge_IDAT.png
|
||||
|
||||
# Regression tests for required warnings (or errors):
|
||||
check_stdout(){
|
||||
# $1: the test file (a bad PNG which must produce a warning, etc)
|
||||
# $2: a string which must occur at the end of line on stdout for success
|
||||
# result: an error message on descriptor 3 if the string is NOT found
|
||||
#
|
||||
# WARNING: when this script is executed on MSYS2 (Windows Cygwin variant)
|
||||
# pngtest outputs lines terminated with <cr><lf> however the MSYS2 shell
|
||||
# expects <lf> (\n) terminated lines so the <cr> ends up in the shell
|
||||
# variable 'line' below. The pattern matching ignores this because of the
|
||||
# '*' at the end of the pattern match.
|
||||
found=
|
||||
skipped=
|
||||
while read line
|
||||
do
|
||||
case "$line" in
|
||||
*"$2"*) found=1;;
|
||||
*"TEST SKIPPED"*) skipped=1;;
|
||||
esac
|
||||
echo "$line" # preserve the original output verbatim
|
||||
done
|
||||
# output the missing warning on descriptor 3:
|
||||
test -z "$found" -a -z "$skipped" && echo "$1: $2" >&3
|
||||
}
|
||||
# NOTE: traditionally the Bourne shell executed the last element in a pipe
|
||||
# sequence in the original shell so it could set variables in the original
|
||||
# shell however this is not reliable and doesn't work in bash.
|
||||
#
|
||||
# It *is* reliable to use the actual exit status of the last command in
|
||||
# the pipeline.
|
||||
exec 4>&1 # original stdout - the log file
|
||||
{
|
||||
exec 3>&1 # stdout is the pipe at this point
|
||||
fail=" FAIL(EXPECTED)" # runtime scope
|
||||
success=" SUCCESS(UNEXPECTED)" # there should be a write error
|
||||
for file in "${srcdir}"/contrib/testpngs/badpal/*.png
|
||||
do
|
||||
# The exit code is ignored here, the test is that the particular errors
|
||||
# (warnings) are produced. The original output still ends up in the log
|
||||
# file.
|
||||
{
|
||||
TEST "$file"
|
||||
test "$?" -eq 77 && echo "TEST SKIPPED"
|
||||
} |
|
||||
check_stdout "$file" 'IDAT: Read palette index exceeding num_palette' |
|
||||
check_stdout "$file" 'Wrote palette index exceeding num_palette' >&4
|
||||
done
|
||||
exec 3>&-
|
||||
} | {
|
||||
# This may not be a sub-shell, if it is 'st' is undefined and the exit
|
||||
# just ends up as 'exit'.
|
||||
while read error
|
||||
do
|
||||
echo "MISSING REPORT: $error"
|
||||
st=1
|
||||
done
|
||||
exit $st
|
||||
} || st=$?
|
||||
|
||||
test "$st" -gt 0 && exit "$st"
|
||||
test -n "$skipped" && exit 77
|
||||
exit 0
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
#!/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
|
||||
Loading…
Add table
Add a link
Reference in a new issue