From e3a4df80c840a6094bc66eba60bad2e1ff077a27 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 14 Aug 2018 14:52:54 -0700 Subject: [PATCH] Allow Soong to autogenerate test configs Move the configuration for autogenerating test configs into Soong, and add LOCAL_FULL_TEST_CONFIG so that Soong can specify the full path to a generated test config. Also add a java junit test config template. Bug: 70770641 Test: m checkbuild Test: atest CtsUiRenderingTestCases Test: atest junit-params-test Change-Id: I2e64bc33c949ab7b342be518f94a81a186fe9c07 --- core/base_rules.mk | 21 ++++++++++++++--- core/clear_vars.mk | 5 +++-- core/config.mk | 9 -------- core/java_host_test_config_template.xml | 23 +++++++++++++++++++ core/java_test_config_template.xml | 30 +++++++++++++++++++++++++ 5 files changed, 74 insertions(+), 14 deletions(-) create mode 100644 core/java_host_test_config_template.xml create mode 100644 core/java_test_config_template.xml diff --git a/core/base_rules.mk b/core/base_rules.mk index db0967094c..31e8bad45f 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -583,10 +583,12 @@ else $(eval n := $(or $(word 2,$(p)),$(notdir $(word 1, $(p))))) \ $(foreach dir, $(call compatibility_suite_dirs,$(suite)), \ $(s):$(dir)/$(n))))) - ifeq (,$(LOCAL_TEST_CONFIG)) - test_config := $(wildcard $(LOCAL_PATH)/AndroidTest.xml) - else + ifneq (,$(LOCAL_FULL_TEST_CONFIG)) + test_config := $(LOCAL_FULL_TEST_CONFIG) + else ifneq (,$(LOCAL_TEST_CONFIG)) test_config := $(LOCAL_PATH)/$(LOCAL_TEST_CONFIG) + else + test_config := $(wildcard $(LOCAL_PATH)/AndroidTest.xml) endif ifeq (,$(test_config)) ifneq (true,$(is_native)) @@ -639,6 +641,19 @@ else endif endif # $(my_prefix)$(LOCAL_MODULE_CLASS)_$(LOCAL_MODULE)_compat_files +# HACK: pretend a soong LOCAL_FULL_TEST_CONFIG is autogenerated by copying it to +# the location autogenerated test configs use and setting the flag in +# module-info.json +ifdef LOCAL_FULL_TEST_CONFIG + ifeq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK)) + my_test_config_file := $(dir $(LOCAL_BUILT_MODULE))$(LOCAL_MODULE).config + $(eval $(call copy-one-file,$(LOCAL_FULL_TEST_CONFIG),$(my_test_config_file))) + $(call add-dependency,$(LOCAL_BUILT_MODULE),$(my_test_config_file)) + ALL_MODULES.$(my_register_name).auto_test_config := true + my_test_config_file := + endif +endif + ifneq ($(my_test_data_file_pairs),) $(foreach pair, $(my_test_data_file_pairs), \ $(eval parts := $(subst :,$(space),$(pair))) \ diff --git a/core/clear_vars.mk b/core/clear_vars.mk index a4c47d5c38..0f0acbc538 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -94,10 +94,11 @@ LOCAL_EXTRACT_DPI_APK:= LOCAL_FDO_SUPPORT:= LOCAL_FINDBUGS_FLAGS:= LOCAL_FORCE_STATIC_EXECUTABLE:= -LOCAL_FULL_LIBS_MANIFEST_FILES:= -LOCAL_FULL_MANIFEST_FILE:= LOCAL_FULL_CLASSES_JACOCO_JAR:= LOCAL_FULL_CLASSES_PRE_JACOCO_JAR:= +LOCAL_FULL_LIBS_MANIFEST_FILES:= +LOCAL_FULL_MANIFEST_FILE:= +LOCAL_FULL_TEST_CONFIG:= LOCAL_FUZZ_ENGINE:= LOCAL_GCNO_FILES:= LOCAL_GENERATED_SOURCES:= diff --git a/core/config.mk b/core/config.mk index 9245ee96a9..d825ad4ae5 100644 --- a/core/config.mk +++ b/core/config.mk @@ -167,15 +167,6 @@ BUILD_HOST_DALVIK_STATIC_JAVA_LIBRARY := $(BUILD_SYSTEM)/host_dalvik_static_java BUILD_HOST_TEST_CONFIG := $(BUILD_SYSTEM)/host_test_config.mk BUILD_TARGET_TEST_CONFIG := $(BUILD_SYSTEM)/target_test_config.mk -INSTRUMENTATION_TEST_CONFIG_TEMPLATE := $(BUILD_SYSTEM)/instrumentation_test_config_template.xml -NATIVE_BENCHMARK_TEST_CONFIG_TEMPLATE := $(BUILD_SYSTEM)/native_benchmark_test_config_template.xml -NATIVE_TEST_CONFIG_TEMPLATE := $(BUILD_SYSTEM)/native_test_config_template.xml -EMPTY_TEST_CONFIG := $(BUILD_SYSTEM)/empty_test_config.xml -NATIVE_HOST_TEST_CONFIG_TEMPLATE := $(BUILD_SYSTEM)/native_host_test_config_template.xml - -# Tool to generate TradeFed test config file automatically. -AUTOGEN_TEST_CONFIG_SCRIPT := build/make/tools/auto_gen_test_config.py - # ############################################################### # Parse out any modifier targets. # ############################################################### diff --git a/core/java_host_test_config_template.xml b/core/java_host_test_config_template.xml new file mode 100644 index 0000000000..d808001840 --- /dev/null +++ b/core/java_host_test_config_template.xml @@ -0,0 +1,23 @@ + + + + + diff --git a/core/java_test_config_template.xml b/core/java_test_config_template.xml new file mode 100644 index 0000000000..4ee5b07218 --- /dev/null +++ b/core/java_test_config_template.xml @@ -0,0 +1,30 @@ + + + + +