mesa/src/glx/tests/dispatch-index-check
Eric Engestrom 5b5ffb795f check: add support for running test as standalone
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
2017-02-26 13:39:45 +00:00

30 lines
809 B
Bash
Executable file

#!/usr/bin/env bash
set -e
if [ -z "$srcdir" ]
then
srcdir=$(dirname "$0")
fi
# extract enum definition
dispatch_list=$(sed '/__GLXdispatchIndex/,/__GLXdispatchIndex/!d' \
"$srcdir"/../g_glxglvnddispatchindices.h)
# extract values inside of enum
dispatch_list=$(sed '1d;$d' <<< "$dispatch_list")
# remove indentation
dispatch_list=$(sed 's/^\s\+//' <<< "$dispatch_list")
# extract function names
dispatch_list=$(sed 's/DI_//;s/,//' <<< "$dispatch_list")
# same for commented functions, we want to keep them sorted too
dispatch_list=$(sed 's#// ##;s/ implemented by [a-z]\+//' <<< "$dispatch_list")
# remove LAST_INDEX, as it will not be in alphabetical order
dispatch_list=$(sed '/LAST_INDEX/d' <<< "$dispatch_list")
sorted=$(LC_ALL=C sort <<< "$dispatch_list")
test "$dispatch_list" = "$sorted"