1# Copyright (c) 2022-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("//foundation/filemanagement/app_file_service/app_file_service.gni") 16import("//foundation/filemanagement/app_file_service/backup.gni") 17 18ohos_unittest("module_ipc_test") { 19 branch_protector_ret = "pac_ret" 20 21 module_out_path = path_module_out_tests 22 23 sources = [ 24 "${path_backup_mock}/module_ipc/app_gallery_dispose_proxy_mock.cpp", 25 "${path_backup_mock}/module_ipc/message_parcel_mock.cpp", 26 "${path_backup_mock}/timer/timer_mock.cpp", 27 "${path_backup}/frameworks/native/backup_kit_inner/src/service_incremental_reverse.cpp", 28 "${path_backup}/services/backup_sa/src/module_ipc/svc_backup_connection.cpp", 29 "svc_backup_connection_test.cpp", 30 ] 31 32 include_dirs = [ 33 "${path_backup_mock}/module_ipc", 34 "${path_backup}/frameworks/native/backup_kit_inner/include", 35 "${path_backup}/services/backup_sa/include", 36 "${path_backup}/tests/unittests/backup_api/backup_impl/include", 37 "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl", 38 ] 39 40 deps = [ 41 "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner", 42 "${path_backup}/services/backup_sa:backup_sa_ipc", 43 "${path_backup}/tests/utils:backup_test_utils", 44 "${path_backup}/utils:backup_utils", 45 ] 46 47 external_deps = [ 48 "ability_base:want", 49 "ability_runtime:ability_manager", 50 "bundle_framework:appexecfwk_core", 51 "c_utils:utils", 52 "googletest:gmock_main", 53 "googletest:gtest_main", 54 "hilog:libhilog", 55 "hisysevent:libhisysevent", 56 "hitrace:hitrace_meter", 57 "ipc:ipc_core", 58 "safwk:system_ability_fwk", 59 "samgr:samgr_proxy", 60 "storage_service:storage_manager_sa_proxy", 61 ] 62 63 sanitize = { 64 integer_overflow = true 65 cfi = true 66 cfi_cross_dso = true 67 debug = false 68 blocklist = "${path_backup}/cfi_blocklist.txt" 69 } 70 71 defines = [ 72 "LOG_TAG=\"app_file_service\"", 73 "LOG_DOMAIN=0xD004303", 74 "private = public", 75 ] 76 77 use_exceptions = true 78} 79 80ohos_unittest("backup_service_test") { 81 branch_protector_ret = "pac_ret" 82 83 module_out_path = path_module_out_tests 84 85 sources = [ 86 "${path_backup_mock}/accesstoken/accesstoken_kit_mock.cpp", 87 "${path_backup_mock}/module_ipc/app_gallery_dispose_proxy_mock.cpp", 88 "${path_backup_mock}/timer/timer_mock.cpp", 89 "${path_backup_mock}/utils_mock/src/b_json_clear_data_config_mock.cpp", 90 "${path_backup_mock}/utils_mock/src/b_json_service_disposal_config_mock.cpp", 91 "${path_backup}/services/backup_sa/src/module_ipc/sa_backup_connection.cpp", 92 "${path_backup}/services/backup_sa/src/module_ipc/service_incremental.cpp", 93 "${path_backup}/services/backup_sa/src/module_ipc/svc_restore_deps_manager.cpp", 94 "${path_backup}/services/backup_sa/src/module_notify/notify_work_service.cpp", 95 "service_test.cpp", 96 ] 97 sources += backup_mock_src 98 sources += backup_mock_session_manager_src 99 sources += backup_mock_scheduler_src 100 sources += backup_mock_module_external_src 101 102 public_configs = [ "${path_backup}/services/backup_sa:public_idl_config" ] 103 104 include_dirs = [ 105 "${path_backup}/services/backup_sa/include", 106 "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl", 107 "${path_backup}/services/backup_sa/src/module_ipc", 108 "${path_backup}/tests/unittests/backup_api/backup_impl/include", 109 "${path_backup_mock}/b_process/", 110 "${path_backup_mock}/module_ipc/include", 111 "${path_backup_mock}/module_ipc", 112 "${path_backup_mock}/common/include", 113 "${path_backup_mock}/utils_mock/include", 114 ] 115 116 deps = [ 117 "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner", 118 "${path_backup}/tests/utils:backup_test_utils", 119 "${path_backup}/utils:backup_utils", 120 ] 121 122 external_deps = [ 123 "ability_base:want", 124 "ability_runtime:ability_manager", 125 "access_token:libaccesstoken_sdk", 126 "bundle_framework:appexecfwk_core", 127 "c_utils:utils", 128 "common_event_service:cesfwk_innerkits", 129 "googletest:gmock_main", 130 "googletest:gtest_main", 131 "hilog:libhilog", 132 "hisysevent:libhisysevent", 133 "hitrace:hitrace_meter", 134 "init:libbegetutil", 135 "ipc:ipc_core", 136 "jsoncpp:jsoncpp", 137 "safwk:system_ability_fwk", 138 "samgr:samgr_proxy", 139 "storage_service:storage_manager_sa_proxy", 140 ] 141 142 sanitize = { 143 integer_overflow = true 144 cfi = true 145 cfi_cross_dso = true 146 debug = false 147 blocklist = "${path_backup}/cfi_blocklist.txt" 148 } 149 150 defines = [ "private=public" ] 151 use_exceptions = true 152 153 cflags = [ 154 "-g", 155 "-O0", 156 "-Wno-unused-variable", 157 "-fno-omit-frame-pointer", 158 "-Dprivate=public", 159 "-Dprotected=public", 160 ] 161} 162 163ohos_unittest("backup_service_throw_test") { 164 branch_protector_ret = "pac_ret" 165 166 module_out_path = path_module_out_tests 167 168 sources = [ 169 "${path_backup_mock}/accesstoken/src/accesstoken_kit_mock.cpp", 170 "${path_backup_mock}/module_ipc/app_gallery_dispose_proxy_mock.cpp", 171 "${path_backup_mock}/module_ipc/src/ipc_skeleton_mock.cpp", 172 "${path_backup_mock}/module_ipc/svc_session_manager_throw_mock.cpp", 173 "${path_backup_mock}/timer/timer_mock.cpp", 174 "${path_backup_mock}/utils_mock/src/b_jsonutil_mock.cpp", 175 "${path_backup_mock}/utils_mock/src/backup_para_mock.cpp", 176 "${path_backup}/services/backup_sa/src/module_ipc/sa_backup_connection.cpp", 177 "${path_backup}/services/backup_sa/src/module_ipc/service.cpp", 178 "${path_backup}/services/backup_sa/src/module_ipc/service_incremental.cpp", 179 "${path_backup}/services/backup_sa/src/module_ipc/sub_service.cpp", 180 "${path_backup}/services/backup_sa/src/module_ipc/svc_restore_deps_manager.cpp", 181 "${path_backup}/services/backup_sa/src/module_notify/notify_work_service.cpp", 182 "service_throw_test.cpp", 183 ] 184 sources += backup_mock_src 185 sources += backup_mock_scheduler_src 186 sources += backup_mock_module_external_src 187 188 public_configs = [ "${path_backup}/services/backup_sa:public_idl_config" ] 189 190 include_dirs = [ 191 "${path_backup}/services/backup_sa/include", 192 "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl", 193 "${path_backup}/tests/unittests/backup_api/backup_impl/include", 194 "${path_backup_mock}/accesstoken/include", 195 "${path_backup_mock}/b_process", 196 "${path_backup_mock}/module_ipc", 197 "${path_backup_mock}/module_ipc/include", 198 "${path_backup_mock}/utils_mock/include", 199 ] 200 201 deps = [ 202 "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner", 203 "${path_backup}/tests/utils:backup_test_utils", 204 "${path_backup}/utils:backup_utils", 205 ] 206 207 external_deps = [ 208 "ability_base:want", 209 "ability_runtime:ability_manager", 210 "access_token:libaccesstoken_sdk", 211 "bundle_framework:appexecfwk_core", 212 "c_utils:utils", 213 "common_event_service:cesfwk_innerkits", 214 "googletest:gmock_main", 215 "googletest:gtest_main", 216 "hilog:libhilog", 217 "hisysevent:libhisysevent", 218 "hitrace:hitrace_meter", 219 "init:libbegetutil", 220 "ipc:ipc_core", 221 "jsoncpp:jsoncpp", 222 "safwk:system_ability_fwk", 223 "samgr:samgr_proxy", 224 "storage_service:storage_manager_sa_proxy", 225 ] 226 227 sanitize = { 228 cfi = true 229 cfi_cross_dso = true 230 debug = false 231 blocklist = "${path_backup}/cfi_blocklist.txt" 232 } 233 234 defines = [ "private=public" ] 235 use_exceptions = true 236} 237 238ohos_unittest("backup_service_session_test") { 239 branch_protector_ret = "pac_ret" 240 sanitize = { 241 integer_overflow = true 242 cfi = true 243 cfi_cross_dso = true 244 debug = false 245 } 246 247 module_out_path = path_module_out_tests 248 249 sources = [ 250 "${path_backup_mock}/affwk/service_registry_mock.cpp", 251 "${path_backup_mock}/bundle_manager/src/mock_bundle_manager.cpp", 252 "${path_backup}/services/backup_sa/src/module_ipc/sa_backup_connection.cpp", 253 "${path_backup}/services/backup_sa/src/module_ipc/svc_restore_deps_manager.cpp", 254 "${path_backup}/services/backup_sa/src/module_ipc/svc_session_manager.cpp", 255 "svc_session_manager_test.cpp", 256 ] 257 sources += backup_mock_src 258 sources += backup_mock_scheduler_src 259 sources += backup_mock_service_src 260 sources += backup_mock_module_external_src 261 262 public_configs = [ "${path_backup}/services/backup_sa:public_idl_config" ] 263 264 include_dirs = [ 265 "${path_backup}/services/backup_sa/include", 266 "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl", 267 "${path_backup}/tests/unittests/backup_api/backup_impl/include", 268 "${path_backup_mock}/bundle_manager/include", 269 "${path_backup_mock}/module_ipc/include", 270 ] 271 272 deps = [ 273 "${app_file_service_path}/services/backup_sa:backup_sa", 274 "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner", 275 "${path_backup}/tests/utils:backup_test_utils", 276 "${path_backup}/utils:backup_utils", 277 ] 278 279 external_deps = [ 280 "ability_base:want", 281 "ability_runtime:ability_manager", 282 "bundle_framework:appexecfwk_base", 283 "bundle_framework:appexecfwk_core", 284 "c_utils:utils", 285 "googletest:gmock_main", 286 "googletest:gtest_main", 287 "hilog:libhilog", 288 "hitrace:hitrace_meter", 289 "init:libbegetutil", 290 "ipc:ipc_core", 291 "jsoncpp:jsoncpp", 292 "safwk:system_ability_fwk", 293 "samgr:dynamic_cache", 294 "samgr:samgr_proxy", 295 "storage_service:storage_manager_sa_proxy", 296 ] 297 298 defines = [ 299 "LOG_TAG=\"app_file_service\"", 300 "LOG_DOMAIN=0xD004303", 301 "private = public", 302 ] 303 304 use_exceptions = true 305} 306 307ohos_unittest("backup_service_scheduler_test") { 308 branch_protector_ret = "pac_ret" 309 310 module_out_path = path_module_out_tests 311 312 sources = [ 313 "${path_backup_mock}/timer/timer_mock.cpp", 314 "${path_backup}/services/backup_sa/src/module_sched/sched_scheduler.cpp", 315 "sched_scheduler_test.cpp", 316 ] 317 sources += backup_mock_src 318 sources += backup_mock_service_src 319 sources += backup_mock_session_manager_src 320 sources += backup_mock_module_external_src 321 322 public_configs = [ "${path_backup}/services/backup_sa:public_idl_config" ] 323 324 include_dirs = [ 325 "${path_backup}/services/backup_sa/include", 326 "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl", 327 "${path_backup}/tests/unittests/backup_api/backup_impl/include", 328 ] 329 330 deps = [ 331 "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner", 332 "${path_backup}/tests/utils:backup_test_utils", 333 "${path_backup}/utils:backup_utils", 334 ] 335 336 external_deps = [ 337 "ability_base:want", 338 "ability_runtime:ability_manager", 339 "bundle_framework:appexecfwk_base", 340 "bundle_framework:appexecfwk_core", 341 "c_utils:utils", 342 "googletest:gmock_main", 343 "googletest:gtest_main", 344 "hilog:libhilog", 345 "ipc:ipc_core", 346 "jsoncpp:jsoncpp", 347 "safwk:system_ability_fwk", 348 "samgr:samgr_proxy", 349 "storage_service:storage_manager_sa_proxy", 350 ] 351 352 sanitize = { 353 integer_overflow = true 354 cfi = true 355 cfi_cross_dso = true 356 debug = false 357 } 358 359 use_exceptions = true 360} 361 362ohos_unittest("backup_restore_deps_manager_test") { 363 branch_protector_ret = "pac_ret" 364 sanitize = { 365 integer_overflow = true 366 cfi = true 367 cfi_cross_dso = true 368 debug = false 369 } 370 371 module_out_path = path_module_out_tests 372 373 sources = [ 374 "${path_backup_mock}/accesstoken/accesstoken_kit_mock.cpp", 375 "${path_backup}/services/backup_sa/src/module_app_gallery/app_gallery_dispose_proxy.cpp", 376 "${path_backup}/services/backup_sa/src/module_app_gallery/app_gallery_service_connection.cpp", 377 "${path_backup}/services/backup_sa/src/module_ipc/sa_backup_connection.cpp", 378 "${path_backup}/services/backup_sa/src/module_ipc/service.cpp", 379 "${path_backup}/services/backup_sa/src/module_ipc/service_incremental.cpp", 380 "${path_backup}/services/backup_sa/src/module_ipc/sub_service.cpp", 381 "${path_backup}/services/backup_sa/src/module_ipc/svc_restore_deps_manager.cpp", 382 "${path_backup}/services/backup_sa/src/module_notify/notify_work_service.cpp", 383 "svc_restore_deps_manager_test.cpp", 384 ] 385 sources += backup_mock_src 386 sources += backup_mock_session_manager_src 387 sources += backup_mock_scheduler_src 388 sources += backup_mock_module_external_src 389 390 public_configs = [ "${path_backup}/services/backup_sa:public_idl_config" ] 391 392 include_dirs = [ 393 "${path_backup}/services/backup_sa/include", 394 "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl", 395 "${path_backup}/tests/unittests/backup_api/backup_impl/include", 396 "${path_backup_mock}/b_process/", 397 ] 398 399 deps = [ 400 "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner", 401 "${path_backup}/tests/utils:backup_test_utils", 402 "${path_backup}/utils:backup_utils", 403 ] 404 405 external_deps = [ 406 "ability_base:want", 407 "ability_runtime:ability_manager", 408 "access_token:libaccesstoken_sdk", 409 "bundle_framework:appexecfwk_core", 410 "c_utils:utils", 411 "common_event_service:cesfwk_innerkits", 412 "googletest:gmock_main", 413 "googletest:gtest_main", 414 "hilog:libhilog", 415 "hisysevent:libhisysevent", 416 "hitrace:hitrace_meter", 417 "init:libbegetutil", 418 "ipc:ipc_core", 419 "jsoncpp:jsoncpp", 420 "safwk:system_ability_fwk", 421 "samgr:samgr_proxy", 422 "storage_service:storage_manager_sa_proxy", 423 ] 424 425 use_exceptions = true 426} 427 428ohos_unittest("backup_service_incremental_test") { 429 module_out_path = path_module_out_tests 430 431 sanitize = { 432 integer_overflow = true 433 ubsan = true 434 boundary_sanitize = true 435 cfi = true 436 cfi_cross_dso = true 437 cfi_vcall_icall_only = true 438 debug = false 439 blocklist = "${path_backup}/cfi_blocklist.txt" 440 } 441 442 sources = [ 443 "${path_backup_mock}/accesstoken/accesstoken_kit_mock.cpp", 444 "${path_backup_mock}/module_external/src/bms_adapter_mock.cpp", 445 "${path_backup_mock}/module_external/src/sms_adapter_mock.cpp", 446 "${path_backup_mock}/module_ipc/service_stub_mock.cpp", 447 "${path_backup_mock}/module_ipc/src/ipc_skeleton_mock.cpp", 448 "${path_backup_mock}/module_ipc/src/sa_backup_connection_mock.cpp", 449 "${path_backup_mock}/module_ipc/src/svc_backup_connection_mock.cpp", 450 "${path_backup_mock}/module_ipc/src/svc_session_manager_mock.cpp", 451 "${path_backup_mock}/module_sched/sched_scheduler_mock.cpp", 452 "${path_backup_mock}/utils_mock/src/b_jsonutil_mock.cpp", 453 "${path_backup_mock}/utils_mock/src/backup_para_mock.cpp", 454 "${path_backup_mock}/direct_ex_mock/direct_ex_mock.cpp", 455 "${path_backup}/frameworks/native/backup_kit_inner/src/service_client.cpp", 456 "service_incremental_test.cpp", 457 ] 458 459 public_configs = [ "${path_backup}/services/backup_sa:public_idl_config" ] 460 461 include_dirs = [ 462 "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl", 463 "${path_backup}/services/backup_sa/include", 464 "${path_backup}/services/backup_sa/include/module_ipc", 465 "${path_backup}/services/backup_sa/src/module_ipc", 466 "${path_backup}/tests/unittests/backup_api/backup_impl/include", 467 "${path_backup}/tests/utils/include/", 468 "${path_backup_mock}/module_external/include", 469 "${path_backup_mock}/module_ipc/include", 470 "${path_backup_mock}/utils_mock/include", 471 "${path_backup_mock}/direct_ex_mock", 472 ] 473 474 deps = [ 475 "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner", 476 "${path_backup}/tests/utils:backup_test_utils", 477 "${path_backup}/utils:backup_utils", 478 ] 479 480 external_deps = [ 481 "ability_base:want", 482 "ability_runtime:ability_manager", 483 "access_token:libaccesstoken_sdk", 484 "bundle_framework:appexecfwk_core", 485 "c_utils:utils", 486 "common_event_service:cesfwk_innerkits", 487 "googletest:gmock_main", 488 "googletest:gtest_main", 489 "hilog:libhilog", 490 "hisysevent:libhisysevent", 491 "hitrace:hitrace_meter", 492 "init:libbegetutil", 493 "ipc:ipc_core", 494 "jsoncpp:jsoncpp", 495 "safwk:system_ability_fwk", 496 "samgr:samgr_proxy", 497 "storage_service:storage_manager_sa_proxy", 498 ] 499 500 defines = [ "private=public" ] 501 use_exceptions = true 502} 503 504ohos_unittest("backup_service_other_test") { 505 module_out_path = path_module_out_tests 506 507 sanitize = { 508 integer_overflow = true 509 ubsan = true 510 boundary_sanitize = true 511 cfi = true 512 cfi_cross_dso = true 513 cfi_vcall_icall_only = true 514 debug = false 515 blocklist = "${path_backup}/cfi_blocklist.txt" 516 } 517 sources = [ 518 "${path_backup_mock}/accesstoken/src/accesstoken_kit_mock.cpp", 519 "${path_backup_mock}/module_external/src/bms_adapter_mock.cpp", 520 "${path_backup_mock}/module_external/src/sms_adapter_mock.cpp", 521 "${path_backup_mock}/module_ipc/service_stub_mock.cpp", 522 "${path_backup_mock}/module_ipc/src/app_gallery_dispose_proxy_mock.cpp", 523 "${path_backup_mock}/module_ipc/src/ipc_skeleton_mock.cpp", 524 "${path_backup_mock}/module_ipc/src/notify_work_service_mock.cpp", 525 "${path_backup_mock}/module_ipc/src/sa_backup_connection_mock.cpp", 526 "${path_backup_mock}/module_ipc/src/svc_backup_connection_mock.cpp", 527 "${path_backup_mock}/module_ipc/src/svc_restore_deps_manager_mock.cpp", 528 "${path_backup_mock}/module_ipc/src/svc_session_manager_mock.cpp", 529 "${path_backup_mock}/module_ipc/src/system_ability_mock.cpp", 530 "${path_backup_mock}/module_sched/sched_scheduler_mock.cpp", 531 "${path_backup_mock}/utils_mock/src/b_json_clear_data_config_mock.cpp", 532 "${path_backup_mock}/utils_mock/src/b_json_service_disposal_config_mock.cpp", 533 "${path_backup_mock}/utils_mock/src/b_jsonutil_mock.cpp", 534 "${path_backup_mock}/utils_mock/src/b_sa_utils_mock.cpp", 535 "${path_backup_mock}/utils_mock/src/backup_para_mock.cpp", 536 "service_other_test.cpp", 537 ] 538 539 include_dirs = [ 540 "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl", 541 "${path_backup}/services/backup_sa/include", 542 "${path_backup}/services/backup_sa/include/module_app_gallery", 543 "${path_backup}/services/backup_sa/include/module_ipc", 544 "${path_backup}/services/backup_sa/include/module_notify", 545 "${path_backup}/services/backup_sa/src/module_ipc", 546 "${path_backup}/tests/unittests/backup_api/backup_impl/include", 547 "${path_backup}/tests/utils/include/", 548 "${path_backup_mock}/accesstoken/include", 549 "${path_backup_mock}/module_external/include", 550 "${path_backup_mock}/module_ipc/include", 551 "${path_backup_mock}/utils_mock/include", 552 ] 553 554 public_configs = [ "${path_backup}/services/backup_sa:public_idl_config" ] 555 556 deps = [ 557 "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner", 558 "${path_backup}/tests/utils:backup_test_utils", 559 "${path_backup}/utils:backup_utils", 560 ] 561 562 external_deps = [ 563 "ability_base:want", 564 "ability_runtime:ability_manager", 565 "access_token:libaccesstoken_sdk", 566 "bundle_framework:appexecfwk_core", 567 "c_utils:utils", 568 "common_event_service:cesfwk_innerkits", 569 "googletest:gmock_main", 570 "googletest:gtest_main", 571 "hilog:libhilog", 572 "hisysevent:libhisysevent", 573 "hitrace:hitrace_meter", 574 "init:libbegetutil", 575 "ipc:ipc_core", 576 "jsoncpp:jsoncpp", 577 "safwk:system_ability_fwk", 578 "samgr:samgr_proxy", 579 "storage_service:storage_manager_sa_proxy", 580 ] 581 582 defines = [ "private=public" ] 583 use_exceptions = true 584} 585 586group("backup_sa_ipc_test") { 587 testonly = true 588 deps = [ 589 ":backup_restore_deps_manager_test", 590 ":backup_service_incremental_test", 591 ":backup_service_other_test", 592 ":backup_service_scheduler_test", 593 ":backup_service_session_test", 594 ":backup_service_test", 595 ":backup_service_throw_test", 596 ":module_ipc_test", 597 ] 598} 599