diff mbox

[i-g-t] lib: Enable building unit tests on android

Message ID 1432649957-6722-1-git-send-email-derek.j.morton@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Derek Morton May 26, 2015, 2:19 p.m. UTC
Add a make file for android so the unit tests can be built.
Enabled asserts for the library code so the unit test behaviour
is correct.

Signed-off-by: Derek Morton <derek.j.morton@intel.com>
---
 lib/Android.mk       |  4 +++-
 lib/tests/Android.mk | 41 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 44 insertions(+), 1 deletion(-)
 create mode 100644 lib/tests/Android.mk
diff mbox

Patch

diff --git a/lib/Android.mk b/lib/Android.mk
index 1a7cf33..badec1e 100644
--- a/lib/Android.mk
+++ b/lib/Android.mk
@@ -25,7 +25,7 @@  LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
 LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES
 LOCAL_CFLAGS += -DHAVE_STRUCT_SYSINFO_TOTALRAM
 LOCAL_CFLAGS += -DANDROID -DHAVE_LINUX_KD_H
-LOCAL_CFLAGS += -std=gnu99
+LOCAL_CFLAGS += -std=gnu99 -UNDEBUG
 LOCAL_MODULE:= libintel_gpu_tools
 
 LOCAL_SHARED_LIBRARIES := libpciaccess  \
@@ -48,3 +48,5 @@  LOCAL_SRC_FILES := $(filter-out $(skip_lib_list),$(libintel_tools_la_SOURCES))
 
 include $(BUILD_STATIC_LIBRARY)
 
+include $(call first-makefiles-under, $(LOCAL_PATH))
+
diff --git a/lib/tests/Android.mk b/lib/tests/Android.mk
new file mode 100644
index 0000000..7ad0300
--- /dev/null
+++ b/lib/tests/Android.mk
@@ -0,0 +1,41 @@ 
+LOCAL_PATH := $(call my-dir)
+
+include $(LOCAL_PATH)/Makefile.sources
+
+#================#
+# each igt test is a separate executable. define a function to build one of these tests
+define add_test
+    include $(CLEAR_VARS)
+
+    # specific to this test
+    LOCAL_SRC_FILES := $1.c
+    LOCAL_MODULE := $1
+
+    # common to all tests
+    LOCAL_CFLAGS += ${IGT_LOCAL_CFLAGS}
+    LOCAL_C_INCLUDES = ${IGT_LOCAL_C_INCLUDES}
+    LOCAL_STATIC_LIBRARIES := ${IGT_LOCAL_STATIC_LIBRARIES}
+    LOCAL_SHARED_LIBRARIES := ${IGT_LOCAL_SHARED_LIBRARIES}
+
+    LOCAL_MODULE_TAGS := optional
+    LOCAL_MODULE_PATH := $(ANDROID_PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/intel/validation/core/igt
+
+    include $(BUILD_EXECUTABLE)
+endef
+
+# set local compilation flags for IGT tests
+IGT_LOCAL_CFLAGS += -DHAVE_STRUCT_SYSINFO_TOTALRAM -DANDROID -UNDEBUG
+IGT_LOCAL_CFLAGS += -std=gnu99
+# FIXME: drop once Bionic correctly annotates "noreturn" on pthread_exit
+IGT_LOCAL_CFLAGS += -Wno-error=return-type
+
+# set local includes
+IGT_LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib
+IGT_LOCAL_C_INCLUDES += ${ANDROID_BUILD_TOP}/external/PRIVATE/drm/include/drm
+
+# set local libraries
+IGT_LOCAL_STATIC_LIBRARIES := libintel_gpu_tools
+IGT_LOCAL_SHARED_LIBRARIES := libpciaccess libdrm libdrm_intel
+
+$(foreach item,$(check_PROGRAMS),$(eval $(call add_test,$(item))))
+