1# Copyright (c) 2022-2023 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/app_file_service/backup.gni")
16
17ohos_unittest("ext_extension_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
26  module_out_path = path_module_out_tests
27
28  sources = [
29    "${path_backup}/frameworks/native/backup_kit_inner/src/service_incremental_proxy.cpp",
30    "${path_backup}/frameworks/native/backup_kit_inner/src/service_proxy.cpp",
31    "ext_extension_test.cpp",
32  ]
33
34  include_dirs = [
35    "${path_backup}/frameworks/native/backup_ext/include",
36    "${path_backup}/frameworks/native/backup_ext/src",
37    "${path_backup}/frameworks/native/backup_kit_inner/src",
38    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl",
39    "${path_backup}/interfaces/common/include",
40    "${path_backup}/utils/include",
41  ]
42
43  deps = [
44    "${path_backup}/utils:backup_utils",
45    "${path_jsoncpp}:jsoncpp",
46    "//third_party/googletest:gtest_main",
47  ]
48
49  external_deps = [
50    "ability_base:want",
51    "ability_runtime:ability_context_native",
52    "ability_runtime:abilitykit_native",
53    "ability_runtime:app_context",
54    "ability_runtime:appkit_native",
55    "ability_runtime:runtime",
56    "access_token:libaccesstoken_sdk",
57    "bundle_framework:appexecfwk_core",
58    "c_utils:utils",
59    "hilog:libhilog",
60    "hitrace:hitrace_meter",
61    "ipc:ipc_core",
62    "napi:ace_napi",
63    "safwk:system_ability_fwk",
64    "samgr:samgr_proxy",
65  ]
66
67  cflags = [ "--coverage" ]
68  ldflags = [ "--coverage" ]
69  cflags_cc = [ "--coverage" ]
70
71  defines = [
72    "LOG_TAG=\"app_file_service\"",
73    "LOG_DOMAIN=0xD004303",
74    "private=public",
75  ]
76
77  use_exceptions = true
78}
79
80ohos_unittest("ext_extension_stub_test") {
81  module_out_path = path_module_out_tests
82
83  sources = [
84    "${path_backup_mock}/module_ipc/message_parcel_mock.cpp",
85    "${path_backup}/frameworks/native/backup_ext/src/ext_extension_stub.cpp",
86    "ext_extension_stub_test.cpp",
87  ]
88
89  include_dirs = [
90    "${path_backup_mock}/module_ipc",
91    "${path_backup}/frameworks/native/backup_ext/include",
92    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl",
93    "${path_backup}/interfaces/common/include",
94    "${path_backup}/utils/include",
95  ]
96
97  deps = [
98    "${path_backup}/utils:backup_utils",
99    "//third_party/googletest:gmock_main",
100    "//third_party/googletest:gtest_main",
101  ]
102
103  external_deps = [
104    "c_utils:utils",
105    "hilog:libhilog",
106    "ipc:ipc_core",
107    "safwk:system_ability_fwk",
108  ]
109
110  cflags = [ "--coverage" ]
111  ldflags = [ "--coverage" ]
112  cflags_cc = [ "--coverage" ]
113
114  defines = [
115    "LOG_TAG=\"app_file_service\"",
116    "LOG_DOMAIN=0xD004303",
117    "private=public",
118  ]
119
120  use_exceptions = true
121}
122
123ohos_unittest("tar_file_test") {
124  branch_protector_ret = "pac_ret"
125  sanitize = {
126    integer_overflow = true
127    cfi = true
128    cfi_cross_dso = true
129    debug = false
130  }
131
132  module_out_path = path_module_out_tests
133
134  sources = [
135    "${path_backup}/frameworks/native/backup_ext/src/ext_backup.cpp",
136    "${path_backup}/frameworks/native/backup_ext/src/ext_backup_context.cpp",
137    "${path_backup}/frameworks/native/backup_ext/src/ext_backup_context_js.cpp",
138    "${path_backup}/frameworks/native/backup_ext/src/ext_backup_js.cpp",
139    "${path_backup}/frameworks/native/backup_ext/src/ext_backup_loader.cpp",
140    "${path_backup}/frameworks/native/backup_ext/src/ext_extension.cpp",
141    "${path_backup}/frameworks/native/backup_ext/src/ext_extension_stub.cpp",
142    "${path_backup}/frameworks/native/backup_ext/src/sub_ext_extension.cpp",
143    "${path_backup}/frameworks/native/backup_ext/src/tar_file.cpp",
144    "${path_backup}/frameworks/native/backup_ext/src/untar_file.cpp",
145    "tar_file_test.cpp",
146  ]
147  sources += backup_mock_proxy_src
148
149  include_dirs = [
150    "${path_ability_runtime}/services/common/include",
151    "${path_ability_runtime}/interfaces/kits/napi/aafwk/inner/napi_common",
152    "${path_ability_runtime}/interfaces/kits/native/appkit/ability_runtime",
153    "${path_backup}/frameworks/native/backup_ext/include",
154    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/",
155    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl",
156    "${path_backup}/frameworks/native/backup_kit_inner/include",
157    "${path_backup}/utils/include",
158    "${path_napi}/native_engine",
159  ]
160  include_dirs += backup_mock_utils_include
161
162  deps = [
163    "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner",
164    "${path_backup}/interfaces/innerkits/native:sandbox_helper_native",
165    "${path_backup}/tests/utils:backup_test_utils",
166    "${path_backup}/utils:backup_utils",
167    "${path_googletest}:gmock_main",
168    "${path_jsoncpp}:jsoncpp",
169  ]
170
171  cflags = [ "--coverage" ]
172  ldflags = [ "--coverage" ]
173  cflags_cc = [ "--coverage" ]
174
175  external_deps = [
176    "ability_base:want",
177    "ability_runtime:ability_context_native",
178    "ability_runtime:abilitykit_native",
179    "ability_runtime:app_context",
180    "ability_runtime:appkit_native",
181    "ability_runtime:runtime",
182    "access_token:libaccesstoken_sdk",
183    "bundle_framework:appexecfwk_core",
184    "c_utils:utils",
185    "hitrace:hitrace_meter",
186    "ipc:ipc_core",
187    "napi:ace_napi",
188    "samgr:samgr_proxy",
189  ]
190
191  defines = [ "private=public" ]
192
193  use_exceptions = true
194}
195
196ohos_unittest("untar_file_sup_test") {
197  branch_protector_ret = "pac_ret"
198  sanitize = {
199    integer_overflow = true
200    cfi = true
201    cfi_cross_dso = true
202    debug = false
203    blocklist = "${path_backup}/cfi_blocklist.txt"
204  }
205
206  module_out_path = path_module_out_tests
207
208  sources = [
209    "${path_backup}/frameworks/native/backup_ext/src/ext_backup.cpp",
210    "${path_backup}/frameworks/native/backup_ext/src/ext_backup_context.cpp",
211    "${path_backup}/frameworks/native/backup_ext/src/ext_backup_context_js.cpp",
212    "${path_backup}/frameworks/native/backup_ext/src/ext_backup_js.cpp",
213    "${path_backup}/frameworks/native/backup_ext/src/ext_backup_loader.cpp",
214    "${path_backup}/frameworks/native/backup_ext/src/ext_extension.cpp",
215    "${path_backup}/frameworks/native/backup_ext/src/ext_extension_stub.cpp",
216    "${path_backup}/frameworks/native/backup_ext/src/sub_ext_extension.cpp",
217    "${path_backup}/frameworks/native/backup_ext/src/tar_file.cpp",
218    "${path_backup}/tests/mock/library_func_mock/library_func_mock.cpp",
219    "untar_file_sup_test.cpp",
220  ]
221  sources += backup_mock_proxy_src
222
223  include_dirs = [
224    "${path_ability_runtime}/services/common/include",
225    "${path_ability_runtime}/interfaces/kits/napi/aafwk/inner/napi_common",
226    "${path_ability_runtime}/interfaces/kits/native/appkit/ability_runtime",
227    "${path_backup}/frameworks/native/backup_ext/include",
228    "${path_backup}/frameworks/native/backup_ext/src",
229    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/",
230    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl",
231    "${path_backup}/frameworks/native/backup_kit_inner/include",
232    "${path_backup}/tests/mock/library_func_mock",
233    "${path_backup}/utils/include",
234    "${path_napi}/native_engine",
235  ]
236  include_dirs += backup_mock_utils_include
237
238  deps = [
239    "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner",
240    "${path_backup}/interfaces/innerkits/native:sandbox_helper_native",
241    "${path_backup}/tests/utils:backup_test_utils",
242    "${path_backup}/utils:backup_utils",
243    "${path_googletest}:gmock_main",
244    "${path_jsoncpp}:jsoncpp",
245  ]
246
247  cflags = [ "--coverage" ]
248  ldflags = [ "--coverage" ]
249  cflags_cc = [ "--coverage" ]
250
251  external_deps = [
252    "ability_base:want",
253    "ability_runtime:ability_context_native",
254    "ability_runtime:abilitykit_native",
255    "ability_runtime:app_context",
256    "ability_runtime:appkit_native",
257    "ability_runtime:runtime",
258    "access_token:libaccesstoken_sdk",
259    "bundle_framework:appexecfwk_core",
260    "c_utils:utils",
261    "hitrace:hitrace_meter",
262    "ipc:ipc_core",
263    "napi:ace_napi",
264    "samgr:samgr_proxy",
265  ]
266
267  defines = [ "private=public" ]
268
269  use_exceptions = true
270}
271
272ohos_unittest("untar_file_test") {
273  branch_protector_ret = "pac_ret"
274  sanitize = {
275    integer_overflow = true
276    cfi = true
277    cfi_cross_dso = true
278    debug = false
279  }
280
281  module_out_path = path_module_out_tests
282
283  sources = [
284    "${path_backup}/frameworks/native/backup_ext/src/ext_backup.cpp",
285    "${path_backup}/frameworks/native/backup_ext/src/ext_backup_context.cpp",
286    "${path_backup}/frameworks/native/backup_ext/src/ext_backup_context_js.cpp",
287    "${path_backup}/frameworks/native/backup_ext/src/ext_backup_js.cpp",
288    "${path_backup}/frameworks/native/backup_ext/src/ext_backup_loader.cpp",
289    "${path_backup}/frameworks/native/backup_ext/src/ext_extension.cpp",
290    "${path_backup}/frameworks/native/backup_ext/src/ext_extension_stub.cpp",
291    "${path_backup}/frameworks/native/backup_ext/src/sub_ext_extension.cpp",
292    "${path_backup}/frameworks/native/backup_ext/src/tar_file.cpp",
293    "${path_backup}/frameworks/native/backup_ext/src/untar_file.cpp",
294    "untar_file_test.cpp",
295  ]
296  sources += backup_mock_proxy_src
297
298  include_dirs = [
299    "${path_ability_runtime}/services/common/include",
300    "${path_ability_runtime}/interfaces/kits/napi/aafwk/inner/napi_common",
301    "${path_ability_runtime}/interfaces/kits/native/appkit/ability_runtime",
302    "${path_backup}/frameworks/native/backup_ext/include",
303    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/",
304    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl",
305    "${path_backup}/frameworks/native/backup_kit_inner/include",
306    "${path_backup}/utils/include",
307    "${path_napi}/native_engine",
308  ]
309  include_dirs += backup_mock_utils_include
310
311  deps = [
312    "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner",
313    "${path_backup}/interfaces/innerkits/native:sandbox_helper_native",
314    "${path_backup}/tests/utils:backup_test_utils",
315    "${path_backup}/utils:backup_utils",
316    "${path_googletest}:gmock_main",
317    "${path_jsoncpp}:jsoncpp",
318  ]
319
320  cflags = [ "--coverage" ]
321  ldflags = [ "--coverage" ]
322  cflags_cc = [ "--coverage" ]
323
324  external_deps = [
325    "ability_base:want",
326    "ability_runtime:ability_context_native",
327    "ability_runtime:abilitykit_native",
328    "ability_runtime:app_context",
329    "ability_runtime:appkit_native",
330    "ability_runtime:runtime",
331    "access_token:libaccesstoken_sdk",
332    "bundle_framework:appexecfwk_core",
333    "c_utils:utils",
334    "hitrace:hitrace_meter",
335    "ipc:ipc_core",
336    "napi:ace_napi",
337    "samgr:samgr_proxy",
338  ]
339
340  defines = [ "private=public" ]
341
342  use_exceptions = true
343}
344
345ohos_unittest("ext_backup_js_test") {
346  module_out_path = path_module_out_tests
347
348  sources = [
349    "${path_backup}/tests/mock/backup_ext/src/ext_backup_mock.cpp",
350    "${path_backup}/tests/mock/napi/src/napi_mock.cpp",
351    "ext_backup_js_test.cpp",
352  ]
353
354  include_dirs = [
355    "${path_backup}/frameworks/native/backup_ext/include",
356    "${path_backup}/frameworks/native/backup_ext/src",
357    "${path_backup}/frameworks/native/backup_kit_inner/src",
358    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl",
359    "${path_backup}/interfaces/common/include",
360    "${path_backup}/tests/mock/backup_ext/include",
361    "${path_backup}/tests/mock/napi/include",
362    "${path_backup}/utils/include",
363  ]
364
365  deps = [
366    "${path_backup}/utils:backup_utils",
367    "${path_googletest}:gmock_main",
368    "${path_googletest}:gtest_main",
369    "${path_jsoncpp}:jsoncpp",
370  ]
371
372  external_deps = [
373    "ability_base:want",
374    "ability_runtime:ability_context_native",
375    "ability_runtime:abilitykit_native",
376    "ability_runtime:app_context",
377    "ability_runtime:appkit_native",
378    "ability_runtime:runtime",
379    "access_token:libaccesstoken_sdk",
380    "bundle_framework:appexecfwk_base",
381    "bundle_framework:appexecfwk_core",
382    "c_utils:utils",
383    "hilog:libhilog",
384    "hitrace:hitrace_meter",
385    "ipc:ipc_core",
386    "napi:ace_napi",
387    "safwk:system_ability_fwk",
388    "samgr:samgr_proxy",
389  ]
390
391  cflags = [ "--coverage" ]
392  ldflags = [ "--coverage" ]
393  cflags_cc = [ "--coverage" ]
394
395  defines = [
396    "LOG_TAG=\"app_file_service\"",
397    "LOG_DOMAIN=0xD004303",
398    "private=public",
399  ]
400
401  use_exceptions = true
402}
403
404group("backup_ext_test") {
405  testonly = true
406  if (!use_libfuzzer) {
407    deps = [
408      ":ext_backup_js_test",
409      ":ext_extension_stub_test",
410      ":ext_extension_test",
411      ":tar_file_test",
412      ":untar_file_sup_test",
413      ":untar_file_test",
414    ]
415  }
416}
417