• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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}