1# Copyright (c) 2021-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/ohos.gni")
15import("//build/test.gni")
16import("//foundation/ability/ability_runtime/ability_runtime.gni")
17
18module_output_path = "ability_runtime/test"
19
20###############################################################################
21config("module_private_config") {
22  visibility = [ ":*" ]
23  cflags = []
24  if (target_cpu == "arm") {
25    cflags += [ "-DBINDER_IPC_32BIT" ]
26  }
27  include_dirs = [
28    "${ability_runtime_innerkits_path}/ability_manager/include",
29    "${distributedschedule_path}/samgr/interfaces/innerkits/samgr_proxy/include",
30    "${ability_runtime_services_path}/common/include",
31    "${ability_runtime_test_path}/mock/frameworks_kits_test/AMS",
32    "${ability_runtime_services_path}/common/include",
33    "${ability_runtime_test_path}/mock/frameworks_kits_ability_native_test/include",
34    "${ability_runtime_test_path}/mock/frameworks_kits_test/DemoAbility",
35    "${ability_runtime_services_path}/abilitymgr/include",
36    "//third_party/jsoncpp/include",
37    "${ability_runtime_innerkits_path}/dataobs_manager/include",
38  ]
39}
40
41ohos_moduletest("ability_moduletest") {
42  module_out_path = module_output_path
43  sources = [
44    "${ability_runtime_test_path}/mock/frameworks_kits_ability_native_test/include/mock_bundle_manager.cpp",
45    "${ability_runtime_test_path}/mock/frameworks_kits_ability_native_test/include/mock_overlay_manager.cpp",
46    "${ability_runtime_test_path}/mock/frameworks_kits_ability_native_test/include/sys_mgr_client_mock.cpp",
47    "${ability_runtime_test_path}/mock/frameworks_kits_test/AMS/mock_ability_manager_client.cpp",
48    "${ability_runtime_test_path}/mock/frameworks_kits_test/AMS/mock_ability_manager_service.cpp",
49    "${ability_runtime_test_path}/mock/frameworks_kits_test/DemoAbility/demo_ability_test.cpp",
50    "${ability_runtime_test_path}/mock/frameworks_kits_test/DemoAbility/mock_lifecycle_observer.cpp",
51    "ability_test.cpp",
52  ]
53
54  configs = [
55    ":module_private_config",
56    "${ability_runtime_native_path}/ability/native:ability_config",
57  ]
58
59  deps = [
60    "${ability_runtime_innerkits_path}/ability_manager:ability_manager",
61    "${ability_runtime_innerkits_path}/app_manager:app_manager",
62    "${ability_runtime_native_path}/ability/native:ability_thread",
63    "${ability_runtime_native_path}/ability/native:abilitykit_native",
64    "${ability_runtime_native_path}/appkit:appkit_native",
65    "${ability_runtime_services_path}/abilitymgr:abilityms",
66    "${distributedschedule_path}/samgr/interfaces/innerkits/samgr_proxy:samgr_proxy",
67    "${global_path}/resource_management/frameworks/resmgr:global_resmgr",
68    "//third_party/googletest:gmock_main",
69    "//third_party/googletest:gtest_main",
70    "//third_party/jsoncpp:jsoncpp",
71  ]
72
73  external_deps = [
74    "ability_base:base",
75    "ability_base:configuration",
76    "ability_base:session_info",
77    "ability_base:want",
78    "ability_base:zuri",
79    "bundle_framework:appexecfwk_base",
80    "bundle_framework:appexecfwk_core",
81    "c_utils:utils",
82    "hilog:libhilog",
83    "init:libbegetutil",
84    "ipc:ipc_core",
85    "json:nlohmann_json_static",
86    "napi:ace_napi",
87    "relational_store:native_appdatafwk",
88    "relational_store:native_dataability",
89    "relational_store:native_rdb",
90  ]
91
92  if (ability_runtime_graphics) {
93    deps += [ "${multimedia_path}/interfaces/innerkits:image_native" ]
94    external_deps += [
95      "input:libmmi-client",
96      "window_manager:libwsutils",
97    ]
98  }
99}
100
101ohos_moduletest("ability_conetxt_test") {
102  module_out_path = module_output_path
103  sources = [
104    "${ability_runtime_test_path}/mock/frameworks_kits_ability_native_test/include/mock_bundle_manager.cpp",
105    "${ability_runtime_test_path}/mock/frameworks_kits_ability_native_test/include/mock_overlay_manager.cpp",
106    "${ability_runtime_test_path}/mock/frameworks_kits_ability_native_test/include/sys_mgr_client_mock.cpp",
107    "${ability_runtime_test_path}/mock/frameworks_kits_test/AMS/mock_ability_manager_client.cpp",
108    "${ability_runtime_test_path}/mock/frameworks_kits_test/AMS/mock_serviceability_manager_service.cpp",
109    "${ability_runtime_test_path}/mock/frameworks_kits_test/DemoAbility/demo_ability_test.cpp",
110    "${ability_runtime_test_path}/mock/frameworks_kits_test/DemoAbility/mock_lifecycle_observer.cpp",
111    "ability_context_test.cpp",
112  ]
113
114  configs = [
115    ":module_private_config",
116    "${ability_runtime_native_path}/ability/native:ability_config",
117  ]
118
119  deps = [
120    "${ability_runtime_innerkits_path}/ability_manager:ability_manager",
121    "${ability_runtime_innerkits_path}/app_manager:app_manager",
122    "${ability_runtime_native_path}/ability/native:ability_thread",
123    "${ability_runtime_native_path}/ability/native:abilitykit_native",
124    "${ability_runtime_native_path}/appkit:appkit_native",
125    "${ability_runtime_services_path}/abilitymgr:abilityms",
126    "${distributedschedule_path}/samgr/interfaces/innerkits/samgr_proxy:samgr_proxy",
127    "${global_path}/resource_management/frameworks/resmgr:global_resmgr",
128    "//third_party/googletest:gmock_main",
129    "//third_party/googletest:gtest_main",
130    "//third_party/jsoncpp:jsoncpp",
131  ]
132
133  external_deps = [
134    "ability_base:base",
135    "ability_base:configuration",
136    "ability_base:session_info",
137    "ability_base:want",
138    "ability_base:zuri",
139    "bundle_framework:appexecfwk_base",
140    "bundle_framework:appexecfwk_core",
141    "c_utils:utils",
142    "hilog:libhilog",
143    "init:libbegetutil",
144    "ipc:ipc_core",
145    "json:nlohmann_json_static",
146    "napi:ace_napi",
147    "relational_store:native_appdatafwk",
148    "relational_store:native_dataability",
149    "relational_store:native_rdb",
150  ]
151  if (ability_runtime_graphics) {
152    external_deps += [
153      "input:libmmi-client",
154      "window_manager:libwsutils",
155    ]
156  }
157}
158
159ohos_moduletest("ability_thread_call_request_module_test") {
160  module_out_path = module_output_path
161  sources = [ "ability_thread_call_request_module_test.cpp" ]
162
163  configs = [ ":module_private_config" ]
164
165  deps = [
166    "${ability_runtime_innerkits_path}/ability_manager:ability_manager",
167    "${ability_runtime_native_path}/ability/native:ability_thread",
168    "${ability_runtime_native_path}/ability/native:abilitykit_native",
169    "${ability_runtime_native_path}/appkit:app_context",
170    "${distributedschedule_path}/samgr/interfaces/innerkits/samgr_proxy:samgr_proxy",
171    "//third_party/googletest:gtest_main",
172  ]
173
174  external_deps = [
175    "ability_base:configuration",
176    "ability_base:want",
177    "ability_base:zuri",
178    "ability_runtime:runtime",
179    "bundle_framework:appexecfwk_base",
180    "c_utils:utils",
181    "common_event_service:cesfwk_innerkits",
182    "eventhandler:libeventhandler",
183    "hilog:libhilog",
184    "json:nlohmann_json_static",
185    "napi:ace_napi",
186  ]
187}
188
189ohos_moduletest("data_ability_operation_moduletest") {
190  module_out_path = module_output_path
191  sources = [
192    "${ability_runtime_test_path}/mock/frameworks_kits_ability_native_test/include/mock_bundle_manager.cpp",
193    "${ability_runtime_test_path}/mock/frameworks_kits_ability_native_test/include/mock_overlay_manager.cpp",
194    "${ability_runtime_test_path}/mock/frameworks_kits_ability_native_test/include/sys_mgr_client_mock.cpp",
195    "${ability_runtime_test_path}/mock/frameworks_kits_test/AMS/mock_ability_manager_client.cpp",
196    "${ability_runtime_test_path}/mock/frameworks_kits_test/AMS/mock_ability_manager_service.cpp",
197    "${ability_runtime_test_path}/mock/frameworks_kits_test/DemoAbility/demo_ability_test.cpp",
198    "${ability_runtime_test_path}/mock/frameworks_kits_test/DemoAbility/mock_lifecycle_observer.cpp",
199    "data_ability_operation_module_test.cpp",
200  ]
201
202  configs = [
203    ":module_private_config",
204    "${ability_runtime_native_path}/ability/native:ability_config",
205  ]
206
207  deps = [
208    "${ability_runtime_innerkits_path}/ability_manager:ability_manager",
209    "${ability_runtime_innerkits_path}/app_manager:app_manager",
210    "${ability_runtime_native_path}/ability/native:abilitykit_native",
211    "${ability_runtime_services_path}/abilitymgr:abilityms",
212    "${distributedschedule_path}/samgr/interfaces/innerkits/samgr_proxy:samgr_proxy",
213    "${global_path}/resource_management/frameworks/resmgr:global_resmgr",
214    "//third_party/googletest:gmock_main",
215    "//third_party/googletest:gtest_main",
216    "//third_party/jsoncpp:jsoncpp",
217  ]
218
219  external_deps = [
220    "ability_base:base",
221    "ability_base:configuration",
222    "ability_base:session_info",
223    "ability_base:want",
224    "ability_base:zuri",
225    "bundle_framework:appexecfwk_base",
226    "bundle_framework:appexecfwk_core",
227    "c_utils:utils",
228    "hilog:libhilog",
229    "ipc:ipc_core",
230    "json:nlohmann_json_static",
231    "napi:ace_napi",
232    "relational_store:native_appdatafwk",
233    "relational_store:native_dataability",
234    "relational_store:native_rdb",
235  ]
236
237  if (ability_runtime_graphics) {
238    deps += [ "${multimedia_path}/interfaces/innerkits:image_native" ]
239    external_deps += [
240      "input:libmmi-client",
241      "window_manager:libwsutils",
242    ]
243  }
244}
245
246ohos_moduletest("data_ability_helper_module_test") {
247  module_out_path = module_output_path
248
249  include_dirs = [
250    "${ability_runtime_test_path}/mock/frameworks_kits_test/DemoAbility",
251    "${ability_runtime_test_path}/mock/frameworks_kits_test/DemoObServer",
252    "${ability_runtime_test_path}/mock/frameworks_kits_ability_native_test/include",
253    "${ability_runtime_services_path}/dataobsmgr/include",
254    "${ability_runtime_innerkits_path}/dataobs_manager/include",
255    "${distributedschedule_path}/samgr/services/samgr/native/include",
256  ]
257
258  sources = [ "data_ability_helper_module_test.cpp" ]
259
260  configs = [
261    ":module_private_config",
262    "${ability_runtime_native_path}/ability/native:ability_config",
263  ]
264
265  deps = [
266    "${ability_runtime_innerkits_path}/ability_manager:ability_manager",
267    "${ability_runtime_native_path}/ability/native:ability_thread",
268    "${ability_runtime_native_path}/ability/native:abilitykit_native",
269    "${ability_runtime_native_path}/ability/native:data_ability_helper",
270    "${ability_runtime_native_path}/appkit:appkit_native",
271    "${ability_runtime_services_path}/abilitymgr:abilityms",
272    "//third_party/googletest:gmock_main",
273    "//third_party/googletest:gtest_main",
274  ]
275
276  external_deps = [
277    "ability_base:base",
278    "ability_base:want",
279    "ability_base:zuri",
280    "bundle_framework:appexecfwk_base",
281    "c_utils:utils",
282    "common_event_service:cesfwk_innerkits",
283    "eventhandler:libeventhandler",
284    "hilog:libhilog",
285    "ipc:ipc_core",
286    "json:nlohmann_json_static",
287    "napi:ace_napi",
288    "relational_store:native_appdatafwk",
289    "relational_store:native_dataability",
290    "relational_store:native_rdb",
291  ]
292
293  if (ability_runtime_graphics) {
294    external_deps += [ "input:libmmi-client" ]
295  }
296}
297
298ohos_moduletest("ability_post_event_timeout_test") {
299  module_out_path = module_output_path
300
301  include_dirs = [
302    "${ability_runtime_test_path}/mock/frameworks_kits_test/DemoAbility",
303    "${ability_runtime_test_path}/mock/frameworks_kits_test/DemoObServer",
304    "${ability_runtime_test_path}/mock/frameworks_kits_ability_native_test/include",
305    "${ability_runtime_services_path}/dataobsmgr/include",
306    "${ability_runtime_innerkits_path}/dataobs_manager/include",
307    "${distributedschedule_path}/samgr/services/samgr/native/include",
308  ]
309
310  sources = [ "ability_post_event_timeout_test.cpp" ]
311
312  configs = [
313    ":module_private_config",
314    "${ability_runtime_native_path}/ability/native:ability_config",
315  ]
316
317  deps = [
318    "${ability_runtime_innerkits_path}/ability_manager:ability_manager",
319    "${ability_runtime_native_path}/ability/native:abilitykit_native",
320    "${ability_runtime_native_path}/ability/native:data_ability_helper",
321    "//third_party/googletest:gmock_main",
322    "//third_party/googletest:gtest_main",
323  ]
324
325  external_deps = [
326    "ability_base:base",
327    "ability_base:want",
328    "ability_base:zuri",
329    "bundle_framework:appexecfwk_base",
330    "c_utils:utils",
331    "eventhandler:libeventhandler",
332    "hilog:libhilog",
333    "ipc:ipc_core",
334    "json:nlohmann_json_static",
335    "napi:ace_napi",
336    "relational_store:native_appdatafwk",
337    "relational_store:native_dataability",
338    "relational_store:native_rdb",
339  ]
340
341  if (ability_runtime_graphics) {
342    external_deps += [ "input:libmmi-client" ]
343  }
344}
345
346################################################################################
347group("moduletest") {
348  testonly = true
349
350  deps = []
351
352  if (is_phone_product && !use_libfuzzer) {
353    deps += [
354      ":ability_conetxt_test",
355      ":ability_moduletest",
356      ":ability_post_event_timeout_test",
357      ":ability_thread_call_request_module_test",
358      ":data_ability_helper_module_test",
359      ":data_ability_operation_moduletest",
360    ]
361  }
362}
363