You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
3.5 KiB
96 lines
3.5 KiB
# Copyright (C) 2016 The Android Open Source Project |
|
# |
|
# Licensed under the Apache License, Version 2.0 (the "License"); |
|
# you may not use this file except in compliance with the License. |
|
# You may obtain a copy of the License at |
|
# |
|
# http://www.apache.org/licenses/LICENSE-2.0 |
|
# |
|
# Unless required by applicable law or agreed to in writing, software |
|
# distributed under the License is distributed on an "AS IS" BASIS, |
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
# See the License for the specific language governing permissions and |
|
# limitations under the License. |
|
|
|
# Rules to generate a tests zip file that included test modules |
|
# based on the configuration. |
|
|
|
LOCAL_PATH := $(call my-dir) |
|
include $(LOCAL_PATH)/tests/instrumentation_test_list.mk |
|
-include $(wildcard vendor/*/build/tasks/tests/instrumentation_test_list.mk) |
|
|
|
my_modules := \ |
|
$(instrumentation_tests) |
|
|
|
my_package_name := continuous_instrumentation_tests |
|
|
|
include $(BUILD_SYSTEM)/tasks/tools/package-modules.mk |
|
|
|
.PHONY: continuous_instrumentation_tests |
|
continuous_instrumentation_tests : $(my_package_zip) |
|
|
|
name := $(TARGET_PRODUCT)-continuous_instrumentation_tests-$(FILE_NAME_TAG) |
|
$(call dist-for-goals, continuous_instrumentation_tests, $(my_package_zip):$(name).zip) |
|
|
|
# Also build this when you run "make tests". |
|
tests: continuous_instrumentation_tests |
|
|
|
# Include test em files in emma metadata |
|
ifeq ($(EMMA_INSTRUMENT_STATIC),true) |
|
$(EMMA_META_ZIP) : continuous_instrumentation_tests |
|
endif |
|
|
|
# Rules to generate an API-coverage report based on the above tests |
|
|
|
# Coverage report output location |
|
coverage_out := $(call intermediates-dir-for,PACKAGING,continuous_instrumentation_tests_coverage) |
|
coverage_report := $(coverage_out)/api_coverage.html |
|
|
|
# Framework API descriptions |
|
api_text := frameworks/base/api/system-current.txt |
|
api_xml := $(coverage_out)/api.xml |
|
$(api_xml) : $(api_text) $(APICHECK) |
|
$(hide) echo "Converting API file to XML: $@" |
|
$(hide) mkdir -p $(dir $@) |
|
$(hide) $(APICHECK_COMMAND) -convert2xml $< $@ |
|
|
|
# CTS API coverage tool |
|
api_coverage_exe := $(HOST_OUT_EXECUTABLES)/cts-api-coverage |
|
dexdeps_exe := $(HOST_OUT_EXECUTABLES)/dexdeps |
|
|
|
# APKs to measure for coverage |
|
test_apks := $(call intermediates-dir-for,PACKAGING,continuous_instrumentation_tests)/DATA/app/* |
|
|
|
# Rule to generate the coverage report |
|
api_coverage_dep := continuous_instrumentation_tests $(api_coverage_exe) $(dexdeps_exe) $(api_xml) |
|
$(coverage_report): PRIVATE_API_COVERAGE_EXE := $(api_coverage_exe) |
|
$(coverage_report): PRIVATE_DEXDEPS_EXE := $(dexdeps_exe) |
|
$(coverage_report): PRIVATE_API_XML := $(api_xml) |
|
$(coverage_report): PRIVATE_REPORT_TITLE := "APCT API Coverage Report" |
|
$(coverage_report): PRIVATE_TEST_APKS := $(test_apks) |
|
$(coverage_report): $(api_coverage_dep) | $(ACP) |
|
$(hide) mkdir -p $(dir $@) |
|
$(hide) $(PRIVATE_API_COVERAGE_EXE) -d $(PRIVATE_DEXDEPS_EXE) \ |
|
-a $(PRIVATE_API_XML) -t $(PRIVATE_REPORT_TITLE) -f html -o $@ $(PRIVATE_TEST_APKS) |
|
@ echo $(PRIVATE_REPORT_TITLE): file://$(ANDROID_BUILD_TOP)/$@ |
|
|
|
.PHONY: continuous_instrumentation_tests_api_coverage |
|
continuous_instrumentation_tests_api_coverage : $(coverage_report) |
|
|
|
# Include the coverage report in the dist folder |
|
$(call dist-for-goals, continuous_instrumentation_tests_api_coverage, \ |
|
$(coverage_report):$(name)-api_coverage.html) |
|
|
|
# Also build this when you run "make tests". |
|
# This allow us to not change the build server config. |
|
tests : continuous_instrumentation_tests_api_coverage |
|
|
|
# Reset temp vars |
|
coverage_out := |
|
coverage_report := |
|
api_text := |
|
api_xml := |
|
api_coverage_exe := |
|
dexdeps_exe := |
|
test_apks := |
|
api_coverage_dep :=
|
|
|