[Mesa-dev] [PATCH mesa v2] glx: add GLXdispatchIndex sort check

Eric Engestrom eric.engestrom at imgtec.com
Wed Feb 22 11:24:18 UTC 2017


Signed-off-by: Eric Engestrom <eric.engestrom at imgtec.com>
---
v2: make sure the list is in the order C's strcmp uses (Ilia)
    Ilia: I used LC_ALL instead of LANG, as it takes precedence
          (ie. LANG=C in this script would be overridden by
          LC_ALL=en_US in the environment).
---
 src/glx/tests/Makefile.am          |  2 +-
 src/glx/tests/dispatch-index-check | 24 ++++++++++++++++++++++++
 2 files changed, 25 insertions(+), 1 deletion(-)
 create mode 100755 src/glx/tests/dispatch-index-check

diff --git a/src/glx/tests/Makefile.am b/src/glx/tests/Makefile.am
index bdc78c0d5a..8874c20b01 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 0000000000..78464b8305
--- /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"
-- 
Cheers,
  Eric



More information about the mesa-dev mailing list