Home | History | Annotate | Download | only in tasks
      1 #
      2 # Copyright (C) 2017 The Android Open Source Project
      3 #
      4 # Licensed under the Apache License, Version 2.0 (the "License");
      5 # you may not use this file except in compliance with the License.
      6 # You may obtain a copy of the License at
      7 #
      8 #      http://www.apache.org/licenses/LICENSE-2.0
      9 #
     10 # Unless required by applicable law or agreed to in writing, software
     11 # distributed under the License is distributed on an "AS IS" BASIS,
     12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 #
     16 
     17 LOCAL_PATH := $(call my-dir)
     18 
     19 build_utils_dir := $(LOCAL_PATH)/../utils
     20 
     21 include $(LOCAL_PATH)/list/vts_adapter_package_list.mk
     22 include $(LOCAL_PATH)/list/vts_apk_package_list.mk
     23 include $(LOCAL_PATH)/list/vts_bin_package_list.mk
     24 include $(LOCAL_PATH)/list/vts_lib_package_list.mk
     25 include $(LOCAL_PATH)/list/vts_spec_file_list.mk
     26 include $(LOCAL_PATH)/list/vts_test_bin_package_list.mk
     27 include $(LOCAL_PATH)/list/vts_test_lib_package_list.mk
     28 include $(LOCAL_PATH)/list/vts_test_lib_hal_package_list.mk
     29 include $(LOCAL_PATH)/list/vts_test_lib_hidl_package_list.mk
     30 include $(LOCAL_PATH)/list/vts_func_fuzzer_package_list.mk
     31 include $(LOCAL_PATH)/list/vts_test_host_lib_package_list.mk
     32 include $(LOCAL_PATH)/list/vts_test_host_bin_package_list.mk
     33 include $(LOCAL_PATH)/list/vts_test_hidl_hal_hash_list.mk
     34 include $(build_utils_dir)/vts_package_utils.mk
     35 -include external/linux-kselftest/android/kselftest_test_list.mk
     36 -include external/ltp/android/ltp_package_list.mk
     37 
     38 VTS_OUT_ROOT := $(HOST_OUT)/vts
     39 VTS_TESTCASES_OUT := $(VTS_OUT_ROOT)/android-vts/testcases
     40 VTS_TOOLS_OUT := $(VTS_OUT_ROOT)/android-vts/tools
     41 
     42 # Packaging rule for android-vts.zip
     43 test_suite_name := vts
     44 test_suite_tradefed := vts-tradefed
     45 test_suite_readme := test/vts/README.md
     46 
     47 include $(BUILD_SYSTEM)/tasks/tools/compatibility.mk
     48 
     49 .PHONY: vts
     50 vts: $(compatibility_zip) vtslab adb
     51 $(call dist-for-goals, vts, $(compatibility_zip))
     52 
     53 # Packaging rule for android-vts.zip's testcases dir (DATA subdir).
     54 target_native_modules := \
     55     $(kselftest_modules) \
     56     ltp \
     57     $(ltp_packages) \
     58     $(vts_adapter_package_list) \
     59     $(vts_apk_packages) \
     60     $(vts_bin_packages) \
     61     $(vts_lib_packages) \
     62     $(vts_test_bin_packages) \
     63     $(vts_test_lib_packages) \
     64     $(vts_test_lib_hal_packages) \
     65     $(vts_test_lib_hidl_packages) \
     66     $(vts_func_fuzzer_packages) \
     67 
     68 target_native_copy_pairs := \
     69   $(call target-native-copy-pairs,$(target_native_modules),$(VTS_TESTCASES_OUT))
     70 
     71 # Packaging rule for android-vts.zip's testcases dir (spec subdir).
     72 
     73 target_spec_modules := \
     74   $(VTS_SPEC_FILE_LIST)
     75 
     76 target_spec_copy_pairs :=
     77 $(foreach m,$(target_spec_modules),\
     78   $(eval my_spec_copy_dir :=\
     79     spec/$(word 2,$(subst android/frameworks/, frameworks/hardware/interfaces/,\
     80                     $(subst android/hardware/, hardware/interfaces/,\
     81                       $(subst android/hidl/, system/libhidl/transport/,\
     82                         $(subst android/system/, system/hardware/interfaces/,$(dir $(m)))))))/vts)\
     83   $(eval my_spec_copy_file := $(notdir $(m)))\
     84   $(eval my_spec_copy_dest := $(my_spec_copy_dir)/$(my_spec_copy_file))\
     85   $(eval target_spec_copy_pairs += $(m):$(VTS_TESTCASES_OUT)/$(my_spec_copy_dest)))
     86 
     87 $(foreach m,$(vts_spec_file_list),\
     88   $(if $(wildcard $(m)),\
     89     $(eval target_spec_copy_pairs += $(m):$(VTS_TESTCASES_OUT)/spec/$(m))))
     90 
     91 target_trace_files := \
     92   $(call find-files-in-subdirs,test/vts-testcase/hal-trace,"*.vts.trace" -and -type f,.) \
     93 
     94 target_trace_copy_pairs := \
     95 $(foreach f,$(target_trace_files),\
     96     test/vts-testcase/hal-trace/$(f):$(VTS_TESTCASES_OUT)/hal-hidl-trace/test/vts-testcase/hal-trace/$(f))
     97 
     98 target_hal_hash_modules := \
     99     $(vts_test_hidl_hal_hash_list) \
    100 
    101 target_hal_hash_copy_pairs :=
    102 $(foreach m,$(target_hal_hash_modules),\
    103   $(if $(wildcard $(m)),\
    104     $(eval target_hal_hash_copy_pairs += $(m):$(VTS_TESTCASES_OUT)/hal-hidl-hash/$(m))))
    105 
    106 
    107 # Packaging rule for host-side test native packages
    108 
    109 target_hostdriven_modules := \
    110   $(vts_test_host_lib_packages) \
    111   $(vts_test_host_bin_packages) \
    112 
    113 target_hostdriven_copy_pairs := \
    114   $(call host-native-copy-pairs,$(target_hostdriven_modules),$(VTS_TESTCASES_OUT))
    115 
    116 host_additional_deps_copy_pairs := \
    117   test/vts/tools/vts-tradefed/etc/vts-tradefed_win.bat:$(VTS_TOOLS_OUT)/vts-tradefed_win.bat \
    118   test/vts/tools/vts-tradefed/DynamicConfig.xml:$(VTS_TESTCASES_OUT)/cts.dynamic
    119 
    120 # Packaging rule for host-side Python logic, configs, and data files
    121 
    122 host_framework_files := \
    123   $(call find-files-in-subdirs,test/vts,"*.py" -and -type f,.) \
    124   $(call find-files-in-subdirs,test/vts,"*.runner_conf" -and -type f,.) \
    125   $(call find-files-in-subdirs,test/vts,"*.push" -and -type f,.)
    126 
    127 host_framework_copy_pairs := \
    128   $(foreach f,$(host_framework_files),\
    129     test/vts/$(f):$(VTS_TESTCASES_OUT)/vts/$(f))
    130 
    131 host_testcase_files := \
    132   $(call find-files-in-subdirs,test/vts-testcase,"*.py" -and -type f,.) \
    133   $(call find-files-in-subdirs,test/vts-testcase,"*.runner_conf" -and -type f,.) \
    134   $(call find-files-in-subdirs,test/vts-testcase,"*.push" -and -type f,.) \
    135   $(call find-files-in-subdirs,test/vts-testcase,"*.dump" -and -type f,.)
    136 
    137 host_testcase_copy_pairs := \
    138   $(foreach f,$(host_testcase_files),\
    139     test/vts-testcase/$(f):$(VTS_TESTCASES_OUT)/vts/testcases/$(f))
    140 
    141 host_kernel_config_files :=\
    142   $(call find-files-in-subdirs,kernel/configs,"android-base*.cfg" -and -type f,.)
    143 
    144 host_kernel_config_copy_pairs := \
    145   $(foreach f,$(host_kernel_config_files),\
    146     kernel/configs/$(f):$(VTS_TESTCASES_OUT)/vts/testcases/kernel/config/data/$(f))
    147 
    148 ifneq ($(TARGET_BUILD_PDK),true)
    149 
    150 host_camera_its_files := \
    151   $(call find-files-in-subdirs,cts/apps/CameraITS,"*.py" -and -type f,.) \
    152   $(call find-files-in-subdirs,cts/apps/CameraITS,"*.pdf" -and -type f,.) \
    153   $(call find-files-in-subdirs,cts/apps/CameraITS,"*.png" -and -type f,.)
    154 
    155 host_camera_its_copy_pairs := \
    156   $(foreach f,$(host_camera_its_files),\
    157     cts/apps/CameraITS/$(f):$(VTS_TESTCASES_OUT)/CameraITS/$(f))
    158 
    159 else
    160 
    161 host_camera_its_copy_pairs :=
    162 
    163 endif  # ifneq ($(TARGET_BUILD_PDK),true)
    164 
    165 host_systrace_files := \
    166   $(filter-out .git/%, \
    167     $(call find-files-in-subdirs,external/chromium-trace,"*" -and -type f,.))
    168 
    169 host_systrace_copy_pairs := \
    170   $(foreach f,$(host_systrace_files),\
    171     external/chromium-trace/$(f):$(VTS_OUT_ROOT)/android-vts/tools/external/chromium-trace/$(f))
    172 
    173 media_test_res_files := \
    174   $(call find-files-in-subdirs,hardware/interfaces/media/res,"*.*" -and -type f,.) \
    175 
    176 media_test_res_copy_pairs := \
    177   $(foreach f,$(media_test_res_files),\
    178     hardware/interfaces/media/res/$(f):$(VTS_TESTCASES_OUT)/DATA/media/res/$(f))
    179 
    180 performance_test_res_files := \
    181   $(call find-files-in-subdirs,test/vts-testcase/performance/res/,"*.*" -and -type f,.) \
    182 
    183 performance_test_res_copy_pairs := \
    184   $(foreach f,$(performance_test_res_files),\
    185     test/vts-testcase/performance/res/$(f):$(VTS_TESTCASES_OUT)/DATA/performance/res/$(f))
    186 
    187 audio_test_res_files := \
    188   $(call find-files-in-subdirs,hardware/interfaces/audio,"*.xsd" -and -type f,.) \
    189 
    190 audio_test_res_copy_pairs := \
    191   $(foreach f,$(audio_test_res_files),\
    192     hardware/interfaces/audio/$(f):$(VTS_TESTCASES_OUT)/DATA/hardware/interfaces/audio/$(f))
    193 
    194 vndk_test_res_copy_pairs := \
    195   development/vndk/tools/definition-tool/datasets/eligible-list-28.csv:$(VTS_TESTCASES_OUT)/vts/testcases/vndk/golden/$(PLATFORM_VNDK_VERSION)/eligible-list.csv \
    196 
    197 kernel_rootdir_test_rc_files := \
    198   $(call find-files-in-subdirs,system/core/rootdir,"*.rc" -and -type f,.) \
    199 
    200 kernel_rootdir_test_rc_copy_pairs := \
    201   $(foreach f,$(kernel_rootdir_test_rc_files),\
    202     system/core/rootdir/$(f):$(VTS_TESTCASES_OUT)/vts/testcases/kernel/api/rootdir/init_rc_files/$(f)) \
    203 
    204 acts_framework_files := \
    205   $(call find-files-in-subdirs,tools/test/connectivity/acts/framework/acts,"*.py" -and -type f,.)
    206 
    207 acts_framework_copy_pairs := \
    208   $(foreach f,$(acts_framework_files),\
    209     tools/test/connectivity/acts/framework/acts/$(f):$(VTS_TESTCASES_OUT)/acts/$(f))
    210 
    211 acts_testcases_files := \
    212   $(call find-files-in-subdirs,tools/test/connectivity/acts/tests/google,"*.py" -and -type f,.)
    213 
    214 acts_testcases_copy_pairs := \
    215   $(foreach f,$(acts_testcases_files),\
    216     tools/test/connectivity/acts/tests/google/$(f):$(VTS_TESTCASES_OUT)/vts/testcases/acts/$(f))
    217 
    218 target_script_files := \
    219   $(call find-files-in-subdirs,test/vts/script/target,"*.sh" -and -type f,.)
    220 
    221 target_script_copy_pairs := \
    222   $(foreach f,$(target_script_files),\
    223     test/vts/script/target/$(f):$(VTS_TESTCASES_OUT)/script/target/$(f))
    224 
    225 system_property_compatibility_test_res_copy_pairs := \
    226   system/sepolicy/public/property_contexts:$(VTS_TESTCASES_OUT)/vts/testcases/security/system_property/data/property_contexts
    227 
    228 $(VTS_TESTCASES_OUT)/vts/testcases/vndk/golden/platform_vndk_version.txt:
    229 	@echo -n $(PLATFORM_VNDK_VERSION) > $@
    230 
    231 vts_test_core_copy_pairs := \
    232   $(call copy-many-files,$(host_framework_copy_pairs)) \
    233   $(call copy-many-files,$(host_testcase_copy_pairs)) \
    234   $(call copy-many-files,$(host_additional_deps_copy_pairs)) \
    235   $(call copy-many-files,$(target_spec_copy_pairs)) \
    236   $(call copy-many-files,$(target_hal_hash_copy_pairs)) \
    237   $(call copy-many-files,$(acts_framework_copy_pairs)) \
    238 
    239 vts_copy_pairs := \
    240   $(vts_test_core_copy_pairs) \
    241   $(call copy-many-files,$(target_native_copy_pairs)) \
    242   $(call copy-many-files,$(target_trace_copy_pairs)) \
    243   $(call copy-many-files,$(target_hostdriven_copy_pairs)) \
    244   $(call copy-many-files,$(host_kernel_config_copy_pairs)) \
    245   $(call copy-many-files,$(host_camera_its_copy_pairs)) \
    246   $(call copy-many-files,$(host_systrace_copy_pairs)) \
    247   $(call copy-many-files,$(media_test_res_copy_pairs)) \
    248   $(call copy-many-files,$(performance_test_res_copy_pairs)) \
    249   $(call copy-many-files,$(audio_test_res_copy_pairs)) \
    250   $(call copy-many-files,$(vndk_test_res_copy_pairs)) \
    251   $(call copy-many-files,$(kernel_rootdir_test_rc_copy_pairs)) \
    252   $(call copy-many-files,$(acts_testcases_copy_pairs)) \
    253   $(call copy-many-files,$(target_script_copy_pairs)) \
    254   $(call copy-many-files,$(system_property_compatibility_test_res_copy_pairs)) \
    255   $(VTS_TESTCASES_OUT)/vts/testcases/vndk/golden/platform_vndk_version.txt \
    256 
    257 .PHONY: vts-test-core
    258 vts-test-core: $(vts_test_core_copy_pairs)
    259 
    260 $(compatibility_zip): $(vts_copy_pairs)
    261 
    262 -include vendor/google_vts/tools/build/vts_package_vendor.mk
    263