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 19config("module_private_config") { 20 visibility = [ ":*" ] 21 22 include_dirs = [ 23 "include", 24 "${device_status_root_path}/libs/interface", 25 "${device_status_root_path}/interfaces/innerkits/interaction/include", 26 "${device_status_service_path}/delegate_task/include", 27 "${device_status_service_path}/communication/service/include", 28 "${device_status_service_path}/interaction/drag/src/include", 29 "${device_status_service_path}/device_manager/include", 30 "${device_status_utils_path}/include", 31 "${device_status_service_path}/communication/base", 32 ] 33} 34 35ohos_unittest("IntentionServiceTest") { 36 sanitize = { 37 integer_overflow = true 38 ubsan = true 39 boundary_sanitize = true 40 cfi = true 41 cfi_cross_dso = true 42 debug = false 43 } 44 45 defines = device_status_default_defines 46 47 module_out_path = module_output_path 48 include_dirs = [ "${device_status_interfaces_path}/innerkits/include" ] 49 50 sources = [ "src/intention_service_test.cpp" ] 51 52 cflags = [ "-Dprivate=public" ] 53 54 configs = [ 55 "${device_status_service_path}/interaction/drag:interaction_drag_public_config", 56 ":module_private_config", 57 ] 58 59 deps = [ 60 "${device_status_root_path}/intention/data:intention_data", 61 "${device_status_root_path}/intention/drag/data:intention_drag_data", 62 "${device_status_root_path}/intention/drag/server:intention_drag_server", 63 "${device_status_root_path}/intention/prototype:intention_prototype", 64 "${device_status_root_path}/intention/scheduler/timer_manager:intention_timer_manager", 65 "${device_status_root_path}/intention/services/intention_service:intention_service", 66 "${device_status_root_path}/services:devicestatus_static_service", 67 "${device_status_root_path}/utils/common:devicestatus_util", 68 "${device_status_root_path}/utils/ipc:devicestatus_ipc", 69 ] 70 71 if (device_status_intention_framework) { 72 deps += [ 73 "${device_status_root_path}/intention/adapters/dsoftbus_adapter:intention_dsoftbus_adapter", 74 "${device_status_root_path}/intention/adapters/input_adapter:intention_input_adapter", 75 "${device_status_root_path}/intention/scheduler/plugin_manager:intention_plugin_manager", 76 ] 77 } 78 79 external_deps = [ 80 "ability_runtime:app_manager", 81 "access_token:libaccesstoken_sdk", 82 "cJSON:cjson", 83 "c_utils:utils", 84 "device_manager:devicemanagersdk", 85 "googletest:gtest_main", 86 "graphic_2d:libcomposer", 87 "graphic_2d:librender_service_base", 88 "graphic_2d:librender_service_client", 89 "graphic_2d:window_animation", 90 "hilog:libhilog", 91 "image_framework:image_native", 92 "input:libmmi-client", 93 "window_manager:libdm", 94 "window_manager:libwmutil_base", 95 ] 96} 97 98ohos_unittest("MonitorTest") { 99 module_out_path = module_output_path 100 101 include_dirs = [ 102 "${device_status_root_path}/intention/services/device_manager/include", 103 "${device_status_root_path}/libs/interface", 104 "${device_status_service_path}/communication/service/include", 105 ] 106 107 sources = [ "src/monitor_test.cpp" ] 108 109 cflags = [ 110 "-Dprivate=public", 111 "-Dprotected=public", 112 ] 113 114 deps = [ 115 "${device_status_interfaces_path}/innerkits:devicestatus_client", 116 "${device_status_root_path}/intention/prototype:intention_prototype", 117 "${device_status_root_path}/services:devicestatus_static_service", 118 "${device_status_root_path}/utils/ipc:devicestatus_ipc", 119 "${device_status_utils_path}:devicestatus_util", 120 ] 121 122 external_deps = [ 123 "access_token:libaccesstoken_sdk", 124 "c_utils:utils", 125 "graphic_2d:librender_service_client", 126 "hilog:libhilog", 127 "input:libmmi-client", 128 "window_manager:libdm", 129 ] 130} 131 132ohos_unittest("EnumeratorTest") { 133 sanitize = { 134 cfi = true 135 cfi_cross_dso = true 136 debug = false 137 blocklist = "./../../ipc_blocklist.txt" 138 } 139 140 module_out_path = module_output_path 141 142 include_dirs = [ 143 "${device_status_root_path}/intention/services/device_manager/include", 144 "${device_status_root_path}/libs/interface", 145 "${device_status_service_path}/communication/service/include", 146 ] 147 148 sources = [ "src/enumerator_test.cpp" ] 149 150 cflags = [ 151 "-Dprivate=public", 152 "-Dprotected=public", 153 ] 154 155 deps = [ 156 "${device_status_interfaces_path}/innerkits:devicestatus_client", 157 "${device_status_root_path}/intention/prototype:intention_prototype", 158 "${device_status_root_path}/services:devicestatus_static_service", 159 "${device_status_root_path}/utils/ipc:devicestatus_ipc", 160 "${device_status_utils_path}:devicestatus_util", 161 ] 162 163 external_deps = [ 164 "access_token:libaccesstoken_sdk", 165 "c_utils:utils", 166 "graphic_2d:librender_service_client", 167 "hilog:libhilog", 168 "input:libmmi-client", 169 "window_manager:libdm", 170 ] 171} 172 173ohos_unittest("DeviceTest") { 174 sanitize = { 175 cfi = true 176 cfi_cross_dso = true 177 debug = false 178 blocklist = "./../../ipc_blocklist.txt" 179 } 180 181 module_out_path = module_output_path 182 include_dirs = [ 183 "${device_status_root_path}/intention/services/device_manager/include", 184 "${device_status_root_path}/libs/interface", 185 "${device_status_service_path}/communication/service/include", 186 ] 187 sources = [ "src/device_test.cpp" ] 188 189 cflags = [ 190 "-Dprivate=public", 191 "-Dprotected=public", 192 ] 193 194 deps = [ 195 "${device_status_interfaces_path}/innerkits:devicestatus_client", 196 "${device_status_root_path}/intention/prototype:intention_prototype", 197 "${device_status_root_path}/services:devicestatus_static_service", 198 "${device_status_root_path}/utils/ipc:devicestatus_ipc", 199 "${device_status_utils_path}:devicestatus_util", 200 ] 201 202 external_deps = [ 203 "access_token:libaccesstoken_sdk", 204 "c_utils:utils", 205 "graphic_2d:librender_service_client", 206 "hilog:libhilog", 207 "input:libmmi-client", 208 "window_manager:libdm", 209 ] 210} 211 212ohos_unittest("IntentionDeviceManagerTest") { 213 sanitize = { 214 cfi = true 215 cfi_cross_dso = true 216 debug = false 217 blocklist = "./../../ipc_blocklist.txt" 218 } 219 220 module_out_path = module_output_path 221 222 include_dirs = [ 223 "include", 224 "${device_status_interfaces_path}/innerkits/interaction/include", 225 "${intention_root_path}/services/device_manager/include", 226 "${device_status_utils_path}", 227 "${device_status_utils_path}/include", 228 "${device_status_root_path}/services/native/include", 229 "${device_status_root_path}/services/delegate_task/include", 230 "${device_status_interfaces_path}/innerkits/include", 231 "${device_status_root_path}/libs/interface", 232 "${device_status_service_path}/communication/service/include", 233 "${device_status_service_path}/communication/base", 234 "${device_status_service_path}/interaction/drag/include", 235 "${intention_root_path}/scheduler/timer_manager/include", 236 ] 237 238 sources = [ "src/device_manager_test.cpp" ] 239 240 cflags = [ 241 "-Dprivate=public", 242 "-Dprotected=public", 243 ] 244 245 deps = [ 246 "${device_status_root_path}/intention/cooperate/plugin:intention_cooperate", 247 "${device_status_root_path}/intention/prototype:intention_prototype", 248 "${device_status_root_path}/intention/scheduler/timer_manager:intention_timer_manager", 249 "${device_status_root_path}/intention/services/device_manager:intention_device_manager", 250 "${device_status_root_path}/services:devicestatus_service", 251 "${device_status_root_path}/services:devicestatus_static_service", 252 "${device_status_root_path}/services/interaction/drag:interaction_drag", 253 "${device_status_root_path}/utils/common:devicestatus_util", 254 "${device_status_root_path}/utils/ipc:devicestatus_ipc", 255 ] 256 257 external_deps = [ 258 "ability_runtime:app_manager", 259 "access_token:libaccesstoken_sdk", 260 "cJSON:cjson", 261 "c_utils:utils", 262 "googletest:gtest_main", 263 "graphic_2d:librender_service_base", 264 "graphic_2d:librender_service_client", 265 "graphic_2d:window_animation", 266 "hilog:libhilog", 267 "hisysevent:libhisysevent", 268 "input:libmmi-client", 269 "ipc:ipc_single", 270 "window_manager:libdm", 271 "window_manager:libwm", 272 ] 273} 274 275group("unittest") { 276 testonly = true 277 deps = [] 278 if (device_status_intention_framework) { 279 deps += [ 280 ":DeviceTest", 281 ":EnumeratorTest", 282 ":IntentionDeviceManagerTest", 283 ":IntentionServiceTest", 284 ":MonitorTest", 285 ] 286 } 287} 288