1# Copyright (c) 2024 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("../../../../device_status.gni")
16
17module_output_path = "${device_status_part_name}/unit_out"
18
19ohos_unittest("CooperateClientTest") {
20  sanitize = {
21    cfi = true
22    cfi_cross_dso = true
23    debug = false
24    blocklist = "./../../ipc_blocklist.txt"
25  }
26
27  branch_protector_ret = "pac_ret"
28
29  module_out_path = module_output_path
30  include_dirs = [
31    "${device_status_interfaces_path}/innerkits/interaction/include",
32    "${device_status_utils_path}",
33    "${device_status_utils_path}/include",
34    "${device_status_root_path}/intention/cooperate/client/include",
35    "${device_status_root_path}/test/unittest/intention/cooperate/include",
36    "${device_status_root_path}/intention/ipc/tunnel/include",
37  ]
38
39  sources = [
40    "${device_status_root_path}/intention/cooperate/client/src/cooperate_client.cpp",
41    "src/cooperate_client_test.cpp",
42    "src/cooperate_client_test_mock.cpp",
43  ]
44
45  cflags = [
46    "-Dprivate=public",
47    "-Dprotected=public",
48  ]
49
50  configs = []
51
52  deps = [
53    "${device_status_root_path}/intention/cooperate/data:intention_cooperate_data",
54    "${device_status_root_path}/intention/data:intention_data",
55    "${device_status_root_path}/intention/ipc/socket:intention_socket_connection",
56    "${device_status_root_path}/intention/prototype:intention_prototype",
57    "${device_status_root_path}/utils/common:devicestatus_util",
58    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
59  ]
60  external_deps = [
61    "access_token:libaccesstoken_sdk",
62    "access_token:libnativetoken_shared",
63    "access_token:libtokensetproc_shared",
64    "c_utils:utils",
65    "eventhandler:libeventhandler",
66    "googletest:gmock_main",
67    "googletest:gtest_main",
68    "hilog:libhilog",
69    "hitrace:hitrace_meter",
70    "image_framework:image_native",
71    "input:libmmi-client",
72    "ipc:ipc_single",
73    "samgr:samgr_proxy",
74  ]
75}
76
77ohos_unittest("CooperateServerTest") {
78  module_out_path = module_output_path
79
80  sanitize = {
81    integer_overflow = true
82    ubsan = true
83    boundary_sanitize = true
84    cfi = true
85    cfi_cross_dso = true
86    debug = false
87    blocklist = "./../../ipc_blocklist.txt"
88  }
89
90  branch_protector_ret = "pac_ret"
91
92  include_dirs = [
93    "include",
94    "${device_status_interfaces_path}/innerkits/interaction/include",
95    "${device_status_interfaces_path}/innerkits/include",
96    "${device_status_utils_path}",
97    "${device_status_utils_path}/include",
98    "${device_status_root_path}/intention/prototype/include",
99    "${device_status_root_path}/services/native/include",
100    "${device_status_root_path}/services/communication/service/include",
101    "${device_status_root_path}/services/communication/base/",
102  ]
103
104  defines = []
105
106  sources = [
107    "src/cooperate_server_test.cpp",
108    "src/test_context.cpp",
109  ]
110
111  configs = []
112
113  defines = device_status_default_defines
114
115  cflags = [ "-Dprivate=public" ]
116
117  deps = [
118    "${device_status_root_path}/intention/adapters/dsoftbus_adapter:intention_dsoftbus_adapter",
119    "${device_status_root_path}/intention/adapters/input_adapter:intention_input_adapter",
120    "${device_status_root_path}/intention/cooperate/data:intention_cooperate_data",
121    "${device_status_root_path}/intention/cooperate/server:intention_cooperate_server",
122    "${device_status_root_path}/intention/data:intention_data",
123    "${device_status_root_path}/intention/ipc/socket:intention_socket_session_manager",
124    "${device_status_root_path}/intention/prototype:intention_prototype",
125    "${device_status_root_path}/intention/scheduler/plugin_manager:intention_plugin_manager",
126    "${device_status_root_path}/intention/scheduler/timer_manager:intention_timer_manager",
127    "${device_status_root_path}/intention/services/device_manager:intention_device_manager",
128    "${device_status_root_path}/services/interaction/drag:interaction_drag",
129    "${device_status_root_path}/utils/common:devicestatus_util",
130    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
131  ]
132  external_deps = [
133    "ability_runtime:app_manager",
134    "access_token:libaccesstoken_sdk",
135    "access_token:libnativetoken_shared",
136    "access_token:libtokensetproc_shared",
137    "cJSON:cjson",
138    "c_utils:utils",
139    "eventhandler:libeventhandler",
140    "graphic_2d:libcomposer",
141    "graphic_2d:librender_service_base",
142    "graphic_2d:librender_service_client",
143    "graphic_2d:window_animation",
144    "hilog:libhilog",
145    "hitrace:hitrace_meter",
146    "image_framework:image_native",
147    "input:libmmi-client",
148    "ipc:ipc_single",
149    "samgr:samgr_proxy",
150    "window_manager:libdm",
151  ]
152}
153
154ohos_unittest("CooperatePluginTest") {
155  sanitize = {
156    integer_overflow = true
157    ubsan = true
158    boundary_sanitize = true
159    cfi = true
160    cfi_cross_dso = true
161    debug = false
162    blocklist = "./../../ipc_blocklist.txt"
163  }
164
165  branch_protector_ret = "pac_ret"
166  module_out_path = module_output_path
167  include_dirs = [
168    "include",
169    "${device_status_root_path}/intention/adapters/common_event_adapter/include",
170    "${device_status_root_path}/intention/services/device_manager/include",
171    "${device_status_root_path}/libs/interface",
172    "${device_status_service_path}/communication/service/include",
173  ]
174
175  defines = []
176
177  sources = [ "src/cooperate_plugin_test.cpp" ]
178
179  cflags = [
180    "-Dprivate=public",
181    "-Dprotected=public",
182  ]
183
184  deps = [
185    "${device_status_interfaces_path}/innerkits:devicestatus_client",
186    "${device_status_root_path}/intention/adapters/ddm_adapter:intention_ddm_adapter",
187    "${device_status_root_path}/intention/adapters/dsoftbus_adapter:intention_dsoftbus_adapter",
188    "${device_status_root_path}/intention/adapters/input_adapter:intention_input_adapter",
189    "${device_status_root_path}/intention/common/channel:intention_channel",
190    "${device_status_root_path}/intention/cooperate/plugin:intention_cooperate",
191    "${device_status_root_path}/intention/services/device_manager:intention_device_manager",
192    "${device_status_root_path}/services:devicestatus_static_service",
193    "${device_status_root_path}/utils/common:devicestatus_util",
194    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
195  ]
196  external_deps = [
197    "ability_base:want",
198    "ability_runtime:app_manager",
199    "access_token:libaccesstoken_sdk",
200    "cJSON:cjson",
201    "c_utils:utils",
202    "device_manager:devicemanagersdk",
203    "graphic_2d:libcomposer",
204    "graphic_2d:librender_service_base",
205    "graphic_2d:librender_service_client",
206    "graphic_2d:window_animation",
207    "hilog:libhilog",
208    "hisysevent:libhisysevent",
209    "image_framework:image_native",
210    "init:libbegetutil",
211    "input:libmmi-client",
212    "samgr:samgr_proxy",
213    "window_manager:libdm",
214    "window_manager:libwm",
215  ]
216}
217
218ohos_unittest("InputEventSerializationTest") {
219  sanitize = {
220    integer_overflow = true
221    ubsan = true
222    boundary_sanitize = true
223    cfi = true
224    cfi_cross_dso = true
225    debug = false
226  }
227  branch_protector_ret = "pac_ret"
228  module_out_path = module_output_path
229  include_dirs = [ "${device_status_root_path}/intention/cooperate/plugin/include/input_event_transmission" ]
230
231  defines = []
232
233  sources = [ "src/input_event_serialization_test.cpp" ]
234
235  cflags = [ "-Dprivate=public" ]
236
237  deps = [
238    "${device_status_interfaces_path}/innerkits:devicestatus_client",
239    "${device_status_root_path}/intention/adapters/ddm_adapter:intention_ddm_adapter",
240    "${device_status_root_path}/intention/common/channel:intention_channel",
241    "${device_status_root_path}/intention/cooperate/plugin:intention_cooperate",
242    "${device_status_root_path}/intention/prototype:intention_prototype",
243    "${device_status_root_path}/utils/common:devicestatus_util",
244    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
245  ]
246  external_deps = [
247    "ability_runtime:app_manager",
248    "access_token:libaccesstoken_sdk",
249    "access_token:libtokensetproc_shared",
250    "c_utils:utils",
251    "device_manager:devicemanagersdk",
252    "eventhandler:libeventhandler",
253    "graphic_2d:librender_service_client",
254    "hicollie:libhicollie",
255    "hilog:libhilog",
256    "image_framework:image_native",
257    "input:libmmi-client",
258    "ipc:ipc_single",
259    "samgr:samgr_proxy",
260    "window_manager:libdm",
261    "window_manager:libwmutil_base",
262  ]
263}
264
265ohos_unittest("InputEventBuilderTest") {
266  sanitize = {
267    cfi = true
268    cfi_cross_dso = true
269    debug = false
270    blocklist = "./../../ipc_blocklist.txt"
271  }
272
273  module_out_path = module_output_path
274  include_dirs = [
275    "${device_status_root_path}/intention/adapters/common_event_adapter/include",
276    "${device_status_root_path}/intention/cooperate/plugin/include/input_event_transmission",
277    "${device_status_root_path}/intention/cooperate/plugin/include",
278    "${device_status_root_path}/intention/adapters/ddm_adapter/include",
279    "${device_status_root_path}/intention/common/channel/include",
280    "${device_status_root_path}/test/unittest/intention/cooperate/include",
281    "${device_status_service_path}/delegate_task/include",
282    "${device_status_intention_path}/services/device_manager/include",
283    "${device_status_utils_path}/include",
284    "${device_status_service_path}/communication/service/include",
285    "${device_status_service_path}/interaction/drag/include",
286    "${device_status_root_path}/intention/common/epoll/include",
287    "${device_status_root_path}/libs/interface",
288  ]
289  sources = [ "src/input_event_builder_test.cpp" ]
290
291  cflags = [ "-Dprivate=public" ]
292
293  deps = [
294    "${device_status_interfaces_path}/innerkits:devicestatus_client",
295    "${device_status_root_path}/intention/adapters/dsoftbus_adapter:intention_dsoftbus_adapter",
296    "${device_status_root_path}/intention/adapters/input_adapter:intention_input_adapter",
297    "${device_status_root_path}/intention/cooperate/plugin:intention_cooperate",
298    "${device_status_root_path}/intention/ipc/socket:intention_socket_connection",
299    "${device_status_root_path}/intention/ipc/socket:intention_socket_session_manager",
300    "${device_status_root_path}/intention/ipc/tunnel:intention_tunnel_client",
301    "${device_status_root_path}/intention/prototype:intention_prototype",
302    "${device_status_root_path}/intention/scheduler/timer_manager:intention_timer_manager",
303    "${device_status_root_path}/intention/services/device_manager:intention_device_manager",
304    "${device_status_root_path}/intention/services/intention_service:intention_service",
305    "${device_status_root_path}/services:devicestatus_static_service",
306    "${device_status_root_path}/services/interaction/drag:interaction_drag",
307    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
308    "${device_status_utils_path}:devicestatus_util",
309  ]
310
311  external_deps = [
312    "ability_runtime:app_manager",
313    "access_token:libaccesstoken_sdk",
314    "cJSON:cjson",
315    "c_utils:utils",
316    "device_info_manager:distributed_device_profile_client",
317    "device_manager:devicemanagersdk",
318    "graphic_2d:libcomposer",
319    "graphic_2d:librender_service_base",
320    "graphic_2d:librender_service_client",
321    "graphic_2d:window_animation",
322    "hilog:libhilog",
323    "image_framework:image_native",
324    "input:libmmi-client",
325    "window_manager:libdm",
326    "window_manager:libwmutil_base",
327  ]
328}
329
330ohos_unittest("InputEventInterceptorTest") {
331  sanitize = {
332    cfi = true
333    cfi_cross_dso = true
334    debug = false
335    blocklist = "./../../ipc_blocklist.txt"
336  }
337
338  module_out_path = module_output_path
339  include_dirs = [
340    "${device_status_root_path}/intention/adapters/common_event_adapter/include",
341    "${device_status_root_path}/intention/cooperate/plugin/include/input_event_transmission",
342    "${device_status_root_path}/intention/cooperate/plugin/include",
343    "${device_status_root_path}/intention/adapters/ddm_adapter/include",
344    "${device_status_root_path}/intention/common/channel/include",
345    "${device_status_root_path}/test/unittest/intention/cooperate/include",
346    "${device_status_service_path}/delegate_task/include",
347    "${device_status_intention_path}/services/device_manager/include",
348    "${device_status_utils_path}/include",
349    "${device_status_service_path}/communication/service/include",
350    "${device_status_service_path}/interaction/drag/include",
351    "${device_status_root_path}/intention/common/epoll/include",
352    "${device_status_root_path}/libs/interface",
353  ]
354  sources = [ "src/input_event_interceptor_test.cpp" ]
355
356  cflags = [ "-Dprivate=public" ]
357
358  deps = [
359    "${device_status_interfaces_path}/innerkits:devicestatus_client",
360    "${device_status_root_path}/intention/adapters/dsoftbus_adapter:intention_dsoftbus_adapter",
361    "${device_status_root_path}/intention/adapters/input_adapter:intention_input_adapter",
362    "${device_status_root_path}/intention/cooperate/plugin:intention_cooperate",
363    "${device_status_root_path}/intention/ipc/socket:intention_socket_connection",
364    "${device_status_root_path}/intention/ipc/socket:intention_socket_session_manager",
365    "${device_status_root_path}/intention/ipc/tunnel:intention_tunnel_client",
366    "${device_status_root_path}/intention/prototype:intention_prototype",
367    "${device_status_root_path}/intention/scheduler/timer_manager:intention_timer_manager",
368    "${device_status_root_path}/intention/services/device_manager:intention_device_manager",
369    "${device_status_root_path}/intention/services/intention_service:intention_service",
370    "${device_status_root_path}/services:devicestatus_static_service",
371    "${device_status_root_path}/services/interaction/drag:interaction_drag",
372    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
373    "${device_status_utils_path}:devicestatus_util",
374  ]
375
376  external_deps = [
377    "ability_runtime:app_manager",
378    "access_token:libaccesstoken_sdk",
379    "cJSON:cjson",
380    "c_utils:utils",
381    "device_info_manager:distributed_device_profile_client",
382    "device_manager:devicemanagersdk",
383    "graphic_2d:libcomposer",
384    "graphic_2d:librender_service_base",
385    "graphic_2d:librender_service_client",
386    "graphic_2d:window_animation",
387    "hilog:libhilog",
388    "image_framework:image_native",
389    "input:libmmi-client",
390    "window_manager:libdm",
391    "window_manager:libwmutil_base",
392  ]
393}
394
395ohos_unittest("CooperateTest") {
396  sanitize = {
397    integer_overflow = true
398    ubsan = true
399    boundary_sanitize = true
400    cfi = true
401    cfi_cross_dso = true
402    debug = false
403  }
404
405  branch_protector_ret = "pac_ret"
406  module_out_path = module_output_path
407  include_dirs = [
408    "include",
409    "${device_status_root_path}/intention/adapters/common_event_adapter/include",
410    "${device_status_root_path}/libs/interface",
411    "${device_status_service_path}/communication/service/include",
412  ]
413
414  defines = []
415
416  sources = [ "src/cooperate_test.cpp" ]
417
418  cflags = [ "-Dprivate=public" ]
419
420  deps = [
421    "${device_status_interfaces_path}/innerkits:devicestatus_client",
422    "${device_status_root_path}/intention/adapters/ddm_adapter:intention_ddm_adapter",
423    "${device_status_root_path}/intention/adapters/dsoftbus_adapter:intention_dsoftbus_adapter",
424    "${device_status_root_path}/intention/adapters/input_adapter:intention_input_adapter",
425    "${device_status_root_path}/intention/common/channel:intention_channel",
426    "${device_status_root_path}/intention/cooperate/data:intention_cooperate_data",
427    "${device_status_root_path}/intention/cooperate/plugin:intention_cooperate",
428    "${device_status_root_path}/intention/scheduler/plugin_manager:intention_plugin_manager",
429    "${device_status_root_path}/services:devicestatus_static_service",
430    "${device_status_root_path}/utils/common:devicestatus_util",
431    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
432  ]
433  external_deps = [
434    "ability_base:want",
435    "ability_runtime:app_manager",
436    "access_token:libaccesstoken_sdk",
437    "cJSON:cjson",
438    "c_utils:utils",
439    "device_manager:devicemanagersdk",
440    "graphic_2d:libcomposer",
441    "graphic_2d:librender_service_base",
442    "graphic_2d:librender_service_client",
443    "graphic_2d:window_animation",
444    "hilog:libhilog",
445    "hisysevent:libhisysevent",
446    "image_framework:image_native",
447    "init:libbegetutil",
448    "input:libmmi-client",
449    "samgr:samgr_proxy",
450    "window_manager:libdm",
451    "window_manager:libwm",
452  ]
453}
454
455group("unittest") {
456  testonly = true
457  deps = [
458    ":CooperateClientTest",
459    ":CooperatePluginTest",
460    ":CooperateServerTest",
461    ":CooperateTest",
462    ":InputEventBuilderTest",
463    ":InputEventInterceptorTest",
464    ":InputEventSerializationTest",
465  ]
466}
467