Add ktx
This commit is contained in:
Executable
+220
@@ -0,0 +1,220 @@
|
||||
#! /bin/bash
|
||||
# -*- tab-width: 4; -*-
|
||||
# vi: set sw=2 ts=4 expandtab:
|
||||
|
||||
# Regression tests for ktx2check
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
#
|
||||
# Copyright 2010-2020 The Khronos Group, Inc.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# Depth of this script relative to the project root
|
||||
depth=..
|
||||
|
||||
# Change dir to the testimages folder, a child of the script location...
|
||||
cd $(dirname $0)/testimages
|
||||
# ...and adjust depth
|
||||
depth=$depth/..
|
||||
|
||||
# Make paths relative to the testimages directory.
|
||||
ktx_root=$depth
|
||||
ktx2check_vs2013=$ktx_root/build/msvs/win/vs2013/x64/Release/ktx2check.exe
|
||||
ktx2check_vs2015=$ktx_root/build/msvs/win/vs2015/x64/Release/ktx2check.exe
|
||||
ktx2check_cmake=$ktx_root/build/cmake/linux/Release/ktx2check
|
||||
ktx2check_cmake_d=$ktx_root/build/cmake/linux/Debug/ktx2check
|
||||
ktx2check_make=$ktx_root/build/make/linux/out/Release/ktx2check
|
||||
ktx2check_make_d=$ktx_root/build/make/linux/out/Debug/ktx2check
|
||||
|
||||
declare -i numtests=0
|
||||
declare -i passed=0
|
||||
declare -i failed=0
|
||||
|
||||
if [ -n "$1" -a -x "$1" ]; then
|
||||
ktx2check="$1"
|
||||
elif [ -x "$ktx2check_vs2013" ]; then
|
||||
ktx2check=$ktx2check_vs2013
|
||||
elif [ -x "$ktx2check_vs2015" ]; then
|
||||
ktx2check=$ktx2check_vs2015
|
||||
elif [ -x "$ktx2check_cmake" ]; then
|
||||
ktx2check=$ktx2check_cmake
|
||||
elif [ -x "$ktx2check_cmake_d" ]; then
|
||||
ktx2check=$ktx2check_cmake_d
|
||||
elif [ -x "$ktx2check_make" ]; then
|
||||
ktx2check=$ktx2check_make
|
||||
elif [ -x "$ktx2check_make_d" ]; then
|
||||
ktx2check=$ktx2check_make_d
|
||||
elif ! ktx2check=$(which ktx2check); then
|
||||
echo $0: None of $ktx2check_vs2013, $ktx2check_vs2015, $ktx2check_gmake,
|
||||
echo $ktx2check_make_d, $ktx2check_cmake or $ktx2check_cmake_d found.
|
||||
echo $0: Aborting test
|
||||
exit 1
|
||||
fi
|
||||
|
||||
numtests=$numtests+1
|
||||
if $ktx2check --help 2> /dev/null; then
|
||||
passed=$passed+1
|
||||
else
|
||||
echo "--help not recognized"
|
||||
failed=$failed+1
|
||||
fi
|
||||
|
||||
numtests=$numtests+1
|
||||
if $ktx2check --version 2> /dev/null; then
|
||||
passed=$passed+1
|
||||
else
|
||||
echo "--version not recognized"
|
||||
failed=$failed+1
|
||||
fi
|
||||
|
||||
numtests=$numtests+1
|
||||
$ktx2check --foobar 2> /dev/null
|
||||
status=$?
|
||||
if [ $status -eq 1 ]; then
|
||||
passed=$passed+1
|
||||
elif [ $status -gt 1 ]; then
|
||||
echo "wrong exit code for invalid option."
|
||||
failed=$failed+1
|
||||
else
|
||||
echo "invalid option --foobar accepted"
|
||||
failed=$failed+1
|
||||
fi
|
||||
|
||||
#function cmpktx () {
|
||||
# if diff $1 $2; then
|
||||
# passed=$passed+1
|
||||
# rm $1
|
||||
# return 0
|
||||
# else
|
||||
# failed=$failed+1
|
||||
# echo "Created ktx file differs from target $2. Bad file saved in $PWD/$1"
|
||||
# return 1
|
||||
# fi
|
||||
#}
|
||||
|
||||
#function mktmp() {
|
||||
# # Git Bash does not include mktemp.
|
||||
# if which mktemp > /dev/null; then
|
||||
# mktemp toktx.XXXX
|
||||
# else
|
||||
# toktx.$numtests
|
||||
# fi
|
||||
#}
|
||||
|
||||
# Generate ktx file and compare with reference
|
||||
# gencmpktx <reference> <toktx args> <toktx infile> ...
|
||||
#function gencmpktx() {
|
||||
# numtests=$numtests+1
|
||||
# local args
|
||||
# local reference=$1; shift
|
||||
# local tempfile=$(mktmp)
|
||||
# for i in $*; do
|
||||
# if [ ${i:0:2} == "--" ]; then
|
||||
# args="$args $i"
|
||||
# shift
|
||||
# fi
|
||||
# done
|
||||
# #echo $toktx $args $tempfile $*
|
||||
# if $toktx $args $tempfile $*; then
|
||||
# cmpktx $tempfile $reference
|
||||
# fi
|
||||
#}
|
||||
|
||||
#---------------- Tests start here -----------------------
|
||||
|
||||
numtests=$numtests+1
|
||||
if $ktx2check *.ktx2; then
|
||||
passed=$passed+1
|
||||
else
|
||||
echo "Valid file(s) failed validation."
|
||||
failed=$failed+1
|
||||
fi
|
||||
|
||||
numtests=$numtests+1
|
||||
$ktx2check --quiet *.ktx2
|
||||
status=$?
|
||||
if [ $status -eq 0 ]; then
|
||||
if [ -z $output ]; then
|
||||
passed=$passed+1
|
||||
else
|
||||
echo "Output written with --quiet."
|
||||
failed=$failed+1
|
||||
fi
|
||||
elif [ $status -eq 1 ]; then
|
||||
echo "--quiet not recognized."
|
||||
failed=$failed+1
|
||||
else
|
||||
echo "Valid file(s) failed validation."
|
||||
failed=$failed+1
|
||||
fi
|
||||
|
||||
numtests=$numtests+1
|
||||
if ktx2check < color_grid_uastc_zstd.ktx2; then
|
||||
passed=$passed+1
|
||||
else
|
||||
echo "Valid file read via stdin failed validation."
|
||||
failed=$failed+1
|
||||
fi
|
||||
|
||||
numtests=$numtests+1
|
||||
if cat color_grid_uastc_zstd.ktx2 | ktx2check; then
|
||||
passed=$passed+1
|
||||
else
|
||||
echo "Valid file read via stdin failed validation."
|
||||
failed=$failed+1
|
||||
fi
|
||||
|
||||
numtests=$numtests+1
|
||||
cd ../badktx2
|
||||
if $ktx2check invalid_face_count.ktx2 > /dev/null; then
|
||||
echo "Invalid face count not spotted."
|
||||
failed=$failed+1
|
||||
else
|
||||
passed=$passed+1
|
||||
fi
|
||||
|
||||
numtests=$numtests+1
|
||||
output=$($ktx2check --quiet invalid_face_count.ktx2)
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Invalid face count not spotted."
|
||||
failed=$failed+1
|
||||
else
|
||||
if [ -z $output ]; then
|
||||
passed=$passed+1
|
||||
else
|
||||
echo "Output written with --quiet."
|
||||
failed=$failed+1
|
||||
fi
|
||||
fi
|
||||
|
||||
numtests=$numtests+1
|
||||
cd ../badktx2
|
||||
if $ktx2check incorrect_mip_layout_and_padding.ktx2 > /dev/null; then
|
||||
echo "Invalid mip layout not spotted."
|
||||
failed=$failed+1
|
||||
else
|
||||
passed=$passed+1
|
||||
fi
|
||||
|
||||
numtests=$numtests+1
|
||||
output=$($ktx2check --quiet incorrect_mip_layout_and_padding.ktx2)
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Invalid mip layout not spotted."
|
||||
failed=$failed+1
|
||||
else
|
||||
if [ -z $output ]; then
|
||||
passed=$passed+1
|
||||
else
|
||||
echo "Output written with --quiet."
|
||||
failed=$failed+1
|
||||
fi
|
||||
fi
|
||||
echo "Tests run: $numtests; passed: $passed; failed: $failed"
|
||||
if [ $failed -gt 0 ]; then
|
||||
exit 1;
|
||||
else
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user