Files
love-android/jni/devil-1.7.8/test/format_test/format_checks.sh.in
T

63 lines
2.0 KiB
Bash

#!/bin/bash
VERBOSE="" # set VERBOSE="v" for verbose mode
# that @expression@ will be substituted by the 'confgure' script
EXTENSIONS="@SUPPORTED_FORMATS@"
# Here are the extensions that should support saving according to docs
#CAN_SAVE=" BMP DDS HDR ICO JPG PCX PNG PPM PSD RAW SGI TGA TIF XPM " RAW and XPM are problematic...
CAN_SAVE="BMP DDS EXR HDR ICO JP2 JPG PCX PNG PPM PSD SGI TGA TIF"
# List of formats that we don't test since they are problematic
PROBLEMATIC="RAW WBMP XPM"
echo "Running saving and loading consistency test..."
FAILED_FORMATS=""
PASSED_FORMATS=""
# if using Wine makes sense, use it...
if [ "x@BUILD_OS@" != "x@HOST_OS@" ]
then
if [ "x@PLATFORM@" = "xMINGW32" -o "x@PLATFORM@" = "xCYGWIN" ]
then
test $(which wine 2> /dev/null) && WINE="wine"
echo "Warning: Using wine to test executables (not 100% reliable)"
fi
fi
for EXTENSION in $EXTENSIONS
do
#echo expr match "' $CAN_SAVE '" '.*\s'$EXTENSION'\s.*'
if [ $(expr match "' $CAN_SAVE '" '.*\s'$EXTENSION'\s.*') -eq 0 -o $(expr match "' $PROBLEMATIC '" '.*\s'$EXTENSION'\s.*') -ne 0 ]
then # This extension is not considered as supported...
continue;
fi
test -n "$VERBOSE" && echo $WINE ./testil@EXEEXT@ -e $EXTENSION
# EXEEXT comes in when one compiles on platforms that append extensions to executables (testil.exe)
$WINE ./testil@EXEEXT@ -e$VERBOSE $EXTENSION
# We have to capture whether the test has failed or not
if [ ! $? -eq 0 ]
then # we have an error here...
FAILED_FORMATS="$FAILED_FORMATS $EXTENSION"
FAILED="$?"
else #no error...
PASSED_FORMATS="$PASSED_FORMATS $EXTENSION"
fi
done
#let's tell something to the user as well:
if [ "x$FAILED" = "x" ]
then #everything went fine
echo "All examined formats were OK:$PASSED_FORMATS"
else #something went wrong
echo "Errors were encountered during the test :-("
echo "Formats that were OK:$PASSED_FORMATS"
echo "Failed formats: $FAILED_FORMATS"
FAILED="1"
fi # end of something went wrong
echo "Problematic (untested) formats: $PROBLEMATIC"
echo
# And we have to tell the result to the shell, too...
exit $FAILED