Module: Mesa
Branch: master
Commit: 3cc33e7640114de3ea3f0618385fdd0ddffef13f
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3cc33e7640114de3ea3f0618385fdd0ddffef13f

Author: Eric Engestrom <eric.engest...@imgtec.com>
Date:   Tue Feb 21 16:49:25 2017 +0000

glx: add GLXdispatchIndex sort check

Signed-off-by: Eric Engestrom <eric.engest...@imgtec.com>
Reviewed-by: Emil Velikov <emil.veli...@collabora.com>

---

 src/glx/tests/Makefile.am          |  2 +-
 src/glx/tests/dispatch-index-check | 24 ++++++++++++++++++++++++
 2 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/src/glx/tests/Makefile.am b/src/glx/tests/Makefile.am
index bdc78c0..8874c20 100644
--- a/src/glx/tests/Makefile.am
+++ b/src/glx/tests/Makefile.am
@@ -12,7 +12,7 @@ AM_CPPFLAGS = \
        $(LIBDRM_CFLAGS) \
        $(X11_INCLUDES)
 
-TESTS = glx-test
+TESTS = glx-test dispatch-index-check
 check_PROGRAMS = glx-test
 
 glx_test_SOURCES =                     \
diff --git a/src/glx/tests/dispatch-index-check 
b/src/glx/tests/dispatch-index-check
new file mode 100755
index 0000000..78464b8
--- /dev/null
+++ b/src/glx/tests/dispatch-index-check
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+# 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"

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to