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