1# Copyright (c) 2022-2024 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/app_file_service.gni")
16import("//foundation/filemanagement/app_file_service/backup.gni")
17
18ohos_unittest("module_ipc_test") {
19  branch_protector_ret = "pac_ret"
20
21  module_out_path = path_module_out_tests
22
23  sources = [
24    "${path_backup_mock}/module_ipc/app_gallery_dispose_proxy_mock.cpp",
25    "${path_backup_mock}/module_ipc/message_parcel_mock.cpp",
26    "${path_backup_mock}/timer/timer_mock.cpp",
27    "${path_backup}/frameworks/native/backup_kit_inner/src/service_incremental_reverse.cpp",
28    "${path_backup}/services/backup_sa/src/module_ipc/service_incremental_reverse_proxy.cpp",
29    "${path_backup}/services/backup_sa/src/module_ipc/service_reverse_proxy.cpp",
30    "${path_backup}/services/backup_sa/src/module_ipc/service_stub.cpp",
31    "${path_backup}/services/backup_sa/src/module_ipc/svc_backup_connection.cpp",
32    "${path_backup}/services/backup_sa/src/module_ipc/svc_extension_incremental_proxy.cpp",
33    "${path_backup}/services/backup_sa/src/module_ipc/svc_extension_proxy.cpp",
34    "service_reverse_proxy_test.cpp",
35    "service_stub_test.cpp",
36    "svc_backup_connection_test.cpp",
37    "svc_extension_proxy_test.cpp",
38  ]
39
40  include_dirs = [
41    "${path_backup_mock}/module_ipc",
42    "${path_backup}/frameworks/native/backup_kit_inner/include",
43    "${path_backup}/services/backup_sa/include",
44    "${path_backup}/tests/unittests/backup_api/backup_impl/include",
45    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl",
46    "${path_base}/include",
47    "${path_ipc}/interfaces/innerkits/ipc_core/include",
48  ]
49
50  deps = [
51    "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner",
52    "${path_backup}/tests/utils:backup_test_utils",
53    "${path_backup}/utils:backup_utils",
54    "//third_party/googletest:gmock_main",
55  ]
56
57  external_deps = [
58    "ability_base:want",
59    "ability_runtime:ability_manager",
60    "bundle_framework:appexecfwk_core",
61    "c_utils:utils",
62    "hilog:libhilog",
63    "hisysevent:libhisysevent",
64    "hitrace:hitrace_meter",
65    "ipc:ipc_core",
66    "safwk:system_ability_fwk",
67    "samgr:samgr_proxy",
68    "storage_service:storage_manager_sa_proxy",
69  ]
70
71  sanitize = {
72    cfi = true
73    cfi_cross_dso = true
74    debug = false
75    blocklist = "${path_backup}/cfi_blocklist.txt"
76  }
77
78  defines = [
79    "LOG_TAG=\"app_file_service\"",
80    "LOG_DOMAIN=0xD004303",
81    "private = public",
82  ]
83
84  use_exceptions = true
85}
86
87ohos_unittest("backup_service_test") {
88  branch_protector_ret = "pac_ret"
89
90  module_out_path = path_module_out_tests
91
92  sources = [
93    "${path_backup_mock}/accesstoken/accesstoken_kit_mock.cpp",
94    "${path_backup_mock}/module_ipc/app_gallery_dispose_proxy_mock.cpp",
95    "${path_backup_mock}/timer/timer_mock.cpp",
96    "${path_backup}/services/backup_sa/src/module_ipc/sa_backup_connection.cpp",
97    "${path_backup}/services/backup_sa/src/module_ipc/service_incremental.cpp",
98    "${path_backup}/services/backup_sa/src/module_ipc/svc_restore_deps_manager.cpp",
99    "${path_backup}/services/backup_sa/src/module_notify/notify_work_service.cpp",
100    "service_test.cpp",
101  ]
102  sources += backup_mock_src
103  sources += backup_mock_session_manager_src
104  sources += backup_mock_scheduler_src
105  sources += backup_mock_module_external_src
106
107  include_dirs = [
108    "${path_backup}/services/backup_sa/include",
109    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl",
110    "${path_backup}/services/backup_sa/src/module_ipc",
111    "${path_backup}/tests/unittests/backup_api/backup_impl/include",
112    "${path_access_token}/interfaces/innerkits/accesstoken/include",
113    "${path_backup_mock}/b_process/",
114  ]
115
116  deps = [
117    "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner",
118    "${path_backup}/tests/utils:backup_test_utils",
119    "${path_backup}/utils:backup_utils",
120    "${path_googletest}:gmock_main",
121    "${path_jsoncpp}:jsoncpp",
122  ]
123
124  external_deps = [
125    "ability_base:want",
126    "ability_runtime:ability_manager",
127    "bundle_framework:appexecfwk_core",
128    "c_utils:utils",
129    "common_event_service:cesfwk_innerkits",
130    "hilog:libhilog",
131    "hisysevent:libhisysevent",
132    "hitrace:hitrace_meter",
133    "init:libbegetutil",
134    "ipc:ipc_core",
135    "safwk:system_ability_fwk",
136    "samgr:samgr_proxy",
137    "storage_service:storage_manager_sa_proxy",
138  ]
139
140  sanitize = {
141    cfi = true
142    cfi_cross_dso = true
143    debug = false
144    blocklist = "${path_backup}/cfi_blocklist.txt"
145  }
146
147  defines = [ "private=public" ]
148  use_exceptions = true
149
150  cflags = [
151    "-g",
152    "-O0",
153    "-Wno-unused-variable",
154    "-fno-omit-frame-pointer",
155    "-Dprivate=public",
156    "-Dprotected=public",
157  ]
158}
159
160ohos_unittest("backup_service_throw_test") {
161  branch_protector_ret = "pac_ret"
162
163  module_out_path = path_module_out_tests
164
165  sources = [
166    "${path_backup_mock}/accesstoken/accesstoken_kit_mock.cpp",
167    "${path_backup_mock}/module_ipc/app_gallery_dispose_proxy_mock.cpp",
168    "${path_backup_mock}/module_ipc/svc_session_manager_throw_mock.cpp",
169    "${path_backup_mock}/timer/timer_mock.cpp",
170    "${path_backup}/services/backup_sa/src/module_ipc/sa_backup_connection.cpp",
171    "${path_backup}/services/backup_sa/src/module_ipc/service.cpp",
172    "${path_backup}/services/backup_sa/src/module_ipc/service_incremental.cpp",
173    "${path_backup}/services/backup_sa/src/module_ipc/sub_service.cpp",
174    "${path_backup}/services/backup_sa/src/module_ipc/svc_restore_deps_manager.cpp",
175    "${path_backup}/services/backup_sa/src/module_notify/notify_work_service.cpp",
176    "service_throw_test.cpp",
177  ]
178  sources += backup_mock_src
179  sources += backup_mock_scheduler_src
180  sources += backup_mock_module_external_src
181
182  include_dirs = [
183    "${path_backup}/services/backup_sa/include",
184    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl",
185    "${path_backup}/tests/unittests/backup_api/backup_impl/include",
186    "${path_access_token}/interfaces/innerkits/accesstoken/include",
187    "${path_backup_mock}/b_process",
188    "${path_backup_mock}/module_ipc",
189  ]
190
191  deps = [
192    "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner",
193    "${path_backup}/tests/utils:backup_test_utils",
194    "${path_backup}/utils:backup_utils",
195    "${path_googletest}:gmock_main",
196    "${path_jsoncpp}:jsoncpp",
197  ]
198
199  external_deps = [
200    "ability_base:want",
201    "ability_runtime:ability_manager",
202    "bundle_framework:appexecfwk_core",
203    "c_utils:utils",
204    "common_event_service:cesfwk_innerkits",
205    "hilog:libhilog",
206    "hisysevent:libhisysevent",
207    "hitrace:hitrace_meter",
208    "init:libbegetutil",
209    "ipc:ipc_core",
210    "safwk:system_ability_fwk",
211    "samgr:samgr_proxy",
212    "storage_service:storage_manager_sa_proxy",
213  ]
214
215  sanitize = {
216    cfi = true
217    cfi_cross_dso = true
218    debug = false
219    blocklist = "${path_backup}/cfi_blocklist.txt"
220  }
221
222  defines = [ "private=public" ]
223  use_exceptions = true
224}
225
226ohos_unittest("backup_service_session_test") {
227  branch_protector_ret = "pac_ret"
228  sanitize = {
229    integer_overflow = true
230    cfi = true
231    cfi_cross_dso = true
232    debug = false
233  }
234
235  module_out_path = path_module_out_tests
236
237  sources = [
238    "${path_backup_mock}/affwk/service_registry_mock.cpp",
239    "${path_backup_mock}/bundle_manager/src/mock_bundle_manager.cpp",
240    "${path_backup}/services/backup_sa/src/module_ipc/sa_backup_connection.cpp",
241    "${path_backup}/services/backup_sa/src/module_ipc/svc_restore_deps_manager.cpp",
242    "${path_backup}/services/backup_sa/src/module_ipc/svc_session_manager.cpp",
243    "svc_session_manager_test.cpp",
244  ]
245  sources += backup_mock_src
246  sources += backup_mock_scheduler_src
247  sources += backup_mock_service_src
248  sources += backup_mock_module_external_src
249
250  include_dirs = [
251    "${path_backup}/services/backup_sa/include",
252    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl",
253    "${path_backup}/tests/unittests/backup_api/backup_impl/include",
254    "${path_base}/include",
255    "${path_backup_mock}/bundle_manager/include",
256  ]
257
258  deps = [
259    "${app_file_service_path}/services/backup_sa:backup_sa",
260    "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner",
261    "${path_backup}/tests/utils:backup_test_utils",
262    "${path_backup}/utils:backup_utils",
263    "${path_googletest}:gmock_main",
264    "${path_jsoncpp}:jsoncpp",
265  ]
266
267  external_deps = [
268    "ability_base:want",
269    "ability_runtime:ability_manager",
270    "bundle_framework:appexecfwk_base",
271    "bundle_framework:appexecfwk_core",
272    "c_utils:utils",
273    "hilog:libhilog",
274    "hitrace:hitrace_meter",
275    "init:libbegetutil",
276    "ipc:ipc_core",
277    "safwk:system_ability_fwk",
278    "samgr:samgr_proxy",
279    "storage_service:storage_manager_sa_proxy",
280  ]
281
282  defines = [
283    "LOG_TAG=\"app_file_service\"",
284    "LOG_DOMAIN=0xD004303",
285    "private = public",
286  ]
287
288  use_exceptions = true
289}
290
291ohos_unittest("backup_service_scheduler_test") {
292  branch_protector_ret = "pac_ret"
293
294  module_out_path = path_module_out_tests
295
296  sources = [
297    "${path_backup_mock}/timer/timer_mock.cpp",
298    "${path_backup}/services/backup_sa/src/module_sched/sched_scheduler.cpp",
299    "sched_scheduler_test.cpp",
300  ]
301  sources += backup_mock_src
302  sources += backup_mock_service_src
303  sources += backup_mock_session_manager_src
304  sources += backup_mock_module_external_src
305
306  include_dirs = [
307    "${path_backup}/services/backup_sa/include",
308    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl",
309    "${path_backup}/tests/unittests/backup_api/backup_impl/include",
310  ]
311
312  deps = [
313    "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner",
314    "${path_backup}/tests/utils:backup_test_utils",
315    "${path_backup}/utils:backup_utils",
316    "${path_googletest}:gmock_main",
317  ]
318
319  external_deps = [
320    "ability_base:want",
321    "ability_runtime:ability_manager",
322    "bundle_framework:appexecfwk_base",
323    "bundle_framework:appexecfwk_core",
324    "c_utils:utils",
325    "hilog:libhilog",
326    "ipc:ipc_core",
327    "safwk:system_ability_fwk",
328    "samgr:samgr_proxy",
329    "storage_service:storage_manager_sa_proxy",
330  ]
331
332  sanitize = {
333    cfi = true
334    cfi_cross_dso = true
335    debug = false
336  }
337
338  use_exceptions = true
339}
340
341ohos_unittest("backup_restore_deps_manager_test") {
342  branch_protector_ret = "pac_ret"
343  sanitize = {
344    integer_overflow = true
345    cfi = true
346    cfi_cross_dso = true
347    debug = false
348  }
349
350  module_out_path = path_module_out_tests
351
352  sources = [
353    "${path_backup_mock}/accesstoken/accesstoken_kit_mock.cpp",
354    "${path_backup}/services/backup_sa/src/module_app_gallery/app_gallery_dispose_proxy.cpp",
355    "${path_backup}/services/backup_sa/src/module_ipc/sa_backup_connection.cpp",
356    "${path_backup}/services/backup_sa/src/module_ipc/service.cpp",
357    "${path_backup}/services/backup_sa/src/module_ipc/service_incremental.cpp",
358    "${path_backup}/services/backup_sa/src/module_ipc/sub_service.cpp",
359    "${path_backup}/services/backup_sa/src/module_ipc/svc_restore_deps_manager.cpp",
360    "${path_backup}/services/backup_sa/src/module_notify/notify_work_service.cpp",
361    "svc_restore_deps_manager_test.cpp",
362  ]
363  sources += backup_mock_src
364  sources += backup_mock_session_manager_src
365  sources += backup_mock_scheduler_src
366  sources += backup_mock_module_external_src
367
368  include_dirs = [
369    "${path_backup}/services/backup_sa/include",
370    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl",
371    "${path_backup}/tests/unittests/backup_api/backup_impl/include",
372    "${path_access_token}/interfaces/innerkits/accesstoken/include",
373    "${path_backup_mock}/b_process/",
374  ]
375
376  deps = [
377    "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner",
378    "${path_backup}/tests/utils:backup_test_utils",
379    "${path_backup}/utils:backup_utils",
380    "${path_googletest}:gmock_main",
381    "${path_jsoncpp}:jsoncpp",
382  ]
383
384  external_deps = [
385    "ability_base:want",
386    "ability_runtime:ability_manager",
387    "bundle_framework:appexecfwk_core",
388    "c_utils:utils",
389    "common_event_service:cesfwk_innerkits",
390    "hilog:libhilog",
391    "hisysevent:libhisysevent",
392    "hitrace:hitrace_meter",
393    "init:libbegetutil",
394    "ipc:ipc_core",
395    "safwk:system_ability_fwk",
396    "samgr:samgr_proxy",
397    "storage_service:storage_manager_sa_proxy",
398  ]
399
400  use_exceptions = true
401}
402
403ohos_unittest("backup_service_incremental_test") {
404  module_out_path = path_module_out_tests
405
406  sources = [
407    "${path_backup_mock}/accesstoken/accesstoken_kit_mock.cpp",
408    "${path_backup_mock}/module_external/src/bms_adapter_mock.cpp",
409    "${path_backup_mock}/module_external/src/sms_adapter_mock.cpp",
410    "${path_backup_mock}/module_ipc/src/ipc_skeleton_mock.cpp",
411    "${path_backup_mock}/module_ipc/src/sa_backup_connection_mock.cpp",
412    "${path_backup_mock}/module_ipc/src/service_stub_mock.cpp",
413    "${path_backup_mock}/module_ipc/src/svc_backup_connection_mock.cpp",
414    "${path_backup_mock}/module_ipc/src/svc_session_manager_mock.cpp",
415    "${path_backup_mock}/module_sched/sched_scheduler_mock.cpp",
416    "${path_backup_mock}/utils_mock/src/b_jsonutil_mock.cpp",
417    "${path_backup_mock}/utils_mock/src/backup_para_mock.cpp",
418    "${path_backup}/services/backup_sa/src/module_ipc/svc_extension_incremental_proxy.cpp",
419    "${path_backup}/services/backup_sa/src/module_ipc/svc_extension_proxy.cpp",
420    "service_incremental_test.cpp",
421  ]
422
423  include_dirs = [
424    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl",
425    "${path_backup}/services/backup_sa/include",
426    "${path_backup}/services/backup_sa/include/module_ipc",
427    "${path_backup}/services/backup_sa/src/module_ipc",
428    "${path_backup}/tests/unittests/backup_api/backup_impl/include",
429    "${path_backup}/tests/utils/include/",
430    "${path_backup_mock}/module_external/include",
431    "${path_backup_mock}/module_ipc/include",
432    "${path_backup_mock}/utils_mock/include",
433    "${path_access_token}/interfaces/innerkits/accesstoken/include",
434  ]
435
436  deps = [
437    "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner",
438    "${path_backup}/tests/utils:backup_test_utils",
439    "${path_backup}/utils:backup_utils",
440    "${path_googletest}:gmock_main",
441    "${path_jsoncpp}:jsoncpp",
442  ]
443
444  external_deps = [
445    "ability_base:want",
446    "ability_runtime:ability_manager",
447    "bundle_framework:appexecfwk_core",
448    "c_utils:utils",
449    "common_event_service:cesfwk_innerkits",
450    "hilog:libhilog",
451    "hisysevent:libhisysevent",
452    "hitrace:hitrace_meter",
453    "init:libbegetutil",
454    "ipc:ipc_core",
455    "safwk:system_ability_fwk",
456    "samgr:samgr_proxy",
457    "storage_service:storage_manager_sa_proxy",
458  ]
459
460  defines = [ "private=public" ]
461  use_exceptions = true
462}
463
464ohos_unittest("backup_service_other_test") {
465  module_out_path = path_module_out_tests
466
467  sources = [
468    "${path_backup_mock}/accesstoken/src/accesstoken_kit_mock.cpp",
469    "${path_backup_mock}/module_external/src/bms_adapter_mock.cpp",
470    "${path_backup_mock}/module_external/src/sms_adapter_mock.cpp",
471    "${path_backup_mock}/module_ipc/src/app_gallery_dispose_proxy_mock.cpp",
472    "${path_backup_mock}/module_ipc/src/ipc_skeleton_mock.cpp",
473    "${path_backup_mock}/module_ipc/src/notify_work_service_mock.cpp",
474    "${path_backup_mock}/module_ipc/src/sa_backup_connection_mock.cpp",
475    "${path_backup_mock}/module_ipc/src/service_stub_mock.cpp",
476    "${path_backup_mock}/module_ipc/src/svc_backup_connection_mock.cpp",
477    "${path_backup_mock}/module_ipc/src/svc_restore_deps_manager_mock.cpp",
478    "${path_backup_mock}/module_ipc/src/svc_session_manager_mock.cpp",
479    "${path_backup_mock}/module_ipc/src/system_ability_mock.cpp",
480    "${path_backup_mock}/module_sched/sched_scheduler_mock.cpp",
481    "${path_backup_mock}/utils_mock/src/b_json_clear_data_config_mock.cpp",
482    "${path_backup_mock}/utils_mock/src/b_json_service_disposal_config_mock.cpp",
483    "${path_backup_mock}/utils_mock/src/b_jsonutil_mock.cpp",
484    "${path_backup_mock}/utils_mock/src/b_sa_utils_mock.cpp",
485    "${path_backup_mock}/utils_mock/src/backup_para_mock.cpp",
486    "${path_backup}/services/backup_sa/src/module_ipc/svc_extension_incremental_proxy.cpp",
487    "${path_backup}/services/backup_sa/src/module_ipc/svc_extension_proxy.cpp",
488    "service_other_test.cpp",
489  ]
490
491  include_dirs = [
492    "${path_backup}/interfaces/inner_api/native/backup_kit_inner/impl",
493    "${path_backup}/services/backup_sa/include",
494    "${path_backup}/services/backup_sa/include/module_app_gallery",
495    "${path_backup}/services/backup_sa/include/module_ipc",
496    "${path_backup}/services/backup_sa/include/module_notify",
497    "${path_backup}/services/backup_sa/src/module_ipc",
498    "${path_backup}/tests/unittests/backup_api/backup_impl/include",
499    "${path_backup}/tests/utils/include/",
500    "${path_backup_mock}/accesstoken/include",
501    "${path_backup_mock}/module_external/include",
502    "${path_backup_mock}/module_ipc/include",
503    "${path_backup_mock}/utils_mock/include",
504    "${path_access_token}/interfaces/innerkits/accesstoken/include",
505  ]
506
507  deps = [
508    "${path_backup}/interfaces/inner_api/native/backup_kit_inner:backup_kit_inner",
509    "${path_backup}/tests/utils:backup_test_utils",
510    "${path_backup}/utils:backup_utils",
511    "${path_googletest}:gmock_main",
512    "${path_jsoncpp}:jsoncpp",
513  ]
514
515  external_deps = [
516    "ability_base:want",
517    "ability_runtime:ability_manager",
518    "bundle_framework:appexecfwk_core",
519    "c_utils:utils",
520    "common_event_service:cesfwk_innerkits",
521    "hilog:libhilog",
522    "hisysevent:libhisysevent",
523    "hitrace:hitrace_meter",
524    "init:libbegetutil",
525    "ipc:ipc_core",
526    "safwk:system_ability_fwk",
527    "samgr:samgr_proxy",
528    "storage_service:storage_manager_sa_proxy",
529  ]
530
531  defines = [ "private=public" ]
532  use_exceptions = true
533}
534
535group("backup_sa_ipc_test") {
536  testonly = true
537  deps = [
538    ":backup_restore_deps_manager_test",
539    ":backup_service_incremental_test",
540    ":backup_service_other_test",
541    ":backup_service_scheduler_test",
542    ":backup_service_session_test",
543    ":backup_service_test",
544    ":backup_service_throw_test",
545    ":module_ipc_test",
546  ]
547}
548