# 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/user_file_service/filemanagement_aafwk.gni") ohos_unittest("external_file_access_basic_test") { branch_protector_ret = "pac_ret" sanitize = { integer_overflow = true cfi = true cfi_cross_dso = true debug = false } module_out_path = "user_file_service/user_file_service" sources = [ "external_file_access_test.cpp", "external_file_access_test_basic.cpp", "external_file_access_test_info.cpp", ] include_dirs = [ "${user_file_service_path}/interfaces/inner_api/file_access/include", "${user_file_service_path}/services/native/file_access_service/include", ] configs = [ "//build/config/compiler:exceptions" ] deps = [ "${user_file_service_path}/interfaces/inner_api/file_access:file_access_ext_base_include", "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit", "${user_file_service_path}/services:file_access_service", "${user_file_service_path}/services:file_access_service_base_source", ] external_deps = [ "ability_base:want", "ability_base:zuri", "ability_runtime:ability_context_native", "ability_runtime:ability_manager", "ability_runtime:abilitykit_native", "ability_runtime:app_context", "ability_runtime:app_manager", "ability_runtime:runtime", "ability_runtime:wantagent_innerkits", "access_token:libaccesstoken_sdk", "access_token:libnativetoken", "access_token:libtoken_setproc", "bundle_framework:appexecfwk_core", "cJSON:cjson_static", "c_utils:utils", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", "ipc:ipc_core", "ipc:rpc", "samgr:samgr_proxy", "selinux_adapter:librestorecon", ] defines = [ "private=public" ] } ohos_unittest("external_file_access_management_test") { branch_protector_ret = "pac_ret" sanitize = { integer_overflow = true cfi = true cfi_cross_dso = true debug = false } module_out_path = "user_file_service/user_file_service" sources = [ "external_file_access_test.cpp", "external_file_access_test_management.cpp", "external_file_access_test_operations.cpp", ] include_dirs = [ "${user_file_service_path}/interfaces/inner_api/file_access/include", "${user_file_service_path}/services/native/file_access_service/include", ] configs = [ "//build/config/compiler:exceptions" ] deps = [ "${user_file_service_path}/interfaces/inner_api/file_access:file_access_ext_base_include", "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit", "${user_file_service_path}/services:file_access_service", "${user_file_service_path}/services:file_access_service_base_source", ] external_deps = [ "ability_base:want", "ability_base:zuri", "ability_runtime:ability_context_native", "ability_runtime:ability_manager", "ability_runtime:abilitykit_native", "ability_runtime:app_context", "ability_runtime:app_manager", "ability_runtime:runtime", "ability_runtime:wantagent_innerkits", "access_token:libaccesstoken_sdk", "access_token:libnativetoken", "access_token:libtoken_setproc", "bundle_framework:appexecfwk_core", "cJSON:cjson_static", "c_utils:utils", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", "ipc:ipc_core", "ipc:rpc", "samgr:samgr_proxy", "selinux_adapter:librestorecon", ] defines = [ "private=public" ] } ohos_unittest("external_file_access_notify_test") { branch_protector_ret = "pac_ret" sanitize = { integer_overflow = true cfi = true cfi_cross_dso = true debug = false } module_out_path = "user_file_service/user_file_service" sources = [ "external_notify_test.cpp" ] include_dirs = [ "${user_file_service_path}/interfaces/inner_api/file_access/include", "${user_file_service_path}/services/native/file_access_service/include", ] configs = [ "//build/config/compiler:exceptions" ] deps = [ "${user_file_service_path}/interfaces/inner_api/file_access:file_access_ext_base_include", "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit", "${user_file_service_path}/services:file_access_service", "${user_file_service_path}/services:file_access_service_base_source", ] external_deps = [ "ability_base:want", "ability_base:zuri", "ability_runtime:ability_context_native", "ability_runtime:ability_manager", "ability_runtime:abilitykit_native", "ability_runtime:app_context", "ability_runtime:app_manager", "ability_runtime:runtime", "ability_runtime:wantagent_innerkits", "access_token:libaccesstoken_sdk", "access_token:libnativetoken", "access_token:libtoken_setproc", "bundle_framework:appexecfwk_core", "cJSON:cjson_static", "c_utils:utils", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", "ipc:ipc_core", "ipc:rpc", "samgr:samgr_proxy", "selinux_adapter:librestorecon", ] } ohos_unittest("abnormal_file_access_test") { branch_protector_ret = "pac_ret" sanitize = { integer_overflow = true cfi = true cfi_cross_dso = true debug = false } module_out_path = "user_file_service/user_file_service" sources = [ "${user_file_service_path}/interfaces/inner_api/file_access/src/uri_ext.cpp", "abnormal_file_access_test.cpp", ] include_dirs = [ "${user_file_service_path}/interfaces/inner_api/file_access/include" ] configs = [ "//build/config/compiler:exceptions" ] deps = [ "${user_file_service_path}/interfaces/inner_api/file_access:file_access_ext_base_include", "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit", "${user_file_service_path}/services:file_access_service_base_source", ] external_deps = [ "ability_base:want", "ability_base:zuri", "ability_runtime:ability_context_native", "ability_runtime:ability_manager", "ability_runtime:abilitykit_native", "ability_runtime:app_context", "ability_runtime:app_manager", "ability_runtime:runtime", "ability_runtime:wantagent_innerkits", "access_token:libaccesstoken_sdk", "access_token:libnativetoken", "access_token:libtoken_setproc", "bundle_framework:appexecfwk_core", "cJSON:cjson_static", "c_utils:utils", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", "ipc:ipc_core", "samgr:samgr_proxy", "selinux_adapter:librestorecon", ] } ohos_unittest("file_access_ext_stub_impl_test") { branch_protector_ret = "pac_ret" sanitize = { integer_overflow = true cfi = true cfi_cross_dso = true debug = false blocklist = "${user_file_service_path}/cfi_blocklist.txt" } module_out_path = "user_file_service/user_file_service" include_dirs = [ "${user_file_service_path}/interfaces/inner_api/file_access/include", "${user_file_service_path}/interfaces/kits/js/src/common", "${user_file_service_path}/utils", "mock", ] sources = [ "${user_file_service_path}/interfaces/inner_api/file_access/src/file_access_ext_stub_impl.cpp", "${user_file_service_path}/interfaces/inner_api/file_access/src/uri_ext.cpp", "file_access_ext_stub_impl_test.cpp", ] deps = [ "${user_file_service_path}/interfaces/inner_api/file_access:file_access_ext_base_include" ] external_deps = [ "ability_base:zuri", "ability_runtime:app_context", "ability_runtime:extensionkit_native", "ability_runtime:napi_common", "ability_runtime:runtime", "access_token:libaccesstoken_sdk", "access_token:libnativetoken", "access_token:libtoken_setproc", "cJSON:cjson_static", "c_utils:utils", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", "hitrace:hitrace_meter", "ipc:ipc_core", "ipc:ipc_napi", "napi:ace_napi", "selinux_adapter:librestorecon", ] use_exceptions = true } ohos_unittest("js_file_access_ext_ability_test") { branch_protector_ret = "pac_ret" sanitize = { integer_overflow = true cfi = true cfi_cross_dso = true debug = false blocklist = "${user_file_service_path}/cfi_blocklist.txt" } module_out_path = "user_file_service/user_file_service" include_dirs = [ "${user_file_service_path}/interfaces/inner_api/file_access/include", "${user_file_service_path}/interfaces/inner_api/file_access/src", "${user_file_service_path}/interfaces/kits/js/src/common", "${user_file_service_path}/services/native/file_access_service/include", "${user_file_service_path}/utils", "mock", ] sources = [ "${user_file_service_path}/interfaces/inner_api/file_access/src/file_access_ext_stub_impl.cpp", "${user_file_service_path}/interfaces/inner_api/file_access/src/napi_common_fileaccess.cpp", "${user_file_service_path}/interfaces/inner_api/file_access/src/uri_ext.cpp", "js_file_access_ext_ability_test.cpp", "mock/js_native_api_mock.cpp", ] deps = [ "${user_file_service_path}/interfaces/inner_api/file_access:file_access_ext_base_include", "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit", "${user_file_service_path}/services:file_access_service_base_include", ] external_deps = [ "ability_base:want", "ability_base:zuri", "ability_runtime:app_context", "ability_runtime:extensionkit_native", "ability_runtime:napi_common", "ability_runtime:runtime", "access_token:libaccesstoken_sdk", "bundle_framework:appexecfwk_core", "c_utils:utils", "file_api:filemgmt_libn", "googletest:gmock_main", "googletest:gtest_main", "hilog:libhilog", "hitrace:hitrace_meter", "init:libbegetutil", "ipc:ipc_core", "ipc:ipc_napi", "napi:ace_napi", "os_account:os_account_innerkits", ] defines = [ "private=public" ] use_exceptions = true } ohos_unittest("urie_test") { module_out_path = "user_file_service/user_file_service" sources = [ "${user_file_service_path}/interfaces/inner_api/file_access/src/uri_ext.cpp", "urie_test.cpp", ] include_dirs = [ "${user_file_service_path}/interfaces/inner_api/file_access/include" ] configs = [ "//build/config/compiler:exceptions" ] deps = [] external_deps = [ "ability_base:base", "ability_base:want", "ability_base:zuri", "bundle_framework:appexecfwk_base", "c_utils:utils", "googletest:gtest_main", "hilog:libhilog", ] defines = [ "private=public" ] } group("user_file_service_unit_test") { testonly = true deps = [ ":abnormal_file_access_test", ":external_file_access_basic_test", ":external_file_access_management_test", ":external_file_access_notify_test", ":file_access_ext_stub_impl_test", ":js_file_access_ext_ability_test", ":urie_test", ] }