1# Copyright (c) 2021 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("../../../hidumper.gni") 16 17module_output_path = "hidumper/hidumper" 18 19source_path = "${hidumper_frameworks_path}" 20 21############################################################################### 22config("module_private_config") { 23 visibility = [ ":*" ] 24 25 include_dirs = [ 26 ".", 27 "../../", 28 "${hidumper_interface}/innerkits/include/", 29 "${hidumper_interface}/native/innerkits/include/", 30 "../../../utils/native/include/", 31 "../../../services/zidl/include", 32 "../../../services/native/include", 33 "${source_path}/include", 34 "${source_path}/", 35 "${source_path}/manager", 36 "${source_path}/dumpers", 37 "include", 38 "${hidumper_frameworks_path}", 39 "${hidumper_frameworks_path}/include", 40 "${hidumper_frameworks_path}/include/common", 41 "${hidumper_frameworks_path}/include/executor", 42 "${hidumper_frameworks_path}/include/factory", 43 "${hidumper_service_path}:interface_include", 44 "${hidumper_service_path}/zidl/include", 45 "${hidumper_service_path}/native/include", 46 ] 47 48 cflags_cc = [ "-DDUMP_TEST_MODE" ] 49} 50 51##############################unittest########################################## 52ohos_unittest("HidumperServiceTest") { 53 module_out_path = module_output_path 54 55 sources = [ 56 "${hidumper_frameworks_path}/src/executor/memory/memory_util.cpp", 57 "hidumper_service_test.cpp", 58 ] 59 60 configs = [ 61 "${hidumper_utils_path}:utils_config", 62 ":module_private_config", 63 ] 64 65 deps = [ "${hidumper_service_path}:hidumperservice_source" ] 66 67 external_deps = [ 68 "c_utils:utils", 69 "eventhandler:libeventhandler", 70 "hilog:libhilog", 71 "ipc:ipc_core", 72 "safwk:system_ability_fwk", 73 "samgr:samgr_proxy", 74 ] 75 76 cflags = [ 77 "-Dprivate=public", #allow test code access private members 78 ] 79} 80 81ohos_unittest("HidumperDumpersTest") { 82 module_out_path = module_output_path 83 84 sources = [ "hidumper_dumpers_test.cpp" ] 85 86 configs = [ 87 "${hidumper_utils_path}:utils_config", 88 ":module_private_config", 89 ] 90 91 deps = [ "${hidumper_service_path}:hidumperservice_source" ] 92 93 defines = [] 94 if (hidumper_hiviewdfx_hiview_enable) { 95 deps += [ "${hidumper_service_path}:hidumperservice_cpu_source_test" ] 96 defines += [ "HIDUMPER_HIVIEWDFX_HIVIEW_ENABLE" ] 97 } 98 99 external_deps = [ 100 "c_utils:utils", 101 "hilog:libhilog", 102 "ipc:ipc_core", 103 "samgr:samgr_proxy", 104 ] 105 106 defines = [] 107 if (hidumper_ability_runtime_enable) { 108 external_deps += [ "ability_runtime:app_manager" ] 109 defines += [ "HIDUMPER_ABILITY_RUNTIME_ENABLE" ] 110 } 111} 112 113ohos_unittest("HidumperOutputTest") { 114 module_out_path = module_output_path 115 116 sources = [ "hidumper_output_test.cpp" ] 117 118 configs = [ 119 "${hidumper_utils_path}:utils_config", 120 ":module_private_config", 121 ] 122 123 deps = [ "${hidumper_service_path}:hidumperservice_source" ] 124 125 external_deps = [ 126 "c_utils:utils", 127 "hilog:libhilog", 128 "ipc:ipc_core", 129 "zlib:shared_libz", 130 ] 131} 132 133ohos_unittest("HidumperConfigUtilsTest") { 134 module_out_path = module_output_path 135 136 sources = [ "hidumper_configutils_test.cpp" ] 137 138 configs = [ 139 "${hidumper_utils_path}:utils_config", 140 ":module_private_config", 141 ] 142 143 deps = [ "${hidumper_service_path}:hidumperservice_source" ] 144 145 external_deps = [ 146 "c_utils:utils", 147 "hilog:libhilog", 148 "init:libbegetutil", 149 "ipc:ipc_core", 150 "safwk:system_ability_fwk", 151 "samgr:samgr_proxy", 152 "zlib:shared_libz", 153 ] 154} 155 156ohos_unittest("MemoryDumperTest") { 157 module_out_path = module_output_path 158 159 sources = [ 160 "${hidumper_frameworks_path}/src/executor/memory/memory_util.cpp", 161 "hidumper_test_utils.cpp", 162 "memory_dumper_test.cpp", 163 ] 164 165 configs = [ ":module_private_config" ] 166 167 deps = [ "${hidumper_service_path}:hidumperservice_source" ] 168 169 external_deps = [ 170 "c_utils:utils", 171 "drivers_interface_memorytracker:libmemorytracker_proxy_1.0", 172 "hdf_core:libhdf_utils", 173 "hilog:libhilog", 174 "ipc:ipc_core", 175 "safwk:system_ability_fwk", 176 ] 177 cflags = [ 178 "-Dprivate=public", #allow test code access private members 179 ] 180} 181 182ohos_unittest("HidumperMemoryTest") { 183 module_out_path = module_output_path 184 185 sources = [ 186 "hidumper_memory_test.cpp", 187 "hidumper_test_utils.cpp", 188 ] 189 190 configs = [ ":module_private_config" ] 191 192 deps = [ 193 #"${hidumper_service_path}:hidumperservice_source", 194 "${hidumper_service_path}:hidumpermemory_source", 195 ] 196 197 external_deps = [ 198 "c_utils:utils", 199 "drivers_interface_memorytracker:libmemorytracker_proxy_1.0", 200 "hdf_core:libhdf_utils", 201 "hilog:libhilog", 202 "hiview:libucollection_utility", 203 "ipc:ipc_core", 204 "safwk:system_ability_fwk", 205 "samgr:samgr_proxy", 206 ] 207 defines = [] 208 if (hidumper_report_memmgr) { 209 defines += [ "HIDUMPER_MEMMGR_ENABLE" ] 210 } 211 cflags = [ 212 "-Dprivate=public", #allow test code access private members 213 ] 214} 215 216ohos_unittest("SADumperTest") { 217 module_out_path = module_output_path 218 sources = [ 219 "hidumper_test_utils.cpp", 220 "sa_dumper_test.cpp", 221 ] 222 configs = [ ":module_private_config" ] 223 deps = [] 224 external_deps = [ 225 "c_utils:utils", 226 "hilog:libhilog", 227 "ipc:ipc_core", 228 ] 229 230 defines = [] 231 if (hidumper_hiviewdfx_hiview_enable) { 232 defines += [ "HIDUMPER_HIVIEWDFX_HIVIEW_ENABLE" ] 233 } 234} 235 236ohos_unittest("HidumperPrivacyTest") { 237 module_out_path = module_output_path 238 239 sources = [ 240 "hidumper_privacy_test.cpp", 241 "hidumper_test_utils.cpp", 242 ] 243 244 configs = [ ":module_private_config" ] 245 246 deps = [] 247 248 external_deps = [ "c_utils:utils" ] 249} 250 251ohos_unittest("HidumperInnerkitsTest") { 252 module_out_path = module_output_path 253 254 sources = [ 255 "${hidumper_frameworks_path}/src/executor/memory/get_heap_info.cpp", 256 "${hidumper_frameworks_path}/src/executor/memory/memory_filter.cpp", 257 "${hidumper_frameworks_path}/src/executor/memory/memory_util.cpp", 258 "${hidumper_frameworks_path}/src/executor/memory/parse/parse_smaps_info.cpp", 259 "hidumper_innerkits_test.cpp", 260 "hidumper_test_utils.cpp", 261 ] 262 263 defines = [] 264 if (hidumper_hiviewdfx_hiview_enable) { 265 defines += [ "HIDUMPER_HIVIEWDFX_HIVIEW_ENABLE" ] 266 } 267 268 configs = [ ":module_private_config" ] 269 270 deps = [ 271 "${hidumper_service_path}:hidumperservice_source", 272 "../../../interfaces/innerkits:lib_dump_usage", 273 ] 274 275 external_deps = [ 276 "c_utils:utils", 277 "drivers_interface_memorytracker:libmemorytracker_proxy_1.0", 278 "hdf_core:libhdf_utils", 279 "hilog:libhilog", 280 "hiview:libucollection_utility", 281 "ipc:ipc_core", 282 "samgr:samgr_proxy", 283 ] 284} 285 286ohos_unittest("GetHeapInfoTest") { 287 module_out_path = module_output_path 288 289 sources = [ 290 "${hidumper_frameworks_path}/src/executor/memory/get_heap_info.cpp", 291 "get_heap_info_test.cpp", 292 ] 293 cflags = [ "-DHIDUMPER_UNITTEST" ] 294 configs = [ ":module_private_config" ] 295 296 deps = [ "${hidumper_service_path}:hidumperservice_source" ] 297 defines = [] 298 external_deps = [ 299 "c_utils:utils", 300 "hilog:libhilog", 301 "hiview:libucollection_utility", 302 "ipc:ipc_core", 303 "samgr:samgr_proxy", 304 ] 305 if (hidumper_ability_runtime_enable) { 306 external_deps += [ "ability_runtime:app_manager" ] 307 defines += [ "HIDUMPER_ABILITY_RUNTIME_ENABLE" ] 308 } 309} 310 311ohos_unittest("HidumperManagerTest") { 312 module_out_path = module_output_path 313 314 sources = [ 315 "hidumper_manager_test.cpp", 316 "hidumper_test_utils.cpp", 317 ] 318 319 configs = [ ":module_private_config" ] 320 321 deps = [ "${hidumper_service_path}:hidumperservice_source" ] 322 323 external_deps = [ 324 "c_utils:utils", 325 "hilog:libhilog", 326 "init:libbegetutil", 327 "ipc:ipc_core", 328 "samgr:samgr_proxy", 329 ] 330 331 defines = [] 332 if (hidumper_hiviewdfx_hiview_enable) { 333 defines += [ "HIDUMPER_HIVIEWDFX_HIVIEW_ENABLE" ] 334 } 335 336 cflags = [ 337 "-Dprivate=public", #allow test code access private members 338 ] 339} 340 341ohos_unittest("HidumperCpuServiceTest") { 342 module_out_path = module_output_path 343 344 sources = [ "hidumper_cpu_service_test.cpp" ] 345 346 configs = [ 347 "${hidumper_service_path}:hidumpercpuservice_gen_config", 348 "${hidumper_utils_path}:utils_config", 349 ":module_private_config", 350 ] 351 352 deps = [ 353 "${hidumper_service_path}:hidumperservice_cpu_source_test", 354 "${hidumper_service_path}:hidumperservice_source", 355 ] 356 357 external_deps = [ 358 "c_utils:utils", 359 "eventhandler:libeventhandler", 360 "hilog:libhilog", 361 "ipc:ipc_core", 362 "safwk:system_ability_fwk", 363 "samgr:samgr_proxy", 364 ] 365 defines = [] 366 if (hidumper_ablility_base_enable) { 367 external_deps += [ "ability_base:want" ] 368 external_deps += [ "ability_runtime:app_manager" ] 369 defines += [ "HIDUMPER_ABILITY_BASE_ENABLE" ] 370 } 371 372 cflags = [ 373 "-Dprivate=public", #allow test code access private members 374 ] 375} 376 377ohos_unittest("HidumperClientTest") { 378 module_out_path = module_output_path 379 380 sources = [ 381 "hidumper_client_test.cpp", 382 "hidumper_test_utils.cpp", 383 ] 384 385 configs = [ ":module_private_config" ] 386 387 deps = [ 388 "${hidumper_frameworks_path}:hidumperclient", 389 "${hidumper_service_path}:hidumper_client", 390 ] 391 392 external_deps = [ 393 "ability_runtime:app_manager", 394 "c_utils:utils", 395 "hilog:libhilog", 396 "init:libbegetutil", 397 "ipc:ipc_core", 398 "samgr:samgr_proxy", 399 ] 400 401 cflags = [ 402 "-Dprivate=public", #allow test code access private members 403 ] 404} 405 406ohos_unittest("HidumperZidlTest") { 407 module_out_path = module_output_path 408 409 sources = [ "hidumper_zidl_test.cpp" ] 410 411 configs = [ 412 ":module_private_config", 413 "${hidumper_service_path}:zidl_config", 414 ] 415 416 deps = [ "${hidumper_service_path}:zidl_service" ] 417 418 external_deps = [ 419 "hilog:libhilog", 420 "ipc:ipc_core", 421 ] 422 cflags = [ 423 "-Dprivate=public", #allow test code access private members 424 ] 425} 426 427ohos_unittest("DumpCommonUtilsTest") { 428 module_out_path = module_output_path 429 430 sources = [ "dump_common_utils_test.cpp" ] 431 432 configs = [ 433 "${hidumper_utils_path}:utils_config", 434 ":module_private_config", 435 ] 436 437 deps = [ "${hidumper_service_path}:hidumperservice_source" ] 438 439 external_deps = [ 440 "c_utils:utils", 441 "hilog:libhilog", 442 "init:libbegetutil", 443 "ipc:ipc_core", 444 "safwk:system_ability_fwk", 445 "samgr:samgr_proxy", 446 "zlib:shared_libz", 447 ] 448} 449 450############################################################################### 451group("unittest") { 452 testonly = true 453 454 deps = [ 455 # deps file 456 ":DumpCommonUtilsTest", 457 ":GetHeapInfoTest", 458 ":HidumperClientTest", 459 ":HidumperConfigUtilsTest", 460 ":HidumperDumpersTest", 461 ":HidumperInnerkitsTest", 462 ":HidumperManagerTest", 463 ":HidumperMemoryTest", 464 ":HidumperOutputTest", 465 ":HidumperPrivacyTest", 466 ":HidumperServiceTest", 467 ":HidumperZidlTest", 468 ":MemoryDumperTest", 469 ":SADumperTest", 470 ] 471 472 if (hidumper_hiviewdfx_hiview_enable) { 473 deps += [ ":HidumperCpuServiceTest" ] 474 } 475} 476############################################################################### 477