diff options
author | Brian Muramatsu <btmura@google.com> | 2011-12-12 23:54:49 -0800 |
---|---|---|
committer | Brian Muramatsu <btmura@google.com> | 2011-12-13 14:14:36 -0800 |
commit | 237fa073392127a7ba1cfff1b2010191a5343e1f (patch) | |
tree | 2d6cc140ce9b6487b608d10a7b95d4e78643f923 /core/tasks | |
parent | 917895384fb7c9fb9ca858fdf792ec165e151de9 (diff) | |
download | build-237fa073392127a7ba1cfff1b2010191a5343e1f.zip build-237fa073392127a7ba1cfff1b2010191a5343e1f.tar.gz build-237fa073392127a7ba1cfff1b2010191a5343e1f.tar.bz2 |
Build Support for CTS Native Tests
Bug 4970300
Adds two new variables, CTS_TEST_CASES and CTS_TEST_XMLS, to be read
from CtsTestCaseList.mk. The CTS_TEST_CASES variable can be used to
copy any sort of file to the repository/testcases CTS directory.
The CTS_TEST_XMLS variable can be used to inject test package xmls
from any source rather than relying upon the monolithic and
mostly serial buildCts.py script.
The existing CTS_CORE_CASE_LIST is coded to only support APKs, so
it could not be retrofitted to support native tests. However, the
two new variables can do even more than CTS_CORE_CASE_LIST due to
their generality. In the future, the idea is move away from
CTS_CORE_CASE_LIST and also generate XMLs using separate tools
rather than just buildCts.py.
Change-Id: Ib52722861c37e0f4d511f9041928395bcaba5dea
Diffstat (limited to 'core/tasks')
-rw-r--r-- | core/tasks/cts.mk | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/core/tasks/cts.mk b/core/tasks/cts.mk index fcdd987..45dcd0f 100644 --- a/core/tasks/cts.mk +++ b/core/tasks/cts.mk @@ -42,7 +42,7 @@ DEFAULT_TEST_PLAN := $(cts_dir)/$(cts_name)/resource/plans $(cts_dir)/all_cts_files_stamp: PRIVATE_JUNIT_HOST_JAR := $(junit_host_jar) -include cts/CtsHostLibraryList.mk -$(cts_dir)/all_cts_files_stamp: $(CTS_CASE_LIST) $(junit_host_jar) $(HOSTTESTLIB_JAR) $(CTS_HOST_LIBRARY_JARS) $(TF_JAR) $(CTS_TF_JAR) $(CTS_TF_EXEC_PATH) $(CTS_TF_README_PATH) $(ACP) +$(cts_dir)/all_cts_files_stamp: $(CTS_CASE_LIST) $(CTS_TEST_CASES) $(junit_host_jar) $(HOSTTESTLIB_JAR) $(CTS_HOST_LIBRARY_JARS) $(TF_JAR) $(CTS_TF_JAR) $(CTS_TF_EXEC_PATH) $(CTS_TF_README_PATH) $(ACP) # Make necessary directory for CTS $(hide) rm -rf $(PRIVATE_CTS_DIR) $(hide) mkdir -p $(TMP_DIR) @@ -53,8 +53,8 @@ $(cts_dir)/all_cts_files_stamp: $(CTS_CASE_LIST) $(junit_host_jar) $(HOSTTESTLIB # Copy executable and JARs to CTS directory $(hide) $(ACP) -fp $(DDMLIB_JAR) $(PRIVATE_JUNIT_HOST_JAR) $(HOSTTESTLIB_JAR) $(CTS_HOST_LIBRARY_JARS) $(TF_JAR) $(CTS_TF_JAR) $(CTS_TF_EXEC_PATH) $(CTS_TF_README_PATH) $(PRIVATE_DIR)/tools # Change mode of the executables - $(foreach apk,$(CTS_CASE_LIST), \ - $(call copy-testcase-apk,$(apk))) + $(foreach apk,$(CTS_CASE_LIST),$(call copy-testcase-apk,$(apk))) + $(foreach testcase,$(CTS_TEST_CASES),$(call copy-testcase,$(testcase))) $(hide) touch $@ # Generate the test descriptions for the core-tests @@ -165,9 +165,12 @@ APP_SECURITY_LIB := $(cts_dir)/$(cts_name)/repository/testcases/CtsAppSecurityTe $(APP_SECURITY_LIB): $(HOST_OUT_JAVA_LIBRARIES)/CtsAppSecurityTests.jar $(cts_dir)/all_cts_files_stamp $(ACP) $(ACP) -fv $(HOST_OUT_JAVA_LIBRARIES)/CtsAppSecurityTests.jar $(APP_SECURITY_LIB) + # Generate the default test plan for User. # Usage: buildCts.py <testRoot> <ctsOutputDir> <tempDir> <androidRootDir> <docletPath> -$(DEFAULT_TEST_PLAN): $(cts_dir)/all_cts_files_stamp $(cts_dir)/all_cts_core_files_stamp $(cts_tools_src_dir)/utils/buildCts.py $(CORE_VM_TEST_TF_DESC) $(CORE_VM_TEST_DESC) $(APP_SECURITY_LIB) $(HOST_OUT_JAVA_LIBRARIES)/descGen.jar + +$(DEFAULT_TEST_PLAN): $(cts_dir)/all_cts_files_stamp $(cts_dir)/all_cts_core_files_stamp $(cts_tools_src_dir)/utils/buildCts.py $(CORE_VM_TEST_TF_DESC) $(CORE_VM_TEST_DESC) $(APP_SECURITY_LIB) $(HOST_OUT_JAVA_LIBRARIES)/descGen.jar $(CTS_TEST_XMLS) | $(ACP) + $(hide) $(ACP) -fp $(CTS_TEST_XMLS) $(PRIVATE_DIR)/repository/testcases $(hide) $(cts_tools_src_dir)/utils/buildCts.py cts/tests/tests/ $(PRIVATE_DIR) $(TMP_DIR) \ $(TOP) $(HOST_OUT_JAVA_LIBRARIES)/descGen.jar @@ -194,3 +197,9 @@ $(hide) $(ACP) -fp $(call intermediates-dir-for,APPS,$(1))/package.apk \ $(PRIVATE_DIR)/repository/testcases/$(1).apk endef + +define copy-testcase + +$(hide) $(ACP) -fp $(1) $(PRIVATE_DIR)/repository/testcases/$(notdir $1) + +endef |