From c6c4758cfcbfb2e04a63eb3dfeaa0ea85dfae325 Mon Sep 17 00:00:00 2001 From: David 'Digit' Turner Date: Mon, 27 Jul 2009 12:26:17 +0200 Subject: Add a "unit-tests" sample application to perform unit testing. --- sources/tests/Android.mk | 1 + sources/tests/test-CLEAR_VARS/Android.mk | 43 ++++++++++++++++++++++ sources/tests/test-LOCAL_CFLAGS/Android.mk | 13 +++++++ .../tests/test-LOCAL_CFLAGS/test-LOCAL_CFLAGS-1.c | 10 +++++ .../test-LOCAL_CFLAGS/test-LOCAL_CFLAGS-2.cpp | 10 +++++ sources/tests/test-LOCAL_CPPFLAGS/Android.mk | 17 +++++++++ .../test-LOCAL_CPPFLAGS/test-LOCAL_CPPFLAGS-1.c | 10 +++++ .../test-LOCAL_CPPFLAGS/test-LOCAL_CPPFLAGS-2.cpp | 10 +++++ 8 files changed, 114 insertions(+) create mode 100644 sources/tests/Android.mk create mode 100644 sources/tests/test-CLEAR_VARS/Android.mk create mode 100644 sources/tests/test-LOCAL_CFLAGS/Android.mk create mode 100644 sources/tests/test-LOCAL_CFLAGS/test-LOCAL_CFLAGS-1.c create mode 100644 sources/tests/test-LOCAL_CFLAGS/test-LOCAL_CFLAGS-2.cpp create mode 100644 sources/tests/test-LOCAL_CPPFLAGS/Android.mk create mode 100644 sources/tests/test-LOCAL_CPPFLAGS/test-LOCAL_CPPFLAGS-1.c create mode 100644 sources/tests/test-LOCAL_CPPFLAGS/test-LOCAL_CPPFLAGS-2.cpp (limited to 'sources') diff --git a/sources/tests/Android.mk b/sources/tests/Android.mk new file mode 100644 index 000000000..5053e7d64 --- /dev/null +++ b/sources/tests/Android.mk @@ -0,0 +1 @@ +include $(call all-subdir-makefiles) diff --git a/sources/tests/test-CLEAR_VARS/Android.mk b/sources/tests/test-CLEAR_VARS/Android.mk new file mode 100644 index 000000000..fde4e7bb0 --- /dev/null +++ b/sources/tests/test-CLEAR_VARS/Android.mk @@ -0,0 +1,43 @@ +# This test is used to check that include $(CLEAR_VARS) does +# indeed clear all variables we care for. + +LOCAL_PATH := $(call my-dir) + +# The list of LOCAL_XXX variables documented by docs/ANDROID-MK.TXT +# Note that LOCAL_PATH is not cleared +VARS_LOCAL := \ + MODULE \ + SRC_FILES \ + CPP_EXTENSION \ + C_INCLUDES \ + CFLAGS \ + CPPFLAGS \ + CXXFLAGS \ + STATIC_LIBRARIES \ + SHARED_LIBRARIES \ + LDLIBS \ + ALLOW_UNDEFINED_SYMBOLS \ + ARM_MODE \ + +include $(CLEAR_VARS) + +$(for _var,$(VARS_LOCAL),\ + $(eval LOCAL_$(_var) := 1)\ +) + +include $(CLEAR_VARS) + +STATUS := ok +$(foreach _var,$(VARS_LOCAL),\ + $(if $(LOCAL_$(_var)),\ + $(info variable LOCAL_$(_var) is not cleared by CLEAR_VARS)\ + $(eval STATUS := ko)\ + ,)\ +) + +ifeq ($(STATUS),ko) + $(error Aborting: CLEAR_VARS does not work !) +endif + +VARS_LOCAL := $(empty) +STATUS := $(empty) diff --git a/sources/tests/test-LOCAL_CFLAGS/Android.mk b/sources/tests/test-LOCAL_CFLAGS/Android.mk new file mode 100644 index 000000000..25348d133 --- /dev/null +++ b/sources/tests/test-LOCAL_CFLAGS/Android.mk @@ -0,0 +1,13 @@ +# Test that LOCAL_CFLAGS works for both C and C++ sources +# +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := test-LOCAL_CFLAGS +LOCAL_SRC_FILES := test-LOCAL_CFLAGS-1.c \ + test-LOCAL_CFLAGS-2.cpp \ + +LOCAL_CFLAGS := -DBANANA=100 + +include $(BUILD_SHARED_LIBRARY) diff --git a/sources/tests/test-LOCAL_CFLAGS/test-LOCAL_CFLAGS-1.c b/sources/tests/test-LOCAL_CFLAGS/test-LOCAL_CFLAGS-1.c new file mode 100644 index 000000000..c14a62c8b --- /dev/null +++ b/sources/tests/test-LOCAL_CFLAGS/test-LOCAL_CFLAGS-1.c @@ -0,0 +1,10 @@ +#if !defined(BANANA) +# error LOCAL_CFLAGS does not work for C source file +#endif +#if BANANA != 100 +# error LOCAL_CFLAGS does not work correctly for C source file +#endif + +void __banana_foo1(void) +{ +} diff --git a/sources/tests/test-LOCAL_CFLAGS/test-LOCAL_CFLAGS-2.cpp b/sources/tests/test-LOCAL_CFLAGS/test-LOCAL_CFLAGS-2.cpp new file mode 100644 index 000000000..4b769c0d5 --- /dev/null +++ b/sources/tests/test-LOCAL_CFLAGS/test-LOCAL_CFLAGS-2.cpp @@ -0,0 +1,10 @@ +#if !defined(BANANA) +# error LOCAL_CFLAGS does not work for C++ source file +#endif +#if BANANA != 100 +# error LOCAL_CFLAGS does not work correctly for C++ source file +#endif + +void __banana_foo2(void) +{ +} diff --git a/sources/tests/test-LOCAL_CPPFLAGS/Android.mk b/sources/tests/test-LOCAL_CPPFLAGS/Android.mk new file mode 100644 index 000000000..45c9b6d6c --- /dev/null +++ b/sources/tests/test-LOCAL_CPPFLAGS/Android.mk @@ -0,0 +1,17 @@ +# Test that LOCAL_CPPFLAGS only works for C++ sources +# +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := test-LOCAL_CPPFLAGS +LOCAL_SRC_FILES := test-LOCAL_CPPFLAGS-1.c \ + test-LOCAL_CPPFLAGS-2.cpp \ + +LOCAL_CFLAGS := -DBANANA=200 + +# Note, the -UBANANA is only there to prevent a warning +# the test works well without it. +LOCAL_CPPFLAGS := -UBANANA -DBANANA=300 + +include $(BUILD_SHARED_LIBRARY) diff --git a/sources/tests/test-LOCAL_CPPFLAGS/test-LOCAL_CPPFLAGS-1.c b/sources/tests/test-LOCAL_CPPFLAGS/test-LOCAL_CPPFLAGS-1.c new file mode 100644 index 000000000..c5f2a6e38 --- /dev/null +++ b/sources/tests/test-LOCAL_CPPFLAGS/test-LOCAL_CPPFLAGS-1.c @@ -0,0 +1,10 @@ +#if !defined(BANANA) +# error LOCAL_CPPFLAGS does not work for C source file +#endif +#if BANANA != 200 +# error LOCAL_CPPFLAGS does not work correctly for C source file +#endif + +void __banana_foo1(void) +{ +} diff --git a/sources/tests/test-LOCAL_CPPFLAGS/test-LOCAL_CPPFLAGS-2.cpp b/sources/tests/test-LOCAL_CPPFLAGS/test-LOCAL_CPPFLAGS-2.cpp new file mode 100644 index 000000000..e8853e850 --- /dev/null +++ b/sources/tests/test-LOCAL_CPPFLAGS/test-LOCAL_CPPFLAGS-2.cpp @@ -0,0 +1,10 @@ +#if !defined(BANANA) +# error LOCAL_CPPFLAGS does not work for C++ source file +#endif +#if BANANA != 300 +# error LOCAL_CPPFLAGS does not work correctly for C++ source file +#endif + +void __banana_foo2(void) +{ +} -- cgit v1.2.3