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/user_file_service/filemanagement_aafwk.gni") 16 17ohos_unittest("external_file_access_basic_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 module_out_path = "user_file_service/user_file_service" 26 27 sources = [ 28 "external_file_access_test.cpp", 29 "external_file_access_test_basic.cpp", 30 "external_file_access_test_info.cpp", 31 ] 32 33 include_dirs = [ 34 "${user_file_service_path}/interfaces/inner_api/file_access/include", 35 "${user_file_service_path}/services/native/file_access_service/include", 36 ] 37 38 configs = [ "//build/config/compiler:exceptions" ] 39 40 deps = [ 41 "${user_file_service_path}/interfaces/inner_api/file_access:file_access_ext_base_include", 42 "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit", 43 "${user_file_service_path}/services:file_access_service", 44 "${user_file_service_path}/services:file_access_service_base_source", 45 ] 46 47 external_deps = [ 48 "ability_base:want", 49 "ability_base:zuri", 50 "ability_runtime:ability_context_native", 51 "ability_runtime:ability_manager", 52 "ability_runtime:abilitykit_native", 53 "ability_runtime:app_context", 54 "ability_runtime:app_manager", 55 "ability_runtime:runtime", 56 "ability_runtime:wantagent_innerkits", 57 "access_token:libaccesstoken_sdk", 58 "access_token:libnativetoken", 59 "access_token:libtoken_setproc", 60 "bundle_framework:appexecfwk_core", 61 "cJSON:cjson_static", 62 "c_utils:utils", 63 "googletest:gmock_main", 64 "googletest:gtest_main", 65 "hilog:libhilog", 66 "ipc:ipc_core", 67 "ipc:rpc", 68 "samgr:samgr_proxy", 69 "selinux_adapter:librestorecon", 70 ] 71 72 defines = [ "private=public" ] 73} 74 75ohos_unittest("external_file_access_management_test") { 76 branch_protector_ret = "pac_ret" 77 sanitize = { 78 integer_overflow = true 79 cfi = true 80 cfi_cross_dso = true 81 debug = false 82 } 83 module_out_path = "user_file_service/user_file_service" 84 85 sources = [ 86 "external_file_access_test.cpp", 87 "external_file_access_test_management.cpp", 88 "external_file_access_test_operations.cpp", 89 ] 90 91 include_dirs = [ 92 "${user_file_service_path}/interfaces/inner_api/file_access/include", 93 "${user_file_service_path}/services/native/file_access_service/include", 94 ] 95 96 configs = [ "//build/config/compiler:exceptions" ] 97 98 deps = [ 99 "${user_file_service_path}/interfaces/inner_api/file_access:file_access_ext_base_include", 100 "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit", 101 "${user_file_service_path}/services:file_access_service", 102 "${user_file_service_path}/services:file_access_service_base_source", 103 ] 104 105 external_deps = [ 106 "ability_base:want", 107 "ability_base:zuri", 108 "ability_runtime:ability_context_native", 109 "ability_runtime:ability_manager", 110 "ability_runtime:abilitykit_native", 111 "ability_runtime:app_context", 112 "ability_runtime:app_manager", 113 "ability_runtime:runtime", 114 "ability_runtime:wantagent_innerkits", 115 "access_token:libaccesstoken_sdk", 116 "access_token:libnativetoken", 117 "access_token:libtoken_setproc", 118 "bundle_framework:appexecfwk_core", 119 "cJSON:cjson_static", 120 "c_utils:utils", 121 "googletest:gmock_main", 122 "googletest:gtest_main", 123 "hilog:libhilog", 124 "ipc:ipc_core", 125 "ipc:rpc", 126 "samgr:samgr_proxy", 127 "selinux_adapter:librestorecon", 128 ] 129 130 defines = [ "private=public" ] 131} 132 133ohos_unittest("external_file_access_notify_test") { 134 branch_protector_ret = "pac_ret" 135 sanitize = { 136 integer_overflow = true 137 cfi = true 138 cfi_cross_dso = true 139 debug = false 140 } 141 module_out_path = "user_file_service/user_file_service" 142 143 sources = [ "external_notify_test.cpp" ] 144 145 include_dirs = [ 146 "${user_file_service_path}/interfaces/inner_api/file_access/include", 147 "${user_file_service_path}/services/native/file_access_service/include", 148 ] 149 150 configs = [ "//build/config/compiler:exceptions" ] 151 152 deps = [ 153 "${user_file_service_path}/interfaces/inner_api/file_access:file_access_ext_base_include", 154 "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit", 155 "${user_file_service_path}/services:file_access_service", 156 "${user_file_service_path}/services:file_access_service_base_source", 157 ] 158 159 external_deps = [ 160 "ability_base:want", 161 "ability_base:zuri", 162 "ability_runtime:ability_context_native", 163 "ability_runtime:ability_manager", 164 "ability_runtime:abilitykit_native", 165 "ability_runtime:app_context", 166 "ability_runtime:app_manager", 167 "ability_runtime:runtime", 168 "ability_runtime:wantagent_innerkits", 169 "access_token:libaccesstoken_sdk", 170 "access_token:libnativetoken", 171 "access_token:libtoken_setproc", 172 "bundle_framework:appexecfwk_core", 173 "cJSON:cjson_static", 174 "c_utils:utils", 175 "googletest:gmock_main", 176 "googletest:gtest_main", 177 "hilog:libhilog", 178 "ipc:ipc_core", 179 "ipc:rpc", 180 "samgr:samgr_proxy", 181 "selinux_adapter:librestorecon", 182 ] 183} 184 185ohos_unittest("abnormal_file_access_test") { 186 branch_protector_ret = "pac_ret" 187 sanitize = { 188 integer_overflow = true 189 cfi = true 190 cfi_cross_dso = true 191 debug = false 192 } 193 module_out_path = "user_file_service/user_file_service" 194 195 sources = [ 196 "${user_file_service_path}/interfaces/inner_api/file_access/src/uri_ext.cpp", 197 "abnormal_file_access_test.cpp", 198 ] 199 200 include_dirs = 201 [ "${user_file_service_path}/interfaces/inner_api/file_access/include" ] 202 203 configs = [ "//build/config/compiler:exceptions" ] 204 205 deps = [ 206 "${user_file_service_path}/interfaces/inner_api/file_access:file_access_ext_base_include", 207 "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit", 208 "${user_file_service_path}/services:file_access_service_base_source", 209 ] 210 211 external_deps = [ 212 "ability_base:want", 213 "ability_base:zuri", 214 "ability_runtime:ability_context_native", 215 "ability_runtime:ability_manager", 216 "ability_runtime:abilitykit_native", 217 "ability_runtime:app_context", 218 "ability_runtime:app_manager", 219 "ability_runtime:runtime", 220 "ability_runtime:wantagent_innerkits", 221 "access_token:libaccesstoken_sdk", 222 "access_token:libnativetoken", 223 "access_token:libtoken_setproc", 224 "bundle_framework:appexecfwk_core", 225 "cJSON:cjson_static", 226 "c_utils:utils", 227 "googletest:gmock_main", 228 "googletest:gtest_main", 229 "hilog:libhilog", 230 "ipc:ipc_core", 231 "samgr:samgr_proxy", 232 "selinux_adapter:librestorecon", 233 ] 234} 235 236ohos_unittest("file_access_ext_stub_impl_test") { 237 branch_protector_ret = "pac_ret" 238 sanitize = { 239 integer_overflow = true 240 cfi = true 241 cfi_cross_dso = true 242 debug = false 243 blocklist = "${user_file_service_path}/cfi_blocklist.txt" 244 } 245 module_out_path = "user_file_service/user_file_service" 246 247 include_dirs = [ 248 "${user_file_service_path}/interfaces/inner_api/file_access/include", 249 "${user_file_service_path}/interfaces/kits/js/src/common", 250 "${user_file_service_path}/utils", 251 "mock", 252 ] 253 254 sources = [ 255 "${user_file_service_path}/interfaces/inner_api/file_access/src/file_access_ext_stub_impl.cpp", 256 "${user_file_service_path}/interfaces/inner_api/file_access/src/uri_ext.cpp", 257 "file_access_ext_stub_impl_test.cpp", 258 ] 259 260 deps = [ "${user_file_service_path}/interfaces/inner_api/file_access:file_access_ext_base_include" ] 261 262 external_deps = [ 263 "ability_base:zuri", 264 "ability_runtime:app_context", 265 "ability_runtime:extensionkit_native", 266 "ability_runtime:napi_common", 267 "ability_runtime:runtime", 268 "access_token:libaccesstoken_sdk", 269 "access_token:libnativetoken", 270 "access_token:libtoken_setproc", 271 "cJSON:cjson_static", 272 "c_utils:utils", 273 "googletest:gmock_main", 274 "googletest:gtest_main", 275 "hilog:libhilog", 276 "hitrace:hitrace_meter", 277 "ipc:ipc_core", 278 "ipc:ipc_napi", 279 "napi:ace_napi", 280 "selinux_adapter:librestorecon", 281 ] 282 283 use_exceptions = true 284} 285 286ohos_unittest("js_file_access_ext_ability_test") { 287 branch_protector_ret = "pac_ret" 288 sanitize = { 289 integer_overflow = true 290 cfi = true 291 cfi_cross_dso = true 292 debug = false 293 blocklist = "${user_file_service_path}/cfi_blocklist.txt" 294 } 295 module_out_path = "user_file_service/user_file_service" 296 297 include_dirs = [ 298 "${user_file_service_path}/interfaces/inner_api/file_access/include", 299 "${user_file_service_path}/interfaces/inner_api/file_access/src", 300 "${user_file_service_path}/interfaces/kits/js/src/common", 301 "${user_file_service_path}/services/native/file_access_service/include", 302 "${user_file_service_path}/utils", 303 "mock", 304 ] 305 306 sources = [ 307 "${user_file_service_path}/interfaces/inner_api/file_access/src/file_access_ext_stub_impl.cpp", 308 "${user_file_service_path}/interfaces/inner_api/file_access/src/napi_common_fileaccess.cpp", 309 "${user_file_service_path}/interfaces/inner_api/file_access/src/uri_ext.cpp", 310 "js_file_access_ext_ability_test.cpp", 311 "mock/js_native_api_mock.cpp", 312 ] 313 314 deps = [ 315 "${user_file_service_path}/interfaces/inner_api/file_access:file_access_ext_base_include", 316 "${user_file_service_path}/interfaces/inner_api/file_access:file_access_extension_ability_kit", 317 "${user_file_service_path}/services:file_access_service_base_include", 318 ] 319 320 external_deps = [ 321 "ability_base:want", 322 "ability_base:zuri", 323 "ability_runtime:app_context", 324 "ability_runtime:extensionkit_native", 325 "ability_runtime:napi_common", 326 "ability_runtime:runtime", 327 "access_token:libaccesstoken_sdk", 328 "bundle_framework:appexecfwk_core", 329 "c_utils:utils", 330 "file_api:filemgmt_libn", 331 "googletest:gmock_main", 332 "googletest:gtest_main", 333 "hilog:libhilog", 334 "hitrace:hitrace_meter", 335 "init:libbegetutil", 336 "ipc:ipc_core", 337 "ipc:ipc_napi", 338 "napi:ace_napi", 339 "os_account:os_account_innerkits", 340 ] 341 342 defines = [ "private=public" ] 343 344 use_exceptions = true 345} 346 347ohos_unittest("urie_test") { 348 module_out_path = "user_file_service/user_file_service" 349 sources = [ 350 "${user_file_service_path}/interfaces/inner_api/file_access/src/uri_ext.cpp", 351 "urie_test.cpp", 352 ] 353 354 include_dirs = 355 [ "${user_file_service_path}/interfaces/inner_api/file_access/include" ] 356 357 configs = [ "//build/config/compiler:exceptions" ] 358 359 deps = [] 360 361 external_deps = [ 362 "ability_base:base", 363 "ability_base:want", 364 "ability_base:zuri", 365 "bundle_framework:appexecfwk_base", 366 "c_utils:utils", 367 "googletest:gtest_main", 368 "hilog:libhilog", 369 ] 370 371 defines = [ "private=public" ] 372} 373 374group("user_file_service_unit_test") { 375 testonly = true 376 377 deps = [ 378 ":abnormal_file_access_test", 379 ":external_file_access_basic_test", 380 ":external_file_access_management_test", 381 ":external_file_access_notify_test", 382 ":file_access_ext_stub_impl_test", 383 ":js_file_access_ext_ability_test", 384 ":urie_test", 385 ] 386}