# Copyright (c) 2022-2025 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//build/test.gni") import("//foundation/filemanagement/app_file_service/backup.gni") ohos_unittest("ext_extension_test") { branch_protector_ret = "pac_ret" sanitize = { integer_overflow = true cfi = true cfi_cross_dso = true debug = false } module_out_path = path_module_out_tests sources = [ "ext_extension_test.cpp" ] include_dirs = [ "${path_backup}/frameworks/native/backup_ext/include", "${path_backup}/frameworks/native/backup_ext/src", "${path_backup}/frameworks/native/backup_kit_inner/src", "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl", "${path_backup}/interfaces/common/include", "${path_backup}/utils/include", ] deps = [ "${path_backup}/services/backup_sa:backup_sa_ipc_stub", "${path_backup}/utils:backup_utils", ] external_deps = [ "ability_base:want", "ability_runtime:ability_context_native", "ability_runtime:abilitykit_native", "ability_runtime:app_context", "ability_runtime:appkit_native", "ability_runtime:runtime", "access_token:libaccesstoken_sdk", "bundle_framework:appexecfwk_core", "c_utils:utils", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", "hitrace:hitrace_meter", "ipc:ipc_core", "ipc:ipc_napi", "jsoncpp:jsoncpp", "napi:ace_napi", "safwk:system_ability_fwk", "samgr:samgr_proxy", ] cflags = [ "--coverage" ] ldflags = [ "--coverage" ] cflags_cc = [ "--coverage" ] defines = [ "LOG_TAG=\"app_file_service\"", "LOG_DOMAIN=0xD004303", "private=public", ] use_exceptions = true } ohos_unittest("ext_extension_stub_test") { module_out_path = path_module_out_tests sources = [ "${path_backup_mock}/module_ipc/message_parcel_mock.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_extension_stub.cpp", "ext_extension_stub_test.cpp", ] include_dirs = [ "${path_backup_mock}/module_ipc", "${path_backup}/frameworks/native/backup_ext/include", "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl", "${path_backup}/interfaces/common/include", "${path_backup}/utils/include", ] deps = [ "${path_backup}/utils:backup_utils" ] external_deps = [ "c_utils:utils", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", "ipc:ipc_core", "safwk:system_ability_fwk", ] cflags = [ "--coverage" ] ldflags = [ "--coverage" ] cflags_cc = [ "--coverage" ] defines = [ "LOG_TAG=\"app_file_service\"", "LOG_DOMAIN=0xD004303", "private=public", ] use_exceptions = true } ohos_unittest("tar_file_test") { branch_protector_ret = "pac_ret" sanitize = { integer_overflow = true cfi = true cfi_cross_dso = true debug = false } module_out_path = path_module_out_tests sources = [ "${path_backup}/frameworks/native/backup_ext/src/ext_backup.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_backup_ani.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_backup_context.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_backup_context_js.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_backup_js.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_backup_loader.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_extension.cpp", "${path_backup}/frameworks/native/backup_ext/src/installd_un_tar_file.cpp", "${path_backup}/frameworks/native/backup_ext/src/sub_ext_extension.cpp", "${path_backup}/frameworks/native/backup_ext/src/tar_file.cpp", "${path_backup}/frameworks/native/backup_ext/src/untar_file.cpp", "tar_file_test.cpp", ] sources += backup_mock_proxy_src include_dirs = [ "${path_backup}/frameworks/native/backup_ext/include", "${path_backup}/interfaces/inner_api/native/backup_kit_inner/", "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl", "${path_backup}/frameworks/native/backup_kit_inner/include", "${path_backup}/utils/include", ] include_dirs += backup_mock_utils_include deps = [ "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner", "${path_backup}/interfaces/innerkits/native:sandbox_helper_native", "${path_backup}/services/backup_sa:backup_sa_ipc_stub", "${path_backup}/tests/utils:backup_test_utils", "${path_backup}/utils:backup_utils", ] cflags = [ "--coverage" ] ldflags = [ "--coverage" ] cflags_cc = [ "--coverage" ] external_deps = [ "ability_base:want", "ability_runtime:ability_context_native", "ability_runtime:abilitykit_native", "ability_runtime:ani_common", "ability_runtime:app_context", "ability_runtime:appkit_native", "ability_runtime:runtime", "access_token:libaccesstoken_sdk", "bundle_framework:appexecfwk_core", "c_utils:utils", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", "hitrace:hitrace_meter", "ipc:ipc_core", "ipc:ipc_napi", "jsoncpp:jsoncpp", "napi:ace_napi", "runtime_core:ani", "samgr:samgr_proxy", ] defines = [ "private=public" ] use_exceptions = true } ohos_unittest("untar_file_sup_test") { branch_protector_ret = "pac_ret" sanitize = { integer_overflow = true cfi = true cfi_cross_dso = true debug = false blocklist = "${path_backup}/cfi_blocklist.txt" } module_out_path = path_module_out_tests sources = [ "${path_backup}/frameworks/native/backup_ext/src/ext_backup.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_backup_ani.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_backup_context.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_backup_context_js.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_backup_js.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_backup_loader.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_extension.cpp", "${path_backup}/frameworks/native/backup_ext/src/installd_un_tar_file.cpp", "${path_backup}/frameworks/native/backup_ext/src/sub_ext_extension.cpp", "${path_backup}/frameworks/native/backup_ext/src/tar_file.cpp", "${path_backup}/tests/mock/library_func_mock/library_func_mock.cpp", "untar_file_sup_test.cpp", ] sources += backup_mock_proxy_src public_configs = [ "${path_backup}/services/backup_sa:public_idl_config" ] include_dirs = [ "${path_backup}/frameworks/native/backup_ext/include", "${path_backup}/frameworks/native/backup_ext/src", "${path_backup}/interfaces/inner_api/native/backup_kit_inner/", "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl", "${path_backup}/frameworks/native/backup_kit_inner/include", "${path_backup}/services/backup_sa:backup_sa_ipc", "${path_backup}/tests/mock/library_func_mock", "${path_backup}/utils/include", ] include_dirs += backup_mock_utils_include deps = [ "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner", "${path_backup}/interfaces/innerkits/native:sandbox_helper_native", "${path_backup}/services/backup_sa:backup_sa_ipc_stub", "${path_backup}/tests/utils:backup_test_utils", "${path_backup}/utils:backup_utils", ] cflags = [ "--coverage" ] ldflags = [ "--coverage" ] cflags_cc = [ "--coverage" ] external_deps = [ "ability_base:want", "ability_runtime:ability_context_native", "ability_runtime:abilitykit_native", "ability_runtime:ani_common", "ability_runtime:app_context", "ability_runtime:appkit_native", "ability_runtime:runtime", "access_token:libaccesstoken_sdk", "bundle_framework:appexecfwk_core", "c_utils:utils", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", "hitrace:hitrace_meter", "ipc:ipc_core", "ipc:ipc_napi", "jsoncpp:jsoncpp", "napi:ace_napi", "runtime_core:ani", "samgr:samgr_proxy", ] defines = [ "private=public" ] use_exceptions = true } ohos_unittest("untar_file_test") { branch_protector_ret = "pac_ret" sanitize = { integer_overflow = true cfi = true cfi_cross_dso = true debug = false } module_out_path = path_module_out_tests sources = [ "${path_backup}/frameworks/native/backup_ext/src/ext_backup.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_backup_ani.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_backup_context.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_backup_context_js.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_backup_js.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_backup_loader.cpp", "${path_backup}/frameworks/native/backup_ext/src/ext_extension.cpp", "${path_backup}/frameworks/native/backup_ext/src/installd_un_tar_file.cpp", "${path_backup}/frameworks/native/backup_ext/src/sub_ext_extension.cpp", "${path_backup}/frameworks/native/backup_ext/src/tar_file.cpp", "${path_backup}/frameworks/native/backup_ext/src/untar_file.cpp", "untar_file_test.cpp", ] sources += backup_mock_proxy_src include_dirs = [ "${path_backup}/frameworks/native/backup_ext/include", "${path_backup}/interfaces/inner_api/native/backup_kit_inner/", "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl", "${path_backup}/frameworks/native/backup_kit_inner/include", "${path_backup}/utils/include", ] include_dirs += backup_mock_utils_include deps = [ "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner", "${path_backup}/interfaces/innerkits/native:sandbox_helper_native", "${path_backup}/services/backup_sa:backup_sa_ipc_stub", "${path_backup}/tests/utils:backup_test_utils", "${path_backup}/utils:backup_utils", ] cflags = [ "--coverage" ] ldflags = [ "--coverage" ] cflags_cc = [ "--coverage" ] external_deps = [ "ability_base:want", "ability_runtime:ability_context_native", "ability_runtime:abilitykit_native", "ability_runtime:ani_common", "ability_runtime:app_context", "ability_runtime:appkit_native", "ability_runtime:runtime", "access_token:libaccesstoken_sdk", "bundle_framework:appexecfwk_core", "c_utils:utils", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", "hitrace:hitrace_meter", "ipc:ipc_core", "ipc:ipc_napi", "jsoncpp:jsoncpp", "napi:ace_napi", "runtime_core:ani", "samgr:samgr_proxy", ] defines = [ "private=public" ] use_exceptions = true } ohos_unittest("ext_backup_js_test") { module_out_path = path_module_out_tests sanitize = { integer_overflow = true ubsan = true boundary_sanitize = true cfi = true cfi_cross_dso = true cfi_vcall_icall_only = true debug = false blocklist = "${path_backup}/cfi_blocklist.txt" } sources = [ "${path_backup}/tests/mock/backup_ext/src/ext_backup_mock.cpp", "${path_backup}/tests/mock/napi/src/napi_mock.cpp", "ext_backup_js_test.cpp", ] include_dirs = [ "${path_backup}/frameworks/native/backup_ext/include", "${path_backup}/frameworks/native/backup_ext/src", "${path_backup}/frameworks/native/backup_kit_inner/src", "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl", "${path_backup}/interfaces/common/include", "${path_backup}/tests/mock/backup_ext/include", "${path_backup}/tests/mock/napi/include", "${path_backup}/utils/include", ] deps = [ "${path_backup}/services/backup_sa:backup_sa_ipc_stub", "${path_backup}/utils:backup_utils", ] external_deps = [ "ability_base:want", "ability_runtime:ability_context_native", "ability_runtime:abilitykit_native", "ability_runtime:app_context", "ability_runtime:appkit_native", "ability_runtime:runtime", "access_token:libaccesstoken_sdk", "bundle_framework:appexecfwk_base", "bundle_framework:appexecfwk_core", "c_utils:utils", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", "hitrace:hitrace_meter", "ipc:ipc_core", "ipc:ipc_napi", "jsoncpp:jsoncpp", "napi:ace_napi", "safwk:system_ability_fwk", "samgr:samgr_proxy", ] cflags = [ "--coverage" ] ldflags = [ "--coverage" ] cflags_cc = [ "--coverage" ] defines = [ "LOG_TAG=\"app_file_service\"", "LOG_DOMAIN=0xD004303", "private=public", ] use_exceptions = true } ohos_unittest("tar_file_sub_test") { module_out_path = path_module_out_tests sources = [ "${path_backup}/tests/mock/library_func_mock/library_func_mock.cpp", "tar_file_sub_test.cpp", ] include_dirs = [ "${path_backup}/frameworks/native/backup_ext/include", "${path_backup}/frameworks/native/backup_ext/src", "${path_backup}/tests/mock/library_func_mock", "${path_backup}/utils/include", "${path_backup}/utils/include/b_hilog", ] cflags = [ "--coverage" ] ldflags = [ "--coverage" ] cflags_cc = [ "--coverage" ] deps = [ "${path_backup}/utils:backup_utils" ] external_deps = [ "c_utils:utils", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", ] defines = [ "private=public" ] use_exceptions = true } ohos_unittest("installd_un_tar_file_test") { module_out_path = path_module_out_tests sources = [ "${path_backup}/frameworks/native/backup_ext/src/installd_un_tar_file.cpp", "installd_un_tar_file_test.cpp", ] include_dirs = [ "${path_backup}/frameworks/native/backup_ext/include", "${path_backup}/interfaces/common/include", "${path_backup}/utils/include", ] cflags = [ "--coverage" ] ldflags = [ "--coverage" ] cflags_cc = [ "--coverage" ] deps = [ "${path_backup}/tests/utils:backup_test_utils", "${path_backup}/utils:backup_utils", ] external_deps = [ "c_utils:utils", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", ] defines = [ "private=public" ] use_exceptions = true } ohos_unittest("ext_extension_sub_test") { branch_protector_ret = "pac_ret" sanitize = { integer_overflow = true cfi = true cfi_cross_dso = true cfi_vcall_icall_only = true debug = false blocklist = "${path_backup}/cfi_blocklist.txt" } module_out_path = path_module_out_tests sources = [ "${path_backup}/tests/mock/backup_ext/src/ext_backup_mock.cpp", "${path_backup}/tests/mock/backup_ext/src/ext_backup_js_mock.cpp", "${path_backup}/tests/mock/backup_ext/src/ext_extension_mock.cpp", "${path_backup}/tests/mock/backup_kit_inner/service_proxy_mock.cpp", "${path_backup}/tests/mock/utils_mock/src/utils_mock_global_variable.cpp", "${path_backup}/tests/utils/src/test_manager.cpp", "${path_backup}/frameworks/native/backup_ext/src/tar_file.cpp", "${path_backup}/frameworks/native/backup_ext/src/untar_file.cpp", "ext_extension_sub_test.cpp", ] public_configs = [ "${path_backup}/services/backup_sa:public_idl_config" ] include_dirs = [ "${path_backup}/frameworks/native/backup_ext/include", "${path_backup}/frameworks/native/backup_ext/src", "${path_backup}/frameworks/native/backup_kit_inner/src", "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl", "${path_backup}/interfaces/common/include", "${path_backup}/tests/mock/backup_ext/src", "${path_backup}/tests/mock/backup_ext/include", "${path_backup}/tests/mock/utils_mock/include", "${path_backup}/tests/mock/backup_kit_inner", "${path_backup}/tests/utils/include", "${path_backup}/tests/utils_mock/include", "${path_backup}/utils/include", ] deps = [ "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner", "${path_backup}/services/backup_sa:backup_sa_ipc_stub", "${path_backup}/utils:backup_utils", ] cflags = [ "--coverage" ] ldflags = [ "--coverage" ] cflags_cc = [ "--coverage" ] external_deps = [ "ability_base:want", "ability_runtime:ability_context_native", "ability_runtime:abilitykit_native", "ability_runtime:app_context", "ability_runtime:appkit_native", "ability_runtime:runtime", "access_token:libaccesstoken_sdk", "bundle_framework:appexecfwk_core", "c_utils:utils", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", "hitrace:hitrace_meter", "ipc:ipc_core", "ipc:ipc_napi", "jsoncpp:jsoncpp", "napi:ace_napi", "safwk:system_ability_fwk", "samgr:samgr_proxy", ] defines = [ "LOG_TAG=\"app_file_service\"", "LOG_DOMAIN=0xD004303", "private=public", ] use_exceptions = true } group("backup_ext_test") { testonly = true if (!use_libfuzzer) { deps = [ ":ext_backup_js_test", ":ext_extension_test", ":ext_extension_sub_test", ":installd_un_tar_file_test", ":tar_file_sub_test", ":tar_file_test", ":untar_file_sup_test", ":untar_file_test", ] } }