Use LOCAL_CTS_GTEST_LIST_EXECUTABLE
Instead of assuming where a host native test will be installed, let the
module tell us. This does mean that the _list executable needs to be
defined first.
Change-Id: I5cd83da1c2c774decdb5ff3d5b6feeb1bf021d11
diff --git a/build/test_executable.mk b/build/test_executable.mk
index 979f59e..8b93a04 100644
--- a/build/test_executable.mk
+++ b/build/test_executable.mk
@@ -33,11 +33,15 @@
$(eval $(call copy-one-file, $(fp), $(installed)))\
$(eval cts_executable_bin += $(installed)))
+ifndef LOCAL_CTS_GTEST_LIST_EXECUTABLE
+LOCAL_CTS_GTEST_LIST_EXECUTABLE := $(HOST_OUT_EXECUTABLES)/$(LOCAL_MODULE)_list
+endif
+
cts_executable_xml := $(CTS_TESTCASES_OUT)/$(LOCAL_MODULE).xml
$(cts_executable_xml): PRIVATE_TEST_PACKAGE := $(LOCAL_CTS_TEST_PACKAGE)
$(cts_executable_xml): PRIVATE_EXECUTABLE := $(LOCAL_MODULE)
-$(cts_executable_xml): PRIVATE_LIST_EXECUTABLE := $(HOST_OUT_EXECUTABLES)/$(LOCAL_MODULE)_list
-$(cts_executable_xml): $(HOST_OUT_EXECUTABLES)/$(LOCAL_MODULE)_list
+$(cts_executable_xml): PRIVATE_LIST_EXECUTABLE := $(LOCAL_CTS_GTEST_LIST_EXECUTABLE)
+$(cts_executable_xml): $(LOCAL_CTS_GTEST_LIST_EXECUTABLE)
$(cts_executable_xml): $(cts_executable_bin)
$(cts_executable_xml): $(cts_module_test_config)
$(cts_executable_xml): $(addprefix $(LOCAL_PATH)/,$(LOCAL_SRC_FILES)) $(CTS_EXPECTATIONS) $(CTS_UNSUPPORTED_ABIS) $(CTS_NATIVE_TEST_SCANNER) $(CTS_XML_GENERATOR)
diff --git a/tests/tests/bionic/Android.mk b/tests/tests/bionic/Android.mk
index 8c5e1e0..114d94e 100644
--- a/tests/tests/bionic/Android.mk
+++ b/tests/tests/bionic/Android.mk
@@ -3,32 +3,6 @@
test_executable := bionic-unit-tests-cts
list_executable := $(test_executable)_list
-include $(CLEAR_VARS)
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_MODULE := $(test_executable)
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/nativetest
-LOCAL_MULTILIB := both
-LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32
-LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64
-
-LOCAL_SHARED_LIBRARIES += \
- libdl \
-
-LOCAL_WHOLE_STATIC_LIBRARIES += \
- libBionicTests \
- libBionicCtsGtestMain \
-
-LOCAL_STATIC_LIBRARIES += \
- libbase \
- libtinyxml2 \
- liblog \
- libgtest \
-
-LOCAL_CTS_TEST_PACKAGE := android.bionic
-include $(BUILD_CTS_EXECUTABLE)
-
ifeq ($(HOST_OS)-$(HOST_ARCH),$(filter $(HOST_OS)-$(HOST_ARCH),linux-x86 linux-x86_64))
include $(CLEAR_VARS)
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
@@ -56,3 +30,32 @@
include $(BUILD_HOST_NATIVE_TEST)
endif # ifeq ($(HOST_OS)-$(HOST_ARCH),$(filter $(HOST_OS)-$(HOST_ARCH),linux-x86 linux-x86_64))
+
+include $(CLEAR_VARS)
+LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
+
+LOCAL_MODULE := $(test_executable)
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/nativetest
+LOCAL_MULTILIB := both
+LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32
+LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64
+
+LOCAL_SHARED_LIBRARIES += \
+ libdl \
+
+LOCAL_WHOLE_STATIC_LIBRARIES += \
+ libBionicTests \
+ libBionicCtsGtestMain \
+
+LOCAL_STATIC_LIBRARIES += \
+ libbase \
+ libtinyxml2 \
+ liblog \
+ libgtest \
+
+# Use the 32 bit list executable since it will include some 32 bit only tests.
+LOCAL_CTS_GTEST_LIST_EXECUTABLE := $(ALL_MODULES.$(list_executable)$(HOST_2ND_ARCH_MODULE_SUFFIX).INSTALLED)
+
+LOCAL_CTS_TEST_PACKAGE := android.bionic
+include $(BUILD_CTS_EXECUTABLE)
diff --git a/tests/tests/nativemedia/sl/Android.mk b/tests/tests/nativemedia/sl/Android.mk
index 57f609d..4c43030 100644
--- a/tests/tests/nativemedia/sl/Android.mk
+++ b/tests/tests/nativemedia/sl/Android.mk
@@ -8,6 +8,23 @@
include $(CLEAR_VARS)
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
+LOCAL_MODULE := $(list_executable)
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SRC_FILES := \
+ src/SLObjectCreationTest.cpp
+
+LOCAL_CFLAGS := \
+ -DBUILD_ONLY \
+
+LOCAL_SHARED_LIBRARIES := \
+ liblog \
+
+include $(BUILD_HOST_NATIVE_TEST)
+
+include $(CLEAR_VARS)
+LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
+
LOCAL_MODULE := $(test_executable)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/nativetest
@@ -31,22 +48,7 @@
libOpenSLESUT \
libgtest
+LOCAL_CTS_GTEST_LIST_EXECUTABLE := $(ALL_MODULES.$(list_executable).INSTALLED)
+
LOCAL_CTS_TEST_PACKAGE := android.nativemedia.sl
include $(BUILD_CTS_EXECUTABLE)
-
-include $(CLEAR_VARS)
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_MODULE := $(list_executable)
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := \
- src/SLObjectCreationTest.cpp
-
-LOCAL_CFLAGS := \
- -DBUILD_ONLY \
-
-LOCAL_SHARED_LIBRARIES := \
- liblog \
-
-include $(BUILD_HOST_NATIVE_TEST)
diff --git a/tests/tests/nativemedia/xa/Android.mk b/tests/tests/nativemedia/xa/Android.mk
index 4badf3c..4bf8b81 100644
--- a/tests/tests/nativemedia/xa/Android.mk
+++ b/tests/tests/nativemedia/xa/Android.mk
@@ -8,6 +8,23 @@
include $(CLEAR_VARS)
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
+LOCAL_MODULE := $(list_executable)
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SRC_FILES := \
+ src/XAObjectCreationTest.cpp
+
+LOCAL_CFLAGS := \
+ -DBUILD_ONLY \
+
+LOCAL_SHARED_LIBRARIES := \
+ liblog \
+
+include $(BUILD_HOST_NATIVE_TEST)
+
+include $(CLEAR_VARS)
+LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
+
LOCAL_MODULE:= $(test_executable)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/nativetest
@@ -30,22 +47,7 @@
LOCAL_STATIC_LIBRARIES := \
libgtest \
+LOCAL_CTS_GTEST_LIST_EXECUTABLE := $(ALL_MODULES.$(list_executable).INSTALLED)
+
LOCAL_CTS_TEST_PACKAGE := android.nativemedia.xa
include $(BUILD_CTS_EXECUTABLE)
-
-include $(CLEAR_VARS)
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-LOCAL_MODULE := $(list_executable)
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := \
- src/XAObjectCreationTest.cpp
-
-LOCAL_CFLAGS := \
- -DBUILD_ONLY \
-
-LOCAL_SHARED_LIBRARIES := \
- liblog \
-
-include $(BUILD_HOST_NATIVE_TEST)
diff --git a/tests/tests/simpleperf/Android.mk b/tests/tests/simpleperf/Android.mk
index 0f04110..dac932d 100644
--- a/tests/tests/simpleperf/Android.mk
+++ b/tests/tests/simpleperf/Android.mk
@@ -8,6 +8,37 @@
include $(LLVM_ROOT_PATH)/llvm.mk
include $(CLEAR_VARS)
+LOCAL_MODULE := $(list_executable)
+LOCAL_MODULE_HOST_OS := linux
+LOCAL_MULTILIB := first
+LOCAL_LDLIBS = -lrt
+
+LOCAL_WHOLE_STATIC_LIBRARIES += \
+ libsimpleperf_cts_test \
+
+LOCAL_STATIC_LIBRARIES += \
+ libbacktrace_offline \
+ libbacktrace \
+ libunwind \
+ libziparchive-host \
+ libz \
+ liblzma \
+ libbase \
+ liblog \
+ libcutils \
+ libutils \
+ libLLVMObject \
+ libLLVMBitReader \
+ libLLVMMC \
+ libLLVMMCParser \
+ libLLVMCore \
+ libLLVMSupport \
+
+include $(LLVM_HOST_BUILD_MK)
+include $(BUILD_HOST_NATIVE_TEST)
+
+
+include $(CLEAR_VARS)
LOCAL_MODULE := $(test_executable)
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/nativetest
LOCAL_MULTILIB := both
@@ -43,38 +74,9 @@
$($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJCOPY) --add-section .testzipdata=$$TMP_FILE $(linked_module) && \
rm -f $$TMP_FILE
+LOCAL_CTS_GTEST_LIST_EXECUTABLE := $(ALL_MODULES.$(list_executable).INSTALLED)
+
LOCAL_CTS_TEST_PACKAGE := android.simpleperf
LOCAL_FORCE_STATIC_EXECUTABLE := true
include $(LLVM_DEVICE_BUILD_MK)
include $(BUILD_CTS_EXECUTABLE)
-
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := $(list_executable)
-LOCAL_MODULE_HOST_OS := linux
-LOCAL_MULTILIB := first
-LOCAL_LDLIBS = -lrt
-
-LOCAL_WHOLE_STATIC_LIBRARIES += \
- libsimpleperf_cts_test \
-
-LOCAL_STATIC_LIBRARIES += \
- libbacktrace_offline \
- libbacktrace \
- libunwind \
- libziparchive-host \
- libz \
- liblzma \
- libbase \
- liblog \
- libcutils \
- libutils \
- libLLVMObject \
- libLLVMBitReader \
- libLLVMMC \
- libLLVMMCParser \
- libLLVMCore \
- libLLVMSupport \
-
-include $(LLVM_HOST_BUILD_MK)
-include $(BUILD_HOST_NATIVE_TEST)