# Copyright (c) 2022-2024 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("medialibrary_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/tests" sources = [ "medialibrary_file_access_test_basic.cpp", "medialibrary_file_access_test_info.cpp", ] include_dirs = [ "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", "${user_file_service_path}/interfaces/inner_api/file_access/include", "//third_party/googletest/googlemock/include/gmock", "${access_token_path}/frameworks/accesstoken:accesstoken_communication_adapter_cxx/", ] configs = [ "//build/config/compiler:exceptions" ] deps = [ "${ability_runtime_path}/frameworks/native/ability/native:abilitykit_native", "${ability_runtime_path}/frameworks/native/appkit:app_context", "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit", "//third_party/googletest:gmock_main", ] external_deps = [ "ability_base:want", "ability_base:zuri", "ability_runtime:ability_context_native", "ability_runtime:ability_manager", "ability_runtime:app_manager", "ability_runtime:runtime", "ability_runtime:wantagent_innerkits", "access_token:libaccesstoken_sdk", "access_token:libnativetoken", "access_token:libtoken_setproc", "c_utils:utils", "ipc:ipc_core", "ipc:rpc", "samgr:samgr_proxy", ] resource_config_file = "${user_file_service_path}/test/unittest/resources/ohos_test.xml" } 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/tests" sources = [ "external_file_access_test.cpp", "external_file_access_test_basic.cpp", "external_file_access_test_info.cpp", ] include_dirs = [ "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", "//third_party/googletest/googlemock/include/gmock", "${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 = [ "${ability_runtime_path}/frameworks/native/ability/native:abilitykit_native", "${ability_runtime_path}/frameworks/native/appkit:app_context", "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit", "${user_file_service_path}/services:file_access_service", "//third_party/googletest:gmock_main", ] external_deps = [ "ability_base:want", "ability_base:zuri", "ability_runtime:ability_context_native", "ability_runtime:ability_manager", "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", "c_utils:utils", "hilog:libhilog", "ipc:ipc_core", "ipc:rpc", "samgr:samgr_proxy", ] 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/tests" sources = [ "external_file_access_test.cpp", "external_file_access_test_management.cpp", "external_file_access_test_operations.cpp", ] include_dirs = [ "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", "//third_party/googletest/googlemock/include/gmock", "${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 = [ "${ability_runtime_path}/frameworks/native/ability/native:abilitykit_native", "${ability_runtime_path}/frameworks/native/appkit:app_context", "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit", "${user_file_service_path}/services:file_access_service", "//third_party/googletest:gmock_main", ] external_deps = [ "ability_base:want", "ability_base:zuri", "ability_runtime:ability_context_native", "ability_runtime:ability_manager", "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", "c_utils:utils", "hilog:libhilog", "ipc:ipc_core", "ipc:rpc", "samgr:samgr_proxy", ] 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/tests" sources = [ "external_notify_test.cpp" ] include_dirs = [ "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", "//third_party/googletest/googlemock/include/gmock", "${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 = [ "${ability_runtime_path}/frameworks/native/ability/native:abilitykit_native", "${ability_runtime_path}/frameworks/native/appkit:app_context", "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit", "${user_file_service_path}/services:file_access_service", "//third_party/googletest:gmock_main", ] external_deps = [ "ability_base:want", "ability_base:zuri", "ability_runtime:ability_context_native", "ability_runtime:ability_manager", "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", "c_utils:utils", "hilog:libhilog", "ipc:ipc_core", "ipc:rpc", "samgr:samgr_proxy", ] } 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/tests" sources = [ "abnormal_file_access_test.cpp" ] include_dirs = [ "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", "//third_party/googletest/googlemock/include/gmock", "${user_file_service_path}/interfaces/inner_api/file_access/include", ] configs = [ "//build/config/compiler:exceptions" ] deps = [ "${ability_runtime_path}/frameworks/native/ability/native:abilitykit_native", "${ability_runtime_path}/frameworks/native/appkit:app_context", "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit", "//third_party/googletest:gmock_main", ] external_deps = [ "ability_base:want", "ability_base:zuri", "ability_runtime:ability_context_native", "ability_runtime:ability_manager", "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", "c_utils:utils", "hilog:libhilog", "ipc:ipc_core", "samgr:samgr_proxy", ] } 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/tests" include_dirs = [ "${ability_runtime_napi_path}/inner/napi_common", "${ability_runtime_path}/interfaces/kits/native/ability/ability_runtime", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime", "${user_file_service_path}/interfaces/inner_api/file_access/include", "${user_file_service_path}/interfaces/kits/js/src/common", "${user_file_service_path}/utils", "//third_party/googletest/googlemock/include/gmock", "mock", ] sources = [ "${user_file_service_path}/interfaces/inner_api/file_access/src/file_access_ext_stub_impl.cpp", "file_access_ext_stub_impl_test.cpp", ] deps = [ "//third_party/googletest:gmock_main" ] external_deps = [ "ability_base:zuri", "ability_runtime:app_context", "ability_runtime:extensionkit_native", "ability_runtime:napi_common", "ability_runtime:runtime", "c_utils:utils", "hilog:libhilog", "hitrace:hitrace_meter", "ipc:ipc_core", "napi:ace_napi", ] use_exceptions = true } ohos_unittest("file_access_service_proxy_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/tests" include_dirs = [ "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", "${user_file_service_path}/interfaces/inner_api/file_access/include", "${user_file_service_path}/services/native/file_access_service/include", "${user_file_service_path}/interfaces/kits/js/src/common", "${user_file_service_path}/utils", "//third_party/googletest/googlemock/include/gmock", "mock", ] sources = [ "${user_file_service_path}/services/native/file_access_service/src/file_access_service_proxy.cpp", "file_access_service_proxy_test.cpp", "mock/message_parcel_mock.cpp", "mock/service_registry_mock.cpp", ] deps = [ "//third_party/googletest:gmock_main", "//third_party/googletest:gtest_main", ] external_deps = [ "ability_base:want", "ability_base:zuri", "ability_runtime:ability_manager", "bundle_framework:appexecfwk_core", "c_utils:utils", "hilog:libhilog", "hitrace:hitrace_meter", "image_framework:image", "ipc:ipc_core", "napi:ace_napi", "safwk:system_ability_fwk", ] defines = [ "private=public" ] 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/tests" include_dirs = [ "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context", "${commonlibrary_path}/c_utils/base/include", "${file_api_path}/utils/filemgmt_libn/include", "${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", "//third_party/googletest/googlemock/include/gmock", "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", "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_extension_ability_kit", "//third_party/googletest:gmock_main", "//third_party/googletest:gtest_main", ] 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", "hilog:libhilog", "hitrace:hitrace_meter", "init:libbegetutil", "ipc:ipc_core", "napi:ace_napi", "os_account:os_account_innerkits", ] defines = [ "private=public" ] use_exceptions = true } 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", ":file_access_service_proxy_test", ":js_file_access_ext_ability_test", ] }