From 50d1c22efb31bdadf52d026eac3cefb74e807190 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Fri, 17 Aug 2018 22:52:19 -0700 Subject: [PATCH 1/3] Rename general-tests-* variables to general_tests_* Make supports dashes in variable names, but underscores are more common. Also use a private variable for general_tests_list_zip, and clear local variables at the end of the file. Test: m checkbuild Change-Id: I8fd968d9e674dbc630bdb71ddd375448b6ada5ed --- core/tasks/general-tests.mk | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/core/tasks/general-tests.mk b/core/tasks/general-tests.mk index c7f1dc9977..5ccff548be 100644 --- a/core/tasks/general-tests.mk +++ b/core/tasks/general-tests.mk @@ -14,13 +14,13 @@ .PHONY: general-tests -general-tests-zip := $(PRODUCT_OUT)/general-tests.zip +general_tests_zip := $(PRODUCT_OUT)/general-tests.zip # Create an artifact to include a list of test config files in general-tests. -general-tests-list-zip := $(PRODUCT_OUT)/general-tests_list.zip -$(general-tests-zip) : .KATI_IMPLICIT_OUTPUTS := $(general-tests-list-zip) -$(general-tests-zip) : PRIVATE_general_tests_list := $(PRODUCT_OUT)/general-tests_list - -$(general-tests-zip) : $(COMPATIBILITY.general-tests.FILES) $(SOONG_ZIP) +general_tests_list_zip := $(PRODUCT_OUT)/general-tests_list.zip +$(general_tests_zip) : PRIVATE_general_tests_list_zip := $(general_tests_list_zip) +$(general_tests_zip) : .KATI_IMPLICIT_OUTPUTS := $(general_tests_list_zip) +$(general_tests_zip) : PRIVATE_general_tests_list := $(PRODUCT_OUT)/general-tests_list +$(general_tests_zip) : $(COMPATIBILITY.general-tests.FILES) $(SOONG_ZIP) echo $(sort $(COMPATIBILITY.general-tests.FILES)) | tr " " "\n" > $@.list grep $(HOST_OUT_TESTCASES) $@.list > $@-host.list || true grep $(TARGET_OUT_TESTCASES) $@.list > $@-target.list || true @@ -28,8 +28,11 @@ $(general-tests-zip) : $(COMPATIBILITY.general-tests.FILES) $(SOONG_ZIP) rm -f $(PRIVATE_general_tests_list) $(hide) grep -e .*.config$$ $@-host.list | sed s%$(HOST_OUT)%host%g > $(PRIVATE_general_tests_list) $(hide) grep -e .*.config$$ $@-target.list | sed s%$(PRODUCT_OUT)%target%g >> $(PRIVATE_general_tests_list) - $(hide) $(SOONG_ZIP) -d -o $(general-tests-list-zip) -C $(dir $@) -f $(PRIVATE_general_tests_list) + $(hide) $(SOONG_ZIP) -d -o $(PRIVATE_general_tests_list_zip) -C $(dir $@) -f $(PRIVATE_general_tests_list) rm -f $@.list $@-host.list $@-target.list $(PRIVATE_general_tests_list) -general-tests: $(general-tests-zip) -$(call dist-for-goals, general-tests, $(general-tests-zip) $(general-tests-list-zip)) +general-tests: $(general_tests_zip) +$(call dist-for-goals, general-tests, $(general_tests_zip) $(general_tests_list_zip)) + +general_tests_zip := +general_tests_list_zip := From 38f16dcf4efd47bf96c3ba9ce08a6c605f0494b6 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Fri, 17 Aug 2018 22:56:24 -0700 Subject: [PATCH 2/3] Move general-tests intermediates out of $(PRODUCT_OUT) Move intermediate files used to generate general-tests.zip out of $(PRODUCT_OUT) to better isolate the rule. Test: m checkbuild Change-Id: I5f3d204cc4e36b6c6670aabe0e63bce8597afd4b --- core/tasks/general-tests.mk | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/core/tasks/general-tests.mk b/core/tasks/general-tests.mk index 5ccff548be..bb2a885e2c 100644 --- a/core/tasks/general-tests.mk +++ b/core/tasks/general-tests.mk @@ -14,25 +14,29 @@ .PHONY: general-tests +intermediates_dir := $(call intermediates-dir-for,PACKAGING,general-tests) general_tests_zip := $(PRODUCT_OUT)/general-tests.zip # Create an artifact to include a list of test config files in general-tests. general_tests_list_zip := $(PRODUCT_OUT)/general-tests_list.zip $(general_tests_zip) : PRIVATE_general_tests_list_zip := $(general_tests_list_zip) $(general_tests_zip) : .KATI_IMPLICIT_OUTPUTS := $(general_tests_list_zip) -$(general_tests_zip) : PRIVATE_general_tests_list := $(PRODUCT_OUT)/general-tests_list +$(general_tests_zip) : PRIVATE_INTERMEDIATES_DIR := $(intermediates_dir) $(general_tests_zip) : $(COMPATIBILITY.general-tests.FILES) $(SOONG_ZIP) - echo $(sort $(COMPATIBILITY.general-tests.FILES)) | tr " " "\n" > $@.list - grep $(HOST_OUT_TESTCASES) $@.list > $@-host.list || true - grep $(TARGET_OUT_TESTCASES) $@.list > $@-target.list || true - $(hide) $(SOONG_ZIP) -d -o $@ -P host -C $(HOST_OUT) -l $@-host.list -P target -C $(PRODUCT_OUT) -l $@-target.list - rm -f $(PRIVATE_general_tests_list) - $(hide) grep -e .*.config$$ $@-host.list | sed s%$(HOST_OUT)%host%g > $(PRIVATE_general_tests_list) - $(hide) grep -e .*.config$$ $@-target.list | sed s%$(PRODUCT_OUT)%target%g >> $(PRIVATE_general_tests_list) - $(hide) $(SOONG_ZIP) -d -o $(PRIVATE_general_tests_list_zip) -C $(dir $@) -f $(PRIVATE_general_tests_list) - rm -f $@.list $@-host.list $@-target.list $(PRIVATE_general_tests_list) + rm -rf $(PRIVATE_INTERMEDIATES_DIR) + mkdir -p $(PRIVATE_INTERMEDIATES_DIR) + echo $(sort $(COMPATIBILITY.general-tests.FILES)) | tr " " "\n" > $(PRIVATE_INTERMEDIATES_DIR)/list + grep $(HOST_OUT_TESTCASES) $(PRIVATE_INTERMEDIATES_DIR)/list > $(PRIVATE_INTERMEDIATES_DIR)/host.list || true + grep $(TARGET_OUT_TESTCASES) $(PRIVATE_INTERMEDIATES_DIR)/list > $(PRIVATE_INTERMEDIATES_DIR)/target.list || true + $(SOONG_ZIP) -d -o $@ \ + -P host -C $(HOST_OUT) -l $(PRIVATE_INTERMEDIATES_DIR)/host.list \ + -P target -C $(PRODUCT_OUT) -l $(PRIVATE_INTERMEDIATES_DIR)/target.list + grep -e .*.config$$ $(PRIVATE_INTERMEDIATES_DIR)/host.list | sed s%$(HOST_OUT)%host%g > $(PRIVATE_INTERMEDIATES_DIR)/general-tests_list + grep -e .*.config$$ $(PRIVATE_INTERMEDIATES_DIR)/target.list | sed s%$(PRODUCT_OUT)%target%g >> $(PRIVATE_INTERMEDIATES_DIR)/general-tests_list + $(SOONG_ZIP) -d -o $(general_tests_list_zip) -C $(PRIVATE_INTERMEDIATES_DIR) -f $(PRIVATE_INTERMEDIATES_DIR)/general-tests_list general-tests: $(general_tests_zip) $(call dist-for-goals, general-tests, $(general_tests_zip) $(general_tests_list_zip)) +intermediates_dir := general_tests_zip := general_tests_list_zip := From b0d376f66b39dacc32ade0163c7d9479624facba Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Fri, 17 Aug 2018 22:40:08 -0700 Subject: [PATCH 3/3] Add tools jars to general-tests.zip Some non-tests were marked with LOCAL_COMPATIBILITY_SUITE := general-tests in order to get them into general-tests.zip. Soong is attempting to only allow the test_suites property on tests. Specify the tools needed in the test suite in general-tests.mk instead, the same way cts.mk does. Bug: 112654980 Test: m checkbuild Test: tradefed/general_tests_zip Change-Id: Ied7a6b2f956b84659c3edcf4dd866a8cd936bedf --- core/tasks/general-tests.mk | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/core/tasks/general-tests.mk b/core/tasks/general-tests.mk index bb2a885e2c..b28f8ef714 100644 --- a/core/tasks/general-tests.mk +++ b/core/tasks/general-tests.mk @@ -14,20 +14,27 @@ .PHONY: general-tests +general_tests_tools := \ + $(HOST_OUT_JAVA_LIBRARIES)/cts-tradefed.jar \ + $(HOST_OUT_JAVA_LIBRARIES)/compatibility-host-util.jar \ + intermediates_dir := $(call intermediates-dir-for,PACKAGING,general-tests) general_tests_zip := $(PRODUCT_OUT)/general-tests.zip # Create an artifact to include a list of test config files in general-tests. general_tests_list_zip := $(PRODUCT_OUT)/general-tests_list.zip $(general_tests_zip) : PRIVATE_general_tests_list_zip := $(general_tests_list_zip) $(general_tests_zip) : .KATI_IMPLICIT_OUTPUTS := $(general_tests_list_zip) +$(general_tests_zip) : PRIVATE_TOOLS := $(general_tests_tools) $(general_tests_zip) : PRIVATE_INTERMEDIATES_DIR := $(intermediates_dir) -$(general_tests_zip) : $(COMPATIBILITY.general-tests.FILES) $(SOONG_ZIP) +$(general_tests_zip) : $(COMPATIBILITY.general-tests.FILES) $(general_tests_tools) $(SOONG_ZIP) rm -rf $(PRIVATE_INTERMEDIATES_DIR) - mkdir -p $(PRIVATE_INTERMEDIATES_DIR) + mkdir -p $(PRIVATE_INTERMEDIATES_DIR) $(PRIVATE_INTERMEDIATES_DIR)/tools echo $(sort $(COMPATIBILITY.general-tests.FILES)) | tr " " "\n" > $(PRIVATE_INTERMEDIATES_DIR)/list grep $(HOST_OUT_TESTCASES) $(PRIVATE_INTERMEDIATES_DIR)/list > $(PRIVATE_INTERMEDIATES_DIR)/host.list || true grep $(TARGET_OUT_TESTCASES) $(PRIVATE_INTERMEDIATES_DIR)/list > $(PRIVATE_INTERMEDIATES_DIR)/target.list || true + cp -fp $(PRIVATE_TOOLS) $(PRIVATE_INTERMEDIATES_DIR)/tools/ $(SOONG_ZIP) -d -o $@ \ + -P host -C $(PRIVATE_INTERMEDIATES_DIR) -D $(PRIVATE_INTERMEDIATES_DIR)/tools \ -P host -C $(HOST_OUT) -l $(PRIVATE_INTERMEDIATES_DIR)/host.list \ -P target -C $(PRODUCT_OUT) -l $(PRIVATE_INTERMEDIATES_DIR)/target.list grep -e .*.config$$ $(PRIVATE_INTERMEDIATES_DIR)/host.list | sed s%$(HOST_OUT)%host%g > $(PRIVATE_INTERMEDIATES_DIR)/general-tests_list @@ -38,5 +45,6 @@ general-tests: $(general_tests_zip) $(call dist-for-goals, general-tests, $(general_tests_zip) $(general_tests_list_zip)) intermediates_dir := +general_tests_tools := general_tests_zip := general_tests_list_zip :=