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