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/test.gni")
15import("../../../windowmanager_aafwk.gni")
16module_out_path = "window_manager/wm"
17
18group("unittest") {
19  testonly = true
20
21  deps = [
22    ":wm_gtx_input_event_sender_test",
23    ":wm_input_transfer_station_test",
24    ":wm_pattern_detach_callback_proxy_test",
25    ":wm_pattern_detach_callback_test",
26    ":wm_picture_in_picture_controller_test",
27    ":wm_picture_in_picture_manager_test",
28    ":wm_picture_in_picture_option_test",
29    ":wm_root_scene_test",
30    ":wm_screen_scene_test",
31    ":wm_vsync_station_test",
32    ":wm_window_adapter_lite_test",
33    ":wm_window_adapter_test",
34    ":wm_window_agent_test",
35    ":wm_window_display_change_adapter_test",
36    ":wm_window_effect_test",
37    ":wm_window_frame_trace_impl_test",
38    ":wm_window_impl_listener_test",
39    ":wm_window_impl_test",
40    ":wm_window_impl_test2",
41    ":wm_window_impl_test3",
42    ":wm_window_impl_test5",
43    ":wm_window_input_channel_test",
44    ":wm_window_manager_agent_proxy_test",
45    ":wm_window_manager_stub_proxy_test",
46    ":wm_window_manager_test",
47    ":wm_window_option_test",
48    ":wm_window_scene_effect_test",
49    ":wm_window_scene_session_impl_test",
50    ":wm_window_scene_session_impl_test2",
51    ":wm_window_scene_session_impl_test3",
52    ":wm_window_scene_session_impl_test4",
53    ":wm_window_scene_test",
54    ":wm_window_session_impl_test",
55    ":wm_window_session_impl_test2",
56    ":wm_window_session_impl_test3",
57    ":wm_window_session_impl_test4",
58    ":wm_window_stub_test",
59    ":wm_window_test",
60    "ui_extension:wm_extension_window_impl_test",
61    "ui_extension:wm_window_extension_session_impl_test",
62  ]
63  if (!window_manager_use_sceneboard) {
64    deps += [ ":wm_window_proxy_test" ]
65  }
66  if (window_manager_use_sceneboard) {
67    deps += [ ":wm_window_manager_lite_test" ]
68  }
69}
70
71ohos_unittest("wm_window_manager_test") {
72  module_out_path = module_out_path
73
74  include_dirs = [ "${window_base_path}/wm/src" ]
75  sources = [ "window_manager_test.cpp" ]
76
77  deps = [
78    ":wm_unittest_common",
79    "${window_base_path}/window_scene/interfaces/innerkits:libwsutils",
80  ]
81
82  external_deps = [
83    "c_utils:utils",
84    "ffrt:libffrt",
85    "hilog:libhilog",
86  ]
87}
88
89ohos_unittest("wm_window_display_change_adapter_test") {
90  module_out_path = module_out_path
91
92  include_dirs = [ "${window_base_path}/wm/src" ]
93  sources = [ "window_display_change_adapter_test.cpp" ]
94
95  deps = [
96    ":wm_unittest_common",
97    "${window_base_path}/window_scene/interfaces/innerkits:libwsutils",
98  ]
99
100  external_deps = [
101    "c_utils:utils",
102    "hilog:libhilog",
103  ]
104}
105
106ohos_unittest("wm_window_manager_lite_test") {
107  module_out_path = module_out_path
108
109  include_dirs = [ "${window_base_path}/wm/src" ]
110  sources = [ "window_manager_lite_test.cpp" ]
111  deps = [
112    ":wm_unittest_common",
113    "${window_base_path}/wm:libwm_lite",
114  ]
115  external_deps = [
116    "c_utils:utils",
117    "hilog:libhilog",
118  ]
119}
120
121ohos_unittest("wm_window_impl_test") {
122  module_out_path = module_out_path
123
124  sources = [ "window_impl_test.cpp" ]
125
126  deps = [ ":wm_unittest_common" ]
127
128  include_dirs =
129      [ "${accessibility_path}/interfaces/innerkits/common/include/" ]
130
131  external_deps = [
132    "accessibility:accessibility_common",
133    "c_utils:utils",
134    "common_event_service:cesfwk_innerkits",
135    "hilog:libhilog",
136  ]
137}
138
139ohos_unittest("wm_window_impl_test2") {
140  module_out_path = module_out_path
141
142  sources = [ "window_impl_test2.cpp" ]
143
144  deps = [ ":wm_unittest_common" ]
145
146  include_dirs =
147      [ "${accessibility_path}/interfaces/innerkits/common/include/" ]
148
149  external_deps = [
150    "accessibility:accessibility_common",
151    "c_utils:utils",
152    "common_event_service:cesfwk_innerkits",
153    "hilog:libhilog",
154  ]
155}
156
157ohos_unittest("wm_window_impl_test3") {
158  module_out_path = module_out_path
159
160  sources = [ "window_impl_test3.cpp" ]
161
162  deps = [ ":wm_unittest_common" ]
163
164  include_dirs =
165      [ "${accessibility_path}/interfaces/innerkits/common/include/" ]
166
167  external_deps = [
168    "accessibility:accessibility_common",
169    "c_utils:utils",
170    "common_event_service:cesfwk_innerkits",
171    "hilog:libhilog",
172  ]
173}
174
175ohos_unittest("wm_window_impl_test5") {
176  module_out_path = module_out_path
177
178  sources = [ "window_impl_test5.cpp" ]
179
180  deps = [ ":wm_unittest_common" ]
181
182  include_dirs =
183      [ "${accessibility_path}/interfaces/innerkits/common/include/" ]
184
185  external_deps = [
186    "accessibility:accessibility_common",
187    "c_utils:utils",
188    "common_event_service:cesfwk_innerkits",
189    "hilog:libhilog",
190  ]
191}
192
193ohos_unittest("wm_window_scene_effect_test") {
194  module_out_path = module_out_path
195
196  sources = [ "window_scene_effect_test.cpp" ]
197
198  deps = [ ":wm_unittest_common" ]
199
200  external_deps = [
201    "c_utils:utils",
202    "hilog:libhilog",
203  ]
204}
205
206ohos_unittest("wm_vsync_station_test") {
207  module_out_path = module_out_path
208
209  sources = [ "vsync_station_test.cpp" ]
210
211  deps = [ ":wm_unittest_common" ]
212
213  external_deps = [
214    "c_utils:utils",
215    "hilog:libhilog",
216  ]
217}
218
219ohos_unittest("wm_window_session_impl_test") {
220  module_out_path = module_out_path
221
222  sources = [ "window_session_impl_test.cpp" ]
223
224  deps = [ ":wm_unittest_common" ]
225
226  external_deps = [
227    "c_utils:utils",
228    "hilog:libhilog",
229    "init:libbegetutil",
230  ]
231}
232
233ohos_unittest("wm_window_session_impl_test2") {
234  module_out_path = module_out_path
235
236  sources = [ "window_session_impl_test2.cpp" ]
237
238  deps = [ ":wm_unittest_common" ]
239
240  external_deps = [
241    "c_utils:utils",
242    "hilog:libhilog",
243    "init:libbegetutil",
244  ]
245}
246
247ohos_unittest("wm_window_session_impl_test3") {
248  module_out_path = module_out_path
249
250  sources = [ "window_session_impl_test3.cpp" ]
251
252  deps = [
253    ":wm_unittest_common",
254    "${window_base_path}/window_scene/interfaces/innerkits:libwsutils",
255  ]
256
257  external_deps = [
258    "c_utils:utils",
259    "hilog:libhilog",
260    "init:libbegetutil",
261  ]
262}
263
264ohos_unittest("wm_window_session_impl_test4") {
265  module_out_path = module_out_path
266
267  sources = [ "window_session_impl_test4.cpp" ]
268
269  deps = [
270    ":wm_unittest_common",
271    "${window_base_path}/window_scene/interfaces/innerkits:libwsutils",
272  ]
273
274  external_deps = [
275    "c_utils:utils",
276    "hilog:libhilog",
277    "init:libbegetutil",
278  ]
279}
280
281ohos_unittest("wm_window_effect_test") {
282  module_out_path = module_out_path
283
284  sources = [ "window_effect_test.cpp" ]
285
286  deps = [ ":wm_unittest_common" ]
287
288  external_deps = [
289    "c_utils:utils",
290    "hilog:libhilog",
291  ]
292}
293
294ohos_unittest("wm_gtx_input_event_sender_test") {
295  module_out_path = module_out_path
296
297  sources = [ "gtx_input_event_sender_test.cpp" ]
298
299  deps = [ ":wm_unittest_common" ]
300
301  external_deps = [
302    "c_utils:utils",
303    "hilog:libhilog",
304  ]
305}
306
307ohos_unittest("wm_input_transfer_station_test") {
308  module_out_path = module_out_path
309
310  sources = [ "input_transfer_station_test.cpp" ]
311
312  deps = [ ":wm_unittest_common" ]
313
314  external_deps = [
315    "c_utils:utils",
316    "hilog:libhilog",
317  ]
318}
319
320ohos_unittest("wm_window_input_channel_test") {
321  module_out_path = module_out_path
322
323  sources = [ "window_input_channel_test.cpp" ]
324
325  deps = [ ":wm_unittest_common" ]
326
327  external_deps = [
328    "c_utils:utils",
329    "hilog:libhilog",
330  ]
331}
332
333ohos_unittest("wm_window_option_test") {
334  module_out_path = module_out_path
335
336  sources = [ "window_option_test.cpp" ]
337
338  deps = [ ":wm_unittest_common" ]
339
340  external_deps = [
341    "c_utils:utils",
342    "hilog:libhilog",
343  ]
344}
345
346ohos_unittest("wm_window_scene_test") {
347  module_out_path = module_out_path
348
349  sources = [ "window_scene_test.cpp" ]
350
351  deps = [ ":wm_unittest_common" ]
352
353  external_deps = [
354    "c_utils:utils",
355    "common_event_service:cesfwk_innerkits",
356    "hilog:libhilog",
357  ]
358}
359
360ohos_unittest("wm_window_test") {
361  module_out_path = module_out_path
362
363  sources = [ "window_test.cpp" ]
364
365  deps = [
366    ":wm_unittest_common",
367    "${window_base_path}/window_scene/interfaces/innerkits:libwsutils",
368  ]
369
370  external_deps = [
371    "c_utils:utils",
372    "common_event_service:cesfwk_innerkits",
373    "hilog:libhilog",
374  ]
375}
376
377ohos_unittest("wm_window_impl_listener_test") {
378  module_out_path = module_out_path
379
380  sources = [ "window_impl_listener_test.cpp" ]
381
382  deps = [ ":wm_unittest_common" ]
383
384  external_deps = [
385    "accessibility:accessibility_common",
386    "c_utils:utils",
387    "hilog:libhilog",
388  ]
389}
390
391ohos_unittest("wm_window_proxy_test") {
392  module_out_path = module_out_path
393
394  sources = [ "window_proxy_test.cpp" ]
395
396  deps = [ ":wm_unittest_common" ]
397
398  external_deps = [
399    "c_utils:utils",
400    "hilog:libhilog",
401  ]
402}
403
404ohos_unittest("wm_window_stub_test") {
405  module_out_path = module_out_path
406
407  sources = [ "window_stub_test.cpp" ]
408
409  deps = [ ":wm_unittest_common" ]
410
411  external_deps = [
412    "c_utils:utils",
413    "hilog:libhilog",
414  ]
415}
416
417ohos_unittest("wm_window_scene_session_impl_test") {
418  module_out_path = module_out_path
419
420  sources = [ "window_scene_session_impl_test.cpp" ]
421
422  deps = [ ":wm_unittest_common" ]
423
424  external_deps = [
425    "c_utils:utils",
426    "hilog:libhilog",
427    "init:libbegetutil",
428  ]
429}
430
431ohos_unittest("wm_window_scene_session_impl_test2") {
432  module_out_path = module_out_path
433
434  sources = [ "window_scene_session_impl_test2.cpp" ]
435
436  deps = [ ":wm_unittest_common" ]
437
438  external_deps = [
439    "c_utils:utils",
440    "hilog:libhilog",
441    "init:libbegetutil",
442  ]
443}
444
445ohos_unittest("wm_window_scene_session_impl_test3") {
446  module_out_path = module_out_path
447
448  sources = [ "window_scene_session_impl_test3.cpp" ]
449
450  deps = [ ":wm_unittest_common" ]
451
452  external_deps = [
453    "c_utils:utils",
454    "hilog:libhilog",
455    "init:libbegetutil",
456  ]
457}
458
459ohos_unittest("wm_window_scene_session_impl_test4") {
460  module_out_path = module_out_path
461  include_dirs = [ "${window_base_path}/test/common/utils/include/" ]
462  sanitize = {
463    cfi = true
464    cfi_cross_dso = true
465    cfi_vcall_icall_only = true
466    debug = false
467  }
468  sources = [ "window_scene_session_impl_test4.cpp" ]
469
470  deps = [
471    ":wm_unittest_common",
472    "${window_base_path}/test/common/utils:libtestutil",
473  ]
474
475  external_deps = [
476    "c_utils:utils",
477    "hilog:libhilog",
478    "init:libbegetutil",
479  ]
480}
481
482ohos_unittest("wm_window_manager_stub_proxy_test") {
483  module_out_path = module_out_path
484
485  sources = [ "window_manager_agent_stub_test.cpp" ]
486
487  deps = [ ":wm_unittest_common" ]
488
489  external_deps = [
490    "c_utils:utils",
491    "hilog:libhilog",
492  ]
493}
494
495ohos_unittest("wm_window_frame_trace_impl_test") {
496  module_out_path = module_out_path
497  defines = [ "FRAME_TRACE_ENABLE" ]
498  sources = [ "window_frame_trace_impl_test.cpp" ]
499
500  deps = [ ":wm_unittest_common" ]
501
502  external_deps = [
503    "c_utils:utils",
504    "hilog:libhilog",
505  ]
506}
507
508ohos_unittest("wm_window_agent_test") {
509  module_out_path = module_out_path
510  defines = [ "FRAME_TRACE_ENABLE" ]
511  sources = [ "window_agent_test.cpp" ]
512
513  deps = [ ":wm_unittest_common" ]
514
515  external_deps = [
516    "c_utils:utils",
517    "hilog:libhilog",
518  ]
519}
520
521ohos_unittest("wm_root_scene_test") {
522  module_out_path = module_out_path
523
524  sources = [ "root_scene_test.cpp" ]
525
526  deps = [ ":wm_unittest_common" ]
527
528  external_deps = [
529    "c_utils:utils",
530    "hilog:libhilog",
531  ]
532}
533
534ohos_unittest("wm_screen_scene_test") {
535  module_out_path = module_out_path
536
537  sources = [ "screen_scene_test.cpp" ]
538
539  deps = [ ":wm_unittest_common" ]
540
541  external_deps = [
542    "c_utils:utils",
543    "hilog:libhilog",
544  ]
545}
546
547ohos_unittest("wm_picture_in_picture_controller_test") {
548  module_out_path = module_out_path
549
550  sources = [ "picture_in_picture_controller_test.cpp" ]
551
552  deps = [ ":wm_unittest_common" ]
553
554  external_deps = [
555    "ability_base:zuri",
556    "ace_engine:ace_xcomponent_controller",
557    "c_utils:utils",
558    "data_share:datashare_common",
559    "data_share:datashare_consumer",
560    "hilog:libhilog",
561  ]
562}
563
564ohos_unittest("wm_picture_in_picture_manager_test") {
565  module_out_path = module_out_path
566
567  sources = [ "picture_in_picture_manager_test.cpp" ]
568
569  deps = [
570    ":wm_unittest_common",
571    "${window_base_path}/window_scene/interfaces/innerkits:libwsutils",
572  ]
573
574  external_deps = [
575    "ace_engine:ace_xcomponent_controller",
576    "c_utils:utils",
577    "hilog:libhilog",
578  ]
579}
580
581ohos_unittest("wm_picture_in_picture_option_test") {
582  module_out_path = module_out_path
583
584  sources = [ "picture_in_picture_option_test.cpp" ]
585
586  deps = [ ":wm_unittest_common" ]
587
588  external_deps = [
589    "ace_engine:ace_xcomponent_controller",
590    "c_utils:utils",
591    "hilog:libhilog",
592  ]
593}
594
595ohos_unittest("wm_window_manager_agent_proxy_test") {
596  module_out_path = module_out_path
597
598  sources = [ "window_manager_agent_proxy_test.cpp" ]
599
600  deps = [ ":wm_unittest_common" ]
601
602  external_deps = [ "c_utils:utils" ]
603}
604
605ohos_unittest("wm_window_adapter_test") {
606  module_out_path = module_out_path
607
608  sources = [ "window_adapter_test.cpp" ]
609
610  deps = [
611    ":wm_unittest_common",
612    "${window_base_path}/window_scene/interfaces/innerkits:libwsutils",
613  ]
614
615  external_deps = [ "c_utils:utils" ]
616}
617
618ohos_unittest("wm_pattern_detach_callback_test") {
619  module_out_path = module_out_path
620
621  sources = [ "pattern_detach_callback_test.cpp" ]
622
623  deps = [ ":wm_unittest_common" ]
624
625  external_deps = [ "c_utils:utils" ]
626}
627
628ohos_unittest("wm_pattern_detach_callback_proxy_test") {
629  module_out_path = module_out_path
630
631  sources = [ "pattern_detach_callback_proxy_test.cpp" ]
632
633  deps = [ ":wm_unittest_common" ]
634
635  external_deps = [ "c_utils:utils" ]
636}
637
638ohos_unittest("wm_window_adapter_lite_test") {
639  module_out_path = module_out_path
640
641  sources = [ "window_adapter_lite_test.cpp" ]
642
643  deps = [ ":wm_unittest_common" ]
644
645  external_deps = [
646    "c_utils:utils",
647    "hilog:libhilog",
648  ]
649}
650
651ohos_unittest("ws_window_prepare_terminate_test") {
652  module_out_path = module_out_path
653
654  sources = [ "window_prepare_terminate_test.cpp" ]
655
656  deps = [ ":wm_unittest_common" ]
657
658  external_deps = [
659    "c_utils:utils",
660    "hilog:libhilog",
661  ]
662}
663
664## Build wm_unittest_common.a {{{
665config("wm_unittest_common_public_config") {
666  include_dirs = [
667    "${window_base_path}/test/common/mock",
668    "${window_base_path}/dm/include",
669    "${window_base_path}/dmserver/include",
670    "${window_base_path}/wm/include",
671    "${window_base_path}/wm/include/zidl",
672    "${window_base_path}/wm/test/mock",
673    "${window_base_path}/wmserver/include",
674    "${window_base_path}/wmserver/include/window_snapshot",
675    "${window_base_path}/interfaces/innerkits/wm",
676    "${window_base_path}/utils/include",
677    "${window_base_path}/window_scene",
678    "${window_base_path}/window_scene/test/mock",
679    "${window_base_path}/window_scene/session/host/include/zidl",
680    "//commonlibrary/c_utils/base/include",
681    "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include",
682    "//base/hiviewdfx/hilog/interfaces/native/innerkits/include",
683    "//third_party/googletest/googlemock/include",
684
685    # for abilityContext
686    "${ability_runtime_path}/interfaces/kits/native/ability/ability_runtime",
687    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context",
688    "//base/global/resource_management/interfaces/inner_api/include",
689    "//third_party/node/deps/icu-small/source/common",
690    "${ability_runtime_inner_api_path}/ability_manager/include",
691    "//foundation/ability/ability_base/interfaces/kits/native/configuration/include/",
692
693    # abilityContext end
694    "${accessibility_path}/interfaces/innerkits/common/include/",
695  ]
696}
697
698ohos_static_library("wm_unittest_common") {
699  visibility = [
700    ":*",
701    "ui_extension:*",
702  ]
703
704  testonly = true
705
706  public_configs = [
707    ":wm_unittest_common_public_config",
708    "${window_base_path}/resources/config/build:coverage_flags",
709    "${window_base_path}/resources/config/build:testcase_flags",
710  ]
711
712  public_deps = [
713    # need delete it for abilitycontext
714    "${ability_runtime_inner_api_path}/ability_manager:ability_manager",
715    "${window_base_path}/dm:libdm",
716    "${window_base_path}/dmserver:libdms",
717    "${window_base_path}/utils:libwmutil",
718    "${window_base_path}/utils:libwmutil_base",
719    "${window_base_path}/window_scene/common:window_scene_common",
720    "${window_base_path}/window_scene/session:scene_session",
721    "${window_base_path}/window_scene/session_manager:scene_session_manager",
722    "${window_base_path}/wm:libwm",
723    "${window_base_path}/wm:libwm_lite",
724    "${window_base_path}/wmserver:libwms",
725    "//commonlibrary/c_utils/base:utils",
726    "//foundation/arkui/ace_engine/interfaces/inner_api/ace:ace_uicontent",
727    "//foundation/arkui/napi:ace_napi",
728    "//foundation/graphic/graphic_2d/rosen/modules/animation/window_animation:window_animation",
729    "//foundation/graphic/graphic_2d/rosen/modules/render_service_client:librender_service_client",
730    "//foundation/multimodalinput/input/frameworks/proxy:libmmi-client",
731    "//foundation/systemabilitymgr/safwk/interfaces/innerkits/safwk:system_ability_fwk",
732    "//third_party/googletest:gmock",
733    "//third_party/googletest:gtest_main",
734  ]
735
736  external_deps = [
737    "ability_base:configuration",
738    "ability_base:want",
739    "ability_runtime:ability_context_native",
740    "accessibility:accessibility_common",
741    "bundle_framework:appexecfwk_base",
742    "image_framework:image_native",
743    "ipc:ipc_single",
744    "power_manager:powermgr_client",
745  ]
746
747  part_name = "window_manager"
748  subsystem_name = "window"
749}
750## Build wm_unittest_common.a }}}
751