github.com/westcoastroms/westcoastroms-build@v0.0.0-20190928114312-2350e5a73030/build/make/core/tasks/device-tests.mk (about)

     1  # Copyright (C) 2017 The Android Open Source Project
     2  #
     3  # Licensed under the Apache License, Version 2.0 (the "License");
     4  # you may not use this file except in compliance with the License.
     5  # You may obtain a copy of the License at
     6  #
     7  #      http://www.apache.org/licenses/LICENSE-2.0
     8  #
     9  # Unless required by applicable law or agreed to in writing, software
    10  # distributed under the License is distributed on an "AS IS" BASIS,
    11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  # See the License for the specific language governing permissions and
    13  # limitations under the License.
    14  
    15  
    16  .PHONY: device-tests
    17  
    18  device-tests-zip := $(PRODUCT_OUT)/device-tests.zip
    19  # Create an artifact to include a list of test config files in device-tests.
    20  device-tests-list-zip := $(PRODUCT_OUT)/device-tests_list.zip
    21  $(device-tests-zip) : .KATI_IMPLICIT_OUTPUTS := $(device-tests-list-zip)
    22  $(device-tests-zip) : PRIVATE_device_tests_list := $(PRODUCT_OUT)/device-tests_list
    23  
    24  $(device-tests-zip) : $(COMPATIBILITY.device-tests.FILES) $(SOONG_ZIP)
    25  	echo $(sort $(COMPATIBILITY.device-tests.FILES)) | tr " " "\n" > $@.list
    26  	grep $(HOST_OUT_TESTCASES) $@.list > $@-host.list || true
    27  	grep $(TARGET_OUT_TESTCASES) $@.list > $@-target.list || true
    28  	$(hide) $(SOONG_ZIP) -d -o $@ -P host -C $(HOST_OUT) -l $@-host.list -P target -C $(PRODUCT_OUT) -l $@-target.list
    29  	rm -f $(PRIVATE_device_tests_list)
    30  	$(hide) grep -e .*.config$$ $@-host.list | sed s%$(HOST_OUT)%host%g > $(PRIVATE_device_tests_list)
    31  	$(hide) grep -e .*.config$$ $@-target.list | sed s%$(PRODUCT_OUT)%target%g >> $(PRIVATE_device_tests_list)
    32  	$(hide) $(SOONG_ZIP) -d -o $(device-tests-list-zip) -C $(dir $@) -f $(PRIVATE_device_tests_list)
    33  	rm -f $@.list $@-host.list $@-target.list $(PRIVATE_device_tests_list)
    34  
    35  device-tests: $(device-tests-zip)
    36  $(call dist-for-goals, device-tests, $(device-tests-zip) $(device-tests-list-zip))
    37  
    38  tests: device-tests