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