1# Copyright (c) 2022 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("//build/test.gni")
15import("//foundation/ability/ability_runtime/ability_runtime.gni")
16module_output_path = "ability_runtime/ability_delegator"
17
18ability_delegator_mock_sources = [
19  "${ability_runtime_path}/tools/aa/src/shell_command_config_loader.cpp",
20  "${ability_runtime_path}/tools/aa/src/shell_command_executor.cpp",
21  "${ability_runtime_path}/tools/aa/src/test_observer.cpp",
22  "${ability_runtime_path}/tools/aa/src/test_observer_stub.cpp",
23  "${ability_runtime_test_path}/mock/frameworks_kits_appkit_native_test/ability_delegator/mock_ability_delegator_stub.cpp",
24  "${ability_runtime_test_path}/mock/frameworks_kits_appkit_native_test/ability_delegator/mock_iability_monitor.cpp",
25  "${ability_runtime_test_path}/mock/frameworks_kits_appkit_native_test/ability_delegator/mock_test_observer_stub.cpp",
26]
27
28###############################################################################
29config("moduletest_include_dir") {
30  visibility = [ ":*" ]
31  include_dirs = [
32    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_delegator/",
33    "${ability_runtime_path}/tools/aa/include",
34    "${ability_runtime_test_path}/mock/frameworks_kits_appkit_native_test/ability_delegator",
35    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_delegator/runner_runtime/",
36    "${ability_runtime_innerkits_path}/ability_manager/include",
37    "//third_party/googletest/googlemock/include",
38    "${ability_runtime_services_path}/abilitymgr/include/utils",
39    "${ability_runtime_services_path}/abilitymgr/include",
40    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context/",
41    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/app/",
42  ]
43  cflags = []
44  if (target_cpu == "arm") {
45    cflags += [ "-DBINDER_IPC_32BIT" ]
46  }
47}
48
49ohos_moduletest("shell_cmd_result_moduletest") {
50  module_out_path = module_output_path
51  sources = [ "shell_cmd_result_module_test.cpp" ]
52
53  configs = [ ":moduletest_include_dir" ]
54  configs += [ "${ability_runtime_services_path}/common:common_config" ]
55
56  deps = [
57    "${ability_runtime_native_path}/appkit:appkit_delegator",
58    "//third_party/googletest:gmock_main",
59    "//third_party/googletest:gtest_main",
60  ]
61
62  external_deps = [
63    "c_utils:utils",
64    "hilog:libhilog",
65  ]
66}
67
68ohos_moduletest("ability_delegator_args_moduletest") {
69  module_out_path = module_output_path
70  sources = [ "ability_delegator_args_module_test.cpp" ]
71
72  configs = [ ":moduletest_include_dir" ]
73  configs += [ "${ability_runtime_services_path}/common:common_config" ]
74
75  deps = [
76    "${ability_runtime_native_path}/appkit:appkit_delegator",
77    "//third_party/googletest:gmock_main",
78    "//third_party/googletest:gtest_main",
79  ]
80
81  external_deps = [
82    "ability_base:want",
83    "hilog:libhilog",
84  ]
85}
86
87ohos_moduletest("delegator_thread_moduletest") {
88  module_out_path = module_output_path
89
90  sources = [ "delegator_thread_module_test.cpp" ]
91
92  configs = [ ":moduletest_include_dir" ]
93  configs += [ "${ability_runtime_services_path}/common:common_config" ]
94
95  deps = [
96    "${ability_runtime_native_path}/appkit:appkit_delegator",
97    "//third_party/googletest:gmock_main",
98    "//third_party/googletest:gtest_main",
99  ]
100
101  external_deps = [
102    "eventhandler:libeventhandler",
103    "hilog:libhilog",
104    "ipc:ipc_core",
105  ]
106}
107
108ohos_moduletest("ability_delegator_registry_moduletest") {
109  module_out_path = module_output_path
110
111  sources = [ "ability_delegator_registry_module_test.cpp" ]
112  sources += ability_delegator_mock_sources
113
114  configs = [ ":moduletest_include_dir" ]
115  configs += [ "${ability_runtime_services_path}/common:common_config" ]
116
117  deps = [
118    "${ability_runtime_innerkits_path}/app_manager:app_manager",
119    "${ability_runtime_native_path}/ability/native:abilitykit_native",
120    "${ability_runtime_native_path}/appkit:app_context",
121    "${ability_runtime_native_path}/appkit:appkit_delegator",
122    "${ability_runtime_native_path}/appkit:appkit_native",
123    "${ability_runtime_services_path}/abilitymgr:abilityms",
124    "//third_party/googletest:gmock_main",
125    "//third_party/googletest:gtest_main",
126  ]
127
128  external_deps = [
129    "ability_base:want",
130    "ability_runtime:ability_manager",
131    "ability_runtime:runtime",
132    "c_utils:utils",
133    "common_event_service:cesfwk_innerkits",
134    "eventhandler:libeventhandler",
135    "hilog:libhilog",
136    "init:libbegetutil",
137    "ipc:ipc_core",
138    "napi:ace_napi",
139  ]
140}
141
142ohos_moduletest("iability_monitor_moduletest") {
143  module_out_path = module_output_path
144
145  sources = [ "iability_monitor_module_test.cpp" ]
146  sources += ability_delegator_mock_sources
147
148  configs = [ ":moduletest_include_dir" ]
149  configs += [ "${ability_runtime_services_path}/common:common_config" ]
150
151  deps = [
152    "${ability_runtime_native_path}/ability/native:abilitykit_native",
153    "${ability_runtime_native_path}/appkit:appkit_delegator",
154    "${ability_runtime_services_path}/abilitymgr:abilityms",
155    "//third_party/googletest:gmock_main",
156    "//third_party/googletest:gtest_main",
157  ]
158
159  external_deps = [
160    "ability_base:session_info",
161    "ability_base:want",
162    "ability_runtime:ability_manager",
163    "c_utils:utils",
164    "eventhandler:libeventhandler",
165    "hilog:libhilog",
166    "ipc:ipc_core",
167    "napi:ace_napi",
168  ]
169}
170
171ohos_moduletest("ability_delegator_moduletest") {
172  module_out_path = module_output_path
173
174  sources = [ "ability_delegator_module_test.cpp" ]
175  sources += ability_delegator_mock_sources
176
177  configs = [ ":moduletest_include_dir" ]
178  configs += [ "${ability_runtime_services_path}/common:common_config" ]
179
180  deps = [
181    "${ability_runtime_innerkits_path}/app_manager:app_manager",
182    "${ability_runtime_native_path}/appkit:app_context",
183    "${ability_runtime_native_path}/appkit:appkit_delegator",
184    "${ability_runtime_native_path}/appkit:appkit_native",
185    "${ability_runtime_services_path}/abilitymgr:abilityms",
186    "//third_party/googletest:gmock_main",
187    "//third_party/googletest:gtest_main",
188  ]
189
190  external_deps = [
191    "ability_base:want",
192    "ability_runtime:ability_manager",
193    "c_utils:utils",
194    "common_event_service:cesfwk_innerkits",
195    "eventhandler:libeventhandler",
196    "hilog:libhilog",
197    "init:libbegetutil",
198    "ipc:ipc_core",
199  ]
200
201  if (ability_runtime_graphics) {
202    external_deps += [
203      "window_manager:libwsutils",
204      "window_manager:scene_session",
205    ]
206  }
207}
208
209ohos_moduletest("js_test_runner_moduletest") {
210  module_out_path = module_output_path
211
212  sources = [ "js_test_runner_module_test.cpp" ]
213  sources += ability_delegator_mock_sources
214
215  configs = [ ":moduletest_include_dir" ]
216  configs += [ "${ability_runtime_services_path}/common:common_config" ]
217
218  deps = [
219    "${ability_runtime_innerkits_path}/app_manager:app_manager",
220    "${ability_runtime_native_path}/ability/native:abilitykit_native",
221    "${ability_runtime_native_path}/appkit:app_context",
222    "${ability_runtime_native_path}/appkit:appkit_delegator",
223    "${ability_runtime_native_path}/appkit:appkit_native",
224    "${ability_runtime_services_path}/abilitymgr:abilityms",
225    "//third_party/googletest:gmock_main",
226    "//third_party/googletest:gtest_main",
227  ]
228
229  external_deps = [
230    "ability_base:configuration",
231    "ability_base:extractortool",
232    "ability_base:want",
233    "ability_runtime:ability_manager",
234    "ability_runtime:runtime",
235    "bundle_framework:appexecfwk_base",
236    "c_utils:utils",
237    "common_event_service:cesfwk_innerkits",
238    "ets_runtime:libark_jsruntime",
239    "eventhandler:libeventhandler",
240    "hilog:libhilog",
241    "init:libbegetutil",
242    "ipc:ipc_core",
243    "napi:ace_napi",
244  ]
245}
246
247###############################################################################
248
249group("moduletest") {
250  testonly = true
251  deps = []
252
253  deps += [
254    ":ability_delegator_args_moduletest",
255    ":ability_delegator_moduletest",
256    ":ability_delegator_registry_moduletest",
257    ":delegator_thread_moduletest",
258    ":iability_monitor_moduletest",
259    ":js_test_runner_moduletest",
260    ":shell_cmd_result_moduletest",
261  ]
262}
263###############################################################################
264