gbm: automake: add symbol tests
authorEmil Velikov <emil.l.velikov@gmail.com>
Fri, 7 Feb 2014 16:08:04 +0000 (16:08 +0000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 11 Feb 2014 19:00:09 +0000 (19:00 +0000)
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
src/gallium/targets/gbm/Makefile.am
src/gallium/targets/gbm/gallium-gbm-symbols-check [new file with mode: 0755]
src/gbm/Makefile.am
src/gbm/gbm-symbols-check [new file with mode: 0755]

index 7c6733b3453800b445b7892bc1c09f84f2a7ec81..f44aee88962139111fbc1dfaac833be290f75cb3 100644 (file)
@@ -65,3 +65,5 @@ gbm_gallium_drm_la_LINK = $(CXXLINK) $(gbm_gallium_drm_la_LDFLAGS)
 # Mention a dummy pure C file to trigger generation of the $(LINK) variable
 nodist_EXTRA_gbm_gallium_drm_la_SOURCES = dummy-c.c
 endif
+
+TESTS = gallium-gbm-symbols-check
diff --git a/src/gallium/targets/gbm/gallium-gbm-symbols-check b/src/gallium/targets/gbm/gallium-gbm-symbols-check
new file mode 100755 (executable)
index 0000000..52b20ab
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+FUNCS=$(nm -D --defined-only ${1-.libs/gbm_gallium_drm.so} | egrep -o "T .*|D .*" | cut -c 3- | while read func; do
+( grep -q "^$func$" || echo $func )  <<EOF
+gbm_backend
+_edata
+_fini
+_init
+EOF
+done)
+
+test ! -n "$FUNCS" || echo $FUNCS
+test ! -n "$FUNCS"
index 261429881fabf2ea407ec2bf2e5129277c14d9e9..fc4b534ead85ed63383b966987798a96d7845ba4 100644 (file)
@@ -46,4 +46,6 @@ libgbm_la_LIBADD += \
        libgbm_dri.la $(top_builddir)/src/mapi/shared-glapi/libglapi.la $(LIBDRM_LIBS)
 endif
 
+TESTS = gbm-symbols-check
+
 include $(top_srcdir)/install-lib-links.mk
diff --git a/src/gbm/gbm-symbols-check b/src/gbm/gbm-symbols-check
new file mode 100755 (executable)
index 0000000..184cb22
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+FUNCS=$(nm -D --defined-only ${1-.libs/libgbm.so} | grep -o "T .*" | cut -c 3- | while read func; do
+( grep -q "^$func$" || echo $func )  <<EOF
+gbm_device_get_fd
+gbm_device_get_backend_name
+gbm_device_is_format_supported
+gbm_device_destroy
+gbm_create_device
+gbm_bo_create
+gbm_bo_import
+gbm_bo_get_width
+gbm_bo_get_height
+gbm_bo_get_stride
+gbm_bo_get_format
+gbm_bo_get_device
+gbm_bo_get_handle
+gbm_bo_write
+gbm_bo_set_user_data
+gbm_bo_get_user_data
+gbm_bo_destroy
+gbm_surface_create
+gbm_surface_lock_front_buffer
+gbm_surface_release_buffer
+gbm_surface_has_free_buffers
+gbm_surface_destroy
+_fini
+_init
+EOF
+done)
+
+test ! -n "$FUNCS" || echo $FUNCS
+test ! -n "$FUNCS"