#
|
# Copyright (C) 2018 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.
|
#
|
|
LOCAL_PATH := $(call my-dir)
|
VTF_MK := $(LOCAL_PATH)/vtf.mk
|
VTF_PACKAGE_MK := test/vts/tools/build/tasks/framework/vtf_package.mk
|
|
include $(CLEAR_VARS)
|
include $(LOCAL_PATH)/tasks/list/vtslab_apk_package_list.mk
|
include $(LOCAL_PATH)/tasks/list/vtslab_bin_package_list.mk
|
include $(LOCAL_PATH)/tasks/list/vtslab_lib_package_list.mk
|
|
VTSLAB_OUT_ROOT := $(HOST_OUT)/vtslab
|
VTSLAB_TESTCASES_OUT := $(VTSLAB_OUT_ROOT)/android-vtslab/testcases
|
VTSLAB_TOOLS_OUT := $(VTSLAB_OUT_ROOT)/android-vtslab/tools
|
VTSLAB_BIN_LIB_OUT := $(VTSLAB_OUT_ROOT)/android-vtslab/
|
VTSLAB_TIMESTAMP := $(shell git -C $(LOCAL_PATH) log -s -n 1 --format="%cd" \
|
--date=format:"%Y%m%d_%H%M%S" 2>/dev/null)
|
VTSLAB_SHORTHASH := $(shell git -C $(LOCAL_PATH) rev-parse --short HEAD 2>/dev/null)
|
VTSLAB_VERSION := $(VTSLAB_TIMESTAMP):$(VTSLAB_SHORTHASH)
|
|
# Packaging rule for android-vtslab.zip
|
test_suite_name := vtslab
|
test_suite_readme := test/framework/README.md
|
|
include $(LOCAL_PATH)/package.mk
|
include $(LOCAL_PATH)/utils/vtslab_package_utils.mk
|
|
# TODO: instead of an alias, deprecate vtslab build target
|
.PHONY: lab
|
lab: vtslab
|
.PHONY: vtslab
|
vtslab: $(compatibility_zip)
|
$(call dist-for-goals, vtslab, $(compatibility_zip))
|
|
# Packaging rule for android-vtslab.zip's testcases dir (DATA subdir).
|
vtslab_apk_modules := \
|
$(vtslab_apk_packages) \
|
|
vtslab_apk_modules_copy_pairs := \
|
$(call target-native-copy-pairs,$(vtslab_apk_modules),$(VTSLAB_TESTCASES_OUT))
|
|
# host controller files.
|
host_hc_files := \
|
$(call find-files-in-subdirs,test/framework/harnesses/host_controller,"*.py" -and -type f,.) \
|
|
host_hc_copy_pairs := \
|
$(foreach f,$(host_hc_files),\
|
test/framework/harnesses/host_controller/$(f):$(VTSLAB_TESTCASES_OUT)/host_controller/$(f))
|
|
# gsi security patch scripts.
|
host_hc_gsispl_files := \
|
$(call find-files-in-subdirs,test/framework/harnesses/host_controller/gsi,"*.sh" -and -type f,.) \
|
|
host_hc_gsispl_copy_pairs := \
|
$(foreach f,$(host_hc_gsispl_files),\
|
test/framework/harnesses/host_controller/gsi/$(f):$(VTSLAB_BIN_LIB_OUT)/bin/$(f))
|
|
# host controller scripts.
|
host_hc_extra_copy_pairs := \
|
test/framework/tools/host_controller/run:$(VTSLAB_TOOLS_OUT)/run \
|
test/framework/tools/host_controller/make_screen:$(VTSLAB_TOOLS_OUT)/make_screen \
|
test/vts/script/diagnose.py:$(VTSLAB_BIN_LIB_OUT)/bin/diagnose.py \
|
test/vts/script/pip_requirements.txt:$(VTSLAB_BIN_LIB_OUT)/bin/pip_requirements.txt \
|
test/vts/script/setup.sh:$(VTSLAB_BIN_LIB_OUT)/bin/setup.sh \
|
|
host_acloud_files := \
|
$(call find-files-in-subdirs,tools/acloud,"*.py" -and -type f,.) \
|
$(call find-files-in-subdirs,tools/acloud,"*.config" -and -type f,.)
|
|
host_acloud_copy_pairs := \
|
$(foreach f,$(host_acloud_files),\
|
tools/acloud/$(f):$(VTSLAB_TESTCASES_OUT)/acloud/$(f))
|
|
host_vti_dashboard_proto_files := \
|
$(call find-files-in-subdirs,test/vti/dashboard/proto,"*.py" -and -type f,.)
|
|
host_vti_test_serving_proto_files := \
|
$(call find-files-in-subdirs,test/vti/test_serving/proto,"*.py" -and -type f,.)
|
|
host_vti_copy_pairs := \
|
$(foreach f,$(host_vti_test_serving_proto_files),\
|
test/vti/test_serving/proto/$(f):$(VTSLAB_TESTCASES_OUT)/vti/test_serving/proto/$(f)) \
|
$(foreach f,$(host_vti_dashboard_proto_files),\
|
test/vti/dashboard/proto/$(f):$(VTSLAB_TESTCASES_OUT)/vti/dashboard/proto/$(f)) \
|
test/vti/dashboard/__init__.py:$(VTSLAB_TESTCASES_OUT)/vti/dashboard/__init__.py \
|
test/vti/test_serving/__init__.py:$(VTSLAB_TESTCASES_OUT)/vti/test_serving/__init__.py \
|
|
$(VTSLAB_TESTCASES_OUT)/vti/__init__.py:
|
@mkdir -p $(VTSLAB_TESTCASES_OUT)/vti
|
@touch $(VTSLAB_TESTCASES_OUT)/vti/__init__.py
|
|
host_vti_extra_copy_pairs := \
|
$(VTSLAB_TESTCASES_OUT)/vti/__init__.py \
|
|
vts_host_python_files := \
|
$(call find-files-in-subdirs,test/vts,"*.py" -and -type f,.)
|
|
vts_host_python_copy_pairs := \
|
$(foreach f,$(vts_host_python_files),\
|
test/vts/$(f):$(VTSLAB_TESTCASES_OUT)/vts/$(f))
|
|
# Packaging rule for host-controller's dependencies
|
host_hc_bin_lib := \
|
$(vtslab_bin_packages) \
|
$(vtslab_lib_packages) \
|
|
host_hc_bin_lib_copy_pairs := \
|
$(call host-native-copy-pairs,$(host_hc_bin_lib),$(VTSLAB_BIN_LIB_OUT))
|
|
vtslab_copy_pairs := \
|
$(call copy-many-files,$(vtslab_apk_modules_copy_pairs)) \
|
$(call copy-many-files,$(host_hc_copy_pairs)) \
|
$(call copy-many-files,$(host_hc_gsispl_copy_pairs)) \
|
$(call copy-many-files,$(host_hc_extra_copy_pairs)) \
|
$(call copy-many-files,$(host_acloud_copy_pairs)) \
|
$(call copy-many-files,$(host_vti_copy_pairs)) \
|
$(call copy-many-files,$(vts_host_python_copy_pairs)) \
|
$(call copy-many-files,$(host_hc_bin_lib_copy_pairs)) \
|
$(host_vti_extra_copy_pairs) \
|
|
$(compatibility_zip): $(vtslab_copy_pairs) $(VTSLAB_TESTCASES_OUT)/version.txt
|
|
$(VTSLAB_TESTCASES_OUT)/version.txt:
|
@rm -f $@
|
@echo $(VTSLAB_VERSION) > $@
|
|
# for VTF (Vendor Test Framework)
|
VTF_OUT_ROOT := $(HOST_OUT)/vtf
|
VTF_TESTCASES_OUT := $(VTF_OUT_ROOT)/android-vtf/testcases
|
VTF_TOOLS_OUT := $(VTF_OUT_ROOT)/android-vtf/tools
|
VTF_EXTRA_SCRIPTS := vtf
|
|
include $(VTF_PACKAGE_MK)
|
include $(VTF_MK)
|
|
# clears local vars
|
VTF_MK :=
|
VTF_PACKAGE_MK :=
|