1# Copyright (C) 2021 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//test/xts/tools/build/suite.gni")
15
16_all_test_packages = [
17  "${ACTS_ROOT}/ai:ai",
18  "${ACTS_ROOT}/testfwk:testfwk",
19  "${ACTS_ROOT}/global:global",
20  "${ACTS_ROOT}/security:security",
21  "${ACTS_ROOT}/useriam:useriam",
22  "${ACTS_ROOT}/multimedia:multimedia",
23  "${ACTS_ROOT}/bundlemanager:appexecfwk",
24  "${ACTS_ROOT}/account:account",
25  "${ACTS_ROOT}/communication:communication",
26  "${ACTS_ROOT}/notification:notification",
27  "${ACTS_ROOT}/ability:ability",
28  "${ACTS_ROOT}/time:time",
29  "${ACTS_ROOT}/theme:theme",
30  "${ACTS_ROOT}/request:request",
31  "${ACTS_ROOT}/inputmethod:inputmethod",
32  "${ACTS_ROOT}/powermgr:powermgr",
33  "${ACTS_ROOT}/startup:startup",
34  "${ACTS_ROOT}/sensors:sensors",
35  "${ACTS_ROOT}/distributeddatamgr:pasteboard",
36  "${ACTS_ROOT}/distributeddatamgr:distributeddatamgr",
37  "${ACTS_ROOT}/graphic:graphic",
38  "${ACTS_ROOT}/arkui:arkui",
39  "${ACTS_ROOT}/storage:storage",
40  "${ACTS_ROOT}/commonlibrary:commonlibrary",
41  "${ACTS_ROOT}/usb:usb",
42  "${ACTS_ROOT}/multimodalinput:multimodalinput",
43  "${ACTS_ROOT}/resourceschedule:resourceschedule",
44  "${ACTS_ROOT}/telephony:telephony",
45  "${ACTS_ROOT}/hiviewdfx:hiviewdfxtestacts",
46  "${ACTS_ROOT}/location:location",
47  "${ACTS_ROOT}/settingsdata:settingsdata",
48  "${ACTS_ROOT}/barrierfree:barrierfree",
49  "${ACTS_ROOT}/applications:applications",
50  "${ACTS_ROOT}/ostest:ostest",
51  "${ACTS_ROOT}/validator:validator",
52  "${ACTS_ROOT}/xts:xts",
53  "${ACTS_ROOT}/hdf:hdf",
54  "${ACTS_ROOT}/msdp:msdp",
55  "${ACTS_ROOT}/arkcompiler:arkcompiler",
56  "${ACTS_ROOT}/advertising:advertising",
57  "${ACTS_ROOT}/customization:customization",
58  "${ACTS_ROOT}/pcs:pcs",
59  "${ACTS_ROOT}/appbuild:appbuild",
60]
61
62_all_test_packages_ivi = [
63  # add acts for ivi here
64  # "${ACTS_ROOT}/multimedia:multimedia_ivi",
65]
66
67_all_test_packages_intellitv = [
68  # add acts for intellitv here
69  "${ACTS_ROOT}/multimedia:multimedia_intellitv",
70]
71
72_all_test_packages_wearable = [
73  # add acts for wearable here
74  "${ACTS_ROOT}/multimedia:multimedia_wearable",
75]
76
77selected_packages_wearable = []
78selected_packages_intellitv = []
79selected_packages_ivi = []
80selected_packages = []
81assert(XTS_SUITENAME != "")
82if (build_xts == true && XTS_SUITENAME == "acts") {
83  _select_script = "//test/xts/tools/build/test_package_select.py"
84  _subsystem_config_path = rebase_path(
85          "$root_build_dir/build_configs/subsystem_info/src_subsystem_info.json")
86  _select_args = [ _subsystem_config_path ] + _all_test_packages
87  _select_args_ivi = [ _subsystem_config_path ] + _all_test_packages_ivi
88  _select_args_intellitv =
89      [ _subsystem_config_path ] + _all_test_packages_intellitv
90  _select_args_wearable =
91      [ _subsystem_config_path ] + _all_test_packages_wearable
92  _target_subsystem = getenv("target_subsystem")
93
94  if (_target_subsystem != "" && _target_subsystem != "all") {
95    print("Build acts, target_subsystem=" + _target_subsystem)
96    _select_args += [ "selected_subsystem=" + _target_subsystem ]
97    _select_args_ivi += [ "selected_subsystem=" + _target_subsystem ]
98    _select_args_intellitv += [ "selected_subsystem=" + _target_subsystem ]
99    _select_args_wearable += [ "selected_subsystem=" + _target_subsystem ]
100  }
101
102  selected_packages = exec_script(_select_script, _select_args, "list lines")
103
104  selected_packages_ivi =
105      exec_script(_select_script, _select_args_ivi, "list lines")
106
107  selected_packages_intellitv =
108      exec_script(_select_script, _select_args_intellitv, "list lines")
109
110  selected_packages_wearable =
111      exec_script(_select_script, _select_args_wearable, "list lines")
112
113  print("Selected packages:")
114  print(selected_packages)
115
116  # always include testtools
117  selected_packages += [ "testtools:deploy_testtools" ]
118  selected_packages += [ "${XTS_ROOT}/tools/others/query:libQuery" ]
119  selected_packages_ivi += [ "testtools:deploy_testtools" ]
120  selected_packages_intellitv += [ "testtools:deploy_testtools" ]
121  selected_packages_wearable += [ "testtools:deploy_testtools" ]
122} else {
123  print("ACTS build is not enabled")
124}
125