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("MonitorTest") {
20  module_out_path = module_output_path
21
22  include_dirs = [
23    "${device_status_root_path}/intention/services/device_manager/include",
24    "${device_status_root_path}/libs/interface",
25    "${device_status_service_path}/communication/service/include",
26  ]
27
28  sources = [ "src/monitor_test.cpp" ]
29
30  cflags = [
31    "-Dprivate=public",
32    "-Dprotected=public",
33  ]
34
35  deps = [
36    "${device_status_interfaces_path}/innerkits:devicestatus_client",
37    "${device_status_root_path}/intention/prototype:intention_prototype",
38    "${device_status_root_path}/services:devicestatus_static_service",
39    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
40    "${device_status_utils_path}:devicestatus_util",
41  ]
42
43  external_deps = [
44    "access_token:libaccesstoken_sdk",
45    "c_utils:utils",
46    "graphic_2d:librender_service_client",
47    "hilog:libhilog",
48    "input:libmmi-client",
49    "ipc:ipc_core",
50    "preferences:native_preferences",
51  ]
52}
53
54ohos_unittest("EnumeratorTest") {
55  sanitize = {
56    cfi = true
57    cfi_cross_dso = true
58    debug = true
59    blocklist = "./ipc_blocklist.txt"
60  }
61
62  module_out_path = module_output_path
63
64  include_dirs = [
65    "${device_status_root_path}/intention/services/device_manager/include",
66    "${device_status_root_path}/libs/interface",
67    "${device_status_service_path}/communication/service/include",
68  ]
69
70  sources = [ "src/enumerator_test.cpp" ]
71
72  cflags = [
73    "-Dprivate=public",
74    "-Dprotected=public",
75  ]
76
77  deps = [
78    "${device_status_interfaces_path}/innerkits:devicestatus_client",
79    "${device_status_root_path}/intention/prototype:intention_prototype",
80    "${device_status_root_path}/services:devicestatus_static_service",
81    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
82    "${device_status_utils_path}:devicestatus_util",
83  ]
84
85  external_deps = [
86    "access_token:libaccesstoken_sdk",
87    "c_utils:utils",
88    "graphic_2d:librender_service_client",
89    "hilog:libhilog",
90    "input:libmmi-client",
91  ]
92}
93
94ohos_unittest("DeviceTest") {
95  sanitize = {
96    cfi = true
97    cfi_cross_dso = true
98    debug = false
99    blocklist = "./ipc_blocklist.txt"
100  }
101
102  module_out_path = module_output_path
103  include_dirs = [
104    "${device_status_root_path}/intention/services/device_manager/include",
105    "${device_status_root_path}/libs/interface",
106    "${device_status_service_path}/communication/service/include",
107  ]
108  sources = [ "src/device_test.cpp" ]
109
110  cflags = [
111    "-Dprivate=public",
112    "-Dprotected=public",
113  ]
114
115  deps = [
116    "${device_status_interfaces_path}/innerkits:devicestatus_client",
117    "${device_status_root_path}/intention/prototype:intention_prototype",
118    "${device_status_root_path}/services:devicestatus_static_service",
119    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
120    "${device_status_utils_path}:devicestatus_util",
121  ]
122
123  external_deps = [
124    "access_token:libaccesstoken_sdk",
125    "c_utils:utils",
126    "graphic_2d:librender_service_client",
127    "hilog:libhilog",
128    "input:libmmi-client",
129  ]
130}
131
132ohos_unittest("IntentionDeviceManagerTest") {
133  sanitize = {
134    cfi = true
135    cfi_cross_dso = true
136    debug = true
137    blocklist = "./ipc_blocklist.txt"
138  }
139
140  module_out_path = module_output_path
141
142  include_dirs = [
143    "include",
144    "${device_status_interfaces_path}/innerkits/interaction/include",
145    "${intention_root_path}/services/device_manager/include",
146    "${device_status_utils_path}",
147    "${device_status_utils_path}/include",
148    "${device_status_root_path}/services/native/include",
149    "${device_status_root_path}/services/delegate_task/include",
150    "${device_status_interfaces_path}/innerkits/include",
151    "${device_status_root_path}/libs/interface",
152    "${device_status_service_path}/communication/service/include",
153    "${device_status_service_path}/communication/base",
154    "${device_status_service_path}/interaction/drag/include",
155    "${intention_root_path}/scheduler/timer_manager/include",
156  ]
157
158  sources = [ "src/device_manager_test.cpp" ]
159
160  cflags = [
161    "-Dprivate=public",
162    "-Dprotected=public",
163  ]
164
165  deps = [
166    "${device_status_root_path}/intention/cooperate/plugin:intention_cooperate",
167    "${device_status_root_path}/intention/prototype:intention_prototype",
168    "${device_status_root_path}/intention/scheduler/timer_manager:intention_timer_manager",
169    "${device_status_root_path}/intention/services/device_manager:intention_device_manager",
170    "${device_status_root_path}/services:devicestatus_service",
171    "${device_status_root_path}/services:devicestatus_static_service",
172    "${device_status_root_path}/services/interaction/drag:interaction_drag",
173    "${device_status_root_path}/utils/common:devicestatus_util",
174    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
175    "//third_party/googletest:gtest_main",
176  ]
177
178  external_deps = [
179    "ability_runtime:app_manager",
180    "access_token:libaccesstoken_sdk",
181    "cJSON:cjson",
182    "c_utils:utils",
183    "graphic_2d:librender_service_base",
184    "graphic_2d:librender_service_client",
185    "graphic_2d:window_animation",
186    "hilog:libhilog",
187    "hisysevent:libhisysevent",
188    "input:libmmi-client",
189    "ipc:ipc_single",
190    "window_manager:libwm",
191  ]
192}
193
194group("unittest") {
195  testonly = true
196  deps = []
197
198  deps += [
199    ":DeviceTest",
200    ":EnumeratorTest",
201    ":IntentionDeviceManagerTest",
202    ":MonitorTest",
203  ]
204}
205