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("../../../windowmanager_aafwk.gni")
16
17module_out_path = "window_manager/dmserver"
18
19group("unittest") {
20  testonly = true
21
22  deps = [
23    ":dmserver_abstract_display_controller_test",
24    ":dmserver_abstract_display_test",
25    ":dmserver_abstract_screen_controller_test",
26    ":dmserver_abstract_screen_test",
27    ":dmserver_display_cutout_controller_test",
28    ":dmserver_display_dumper_test",
29    ":dmserver_display_manager_agent_controller_test",
30    ":dmserver_display_manager_config_test",
31    ":dmserver_display_manager_proxy_test",
32    ":dmserver_display_manager_service_inner_test",
33    ":dmserver_display_manager_service_test",
34    ":dmserver_display_power_controller_test",
35    ":dmserver_screen_rotation_controller_test",
36  ]
37}
38
39ohos_unittest("dmserver_abstract_screen_controller_test") {
40  module_out_path = module_out_path
41
42  sources = [ "abstract_screen_controller_test.cpp" ]
43
44  deps = [ ":dmserver_unittest_common" ]
45
46  external_deps = [
47    "c_utils:utils",
48    "hilog:libhilog",
49  ]
50}
51
52ohos_unittest("dmserver_display_manager_agent_controller_test") {
53  module_out_path = module_out_path
54
55  sources = [ "display_manager_agent_controller_test.cpp" ]
56
57  deps = [ ":dmserver_unittest_common" ]
58
59  external_deps = [
60    "c_utils:utils",
61    "hilog:libhilog",
62  ]
63
64  cflags = [
65    "-Dprivate = public",
66    "-Dprotected = public",
67  ]
68}
69
70ohos_unittest("dmserver_abstract_display_test") {
71  module_out_path = module_out_path
72
73  sources = [ "abstract_display_test.cpp" ]
74
75  deps = [ ":dmserver_unittest_common" ]
76
77  external_deps = [
78    "c_utils:utils",
79    "hilog:libhilog",
80  ]
81}
82
83ohos_unittest("dmserver_display_manager_service_inner_test") {
84  module_out_path = module_out_path
85
86  sources = [ "display_manager_service_inner_test.cpp" ]
87
88  deps = [ ":dmserver_unittest_common" ]
89
90  external_deps = [
91    "c_utils:utils",
92    "hilog:libhilog",
93  ]
94}
95
96ohos_unittest("dmserver_display_manager_service_test") {
97  module_out_path = module_out_path
98
99  sources = [ "display_manager_service_test.cpp" ]
100
101  deps = [ ":dmserver_unittest_common" ]
102
103  external_deps = [
104    "c_utils:utils",
105    "hilog:libhilog",
106  ]
107}
108
109ohos_unittest("dmserver_display_manager_proxy_test") {
110  module_out_path = module_out_path
111
112  sources = [ "display_manager_proxy_test.cpp" ]
113
114  deps = [ ":dmserver_unittest_common" ]
115
116  external_deps = [
117    "c_utils:utils",
118    "graphic_surface:surface",
119    "hilog:libhilog",
120  ]
121
122  cflags = [
123    "-Dprivate = public",
124    "-Dprotected = public",
125  ]
126}
127
128ohos_unittest("dmserver_screen_rotation_controller_test") {
129  module_out_path = module_out_path
130
131  sources = [ "screen_rotation_controller_test.cpp" ]
132
133  deps = [ ":dmserver_unittest_common" ]
134
135  external_deps = [
136    "c_utils:utils",
137    "hilog:libhilog",
138  ]
139
140  if (window_manager_feature_subscribe_motion) {
141    if (defined(global_parts_info) && defined(global_parts_info.msdp_motion)) {
142      external_deps += [ "motion:motion_interface_native" ]
143      defines = [ "WM_SUBSCRIBE_MOTION_ENABLE" ]
144    }
145  }
146}
147
148ohos_unittest("dmserver_display_dumper_test") {
149  module_out_path = module_out_path
150
151  sources = [ "display_dumper_test.cpp" ]
152
153  deps = [ ":dmserver_unittest_common" ]
154
155  external_deps = [
156    "c_utils:utils",
157    "hilog:libhilog",
158  ]
159}
160
161ohos_unittest("dmserver_display_cutout_controller_test") {
162  module_out_path = module_out_path
163
164  sources = [ "display_cutout_controller_test.cpp" ]
165
166  deps = [ ":dmserver_unittest_common" ]
167
168  external_deps = [
169    "c_utils:utils",
170    "hilog:libhilog",
171  ]
172}
173
174ohos_unittest("dmserver_display_power_controller_test") {
175  module_out_path = module_out_path
176
177  sources = [ "display_power_controller_test.cpp" ]
178
179  deps = [ ":dmserver_unittest_common" ]
180
181  external_deps = [
182    "c_utils:utils",
183    "hilog:libhilog",
184  ]
185}
186
187ohos_unittest("dmserver_abstract_screen_test") {
188  module_out_path = module_out_path
189
190  sources = [ "abstract_screen_test.cpp" ]
191
192  deps = [ ":dmserver_unittest_common" ]
193
194  external_deps = [
195    "c_utils:utils",
196    "hilog:libhilog",
197  ]
198
199  cflags = [
200    "-Dprivate = public",
201    "-Dprotected = public",
202  ]
203}
204
205ohos_unittest("dmserver_abstract_display_controller_test") {
206  module_out_path = module_out_path
207
208  sources = [ "abstract_display_controller_test.cpp" ]
209
210  deps = [ ":dmserver_unittest_common" ]
211
212  external_deps = [
213    "c_utils:utils",
214    "hilog:libhilog",
215  ]
216}
217
218ohos_unittest("dmserver_display_manager_config_test") {
219  module_out_path = module_out_path
220  include_dirs = [ "../../src" ]
221
222  sources = [ "display_manager_config_test.cpp" ]
223
224  deps = [
225    ":dmserver_unittest_common",
226    "//third_party/libxml2:libxml2",
227  ]
228
229  external_deps = [
230    "c_utils:utils",
231    "config_policy:configpolicy_util",
232    "hilog:libhilog",
233  ]
234}
235
236## Build dmserver_unittest_common.a {{{
237config("dmserver_unittest_common_public_config") {
238  include_dirs = [
239    "../../../dm/include",
240    "../../include",
241    "../../../snapshot",
242    "../../../interfaces/innerkits/dm",
243    "../../../test/common/mock",
244    "../../../test/common/utils/include",
245    "../../../utils/include",
246    "//foundation/graphic/graphic_2d/rosen/modules/render_service_client",  # RSSurface
247  ]
248}
249
250ohos_static_library("dmserver_unittest_common") {
251  visibility = [ ":*" ]
252  testonly = true
253
254  public_configs = [
255    ":dmserver_unittest_common_public_config",
256    "../../../resources/config/build:coverage_flags",
257    "../../../resources/config/build:testcase_flags",
258  ]
259
260  public_deps = [
261    "${window_base_path}/dm:libdm",
262    "${window_base_path}/utils:libwmutil",
263    "${window_base_path}/utils:libwmutil_base",
264    "${window_base_path}/window_scene/interfaces/innerkits:libwsutils",
265    "${window_base_path}/wm:libwm",
266    "../..:libdms",
267    "../../../snapshot:snapshot_display",
268    "../../../test/common/utils:libtestutil",
269    "//commonlibrary/c_utils/base:utils",
270    "//foundation/graphic/graphic_2d/rosen/modules/render_service_client:librender_service_client",
271    "//foundation/multimedia/image_framework/interfaces/innerkits:image_native",  # PixelMap
272    "//foundation/multimodalinput/input/frameworks/proxy:libmmi-client",
273    "//third_party/googletest:gmock",
274    "//third_party/googletest:gtest_main",
275    "//third_party/libjpeg-turbo:turbojpeg_static",  # jpeg
276  ]
277
278  external_deps = [
279    "access_token:libaccesstoken_sdk",
280    "access_token:libnativetoken",
281    "access_token:libtoken_setproc",
282    "hilog:libhilog",
283    "ipc:ipc_single",
284  ]
285  defines = []
286  if (defined(global_parts_info) && defined(global_parts_info.sensors_sensor)) {
287    external_deps += [ "sensor:sensor_interface_native" ]
288    defines += [ "SENSOR_ENABLE" ]
289  }
290
291  subsystem_name = "window"
292  part_name = "window_manager"
293}
294## Build dmserver_unittest_common.a }}}
295