• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-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.
13import("//base/startup/init/begetd.gni")
14import("//build/test.gni")
15
16config("utest_config") {
17  visibility = [ ":*" ]
18
19  cflags = [
20    "-Wno-implicit-fallthrough",
21    "-Wno-unused-function",
22    "-Dprivate=public",
23    "-Dprotected=public",
24    "-Dsprintf_s=SprintfStub",
25    "-Dmount=MountStub",
26    "-Dumount=UmountStub",
27    "-Dumount2=Umount2Stub",
28    "-Dprctl=PrctlStub",
29    "-Dexecv=ExecvStub",
30    "-Dlchown=LchownStub",
31    "-Dkill=KillStub",
32    "-Dexecve=ExecveStub",
33  ]
34  cflags_cc = [
35    "-Wno-implicit-fallthrough",
36    "-fexceptions",
37  ]
38}
39
40ohos_unittest("init_unittest") {
41  sanitize = {
42    cfi = true
43    cfi_cross_dso = true
44    debug = false
45    blocklist = "./init_unittest_blocklist.txt"
46  }
47  module_out_path = "init/init"
48  sources = [
49    "//base/startup/init/device_info/device_info.cpp",
50    "//base/startup/init/device_info/device_info_service.cpp",
51    "//base/startup/init/interfaces/innerkits/control_fd/control_fd_client.c",
52    "//base/startup/init/interfaces/innerkits/control_fd/control_fd_service.c",
53    "//base/startup/init/interfaces/innerkits/fd_holder/fd_holder.c",
54    "//base/startup/init/interfaces/innerkits/fd_holder/fd_holder_internal.c",
55    "//base/startup/init/interfaces/innerkits/file/init_file.c",
56    "//base/startup/init/interfaces/innerkits/fs_manager/erofs_overlay/erofs_mount_overlay.c",
57    "//base/startup/init/interfaces/innerkits/fs_manager/erofs_overlay/erofs_overlay_common.c",
58    "//base/startup/init/interfaces/innerkits/fs_manager/erofs_overlay/erofs_remount_overlay.c",
59    "//base/startup/init/interfaces/innerkits/fs_manager/fstab.c",
60    "//base/startup/init/interfaces/innerkits/fs_manager/fstab_mount.c",
61    "//base/startup/init/interfaces/innerkits/fs_manager/switch_root/switch_root.c",
62    "//base/startup/init/interfaces/innerkits/reboot/init_reboot_innerkits.c",
63    "//base/startup/init/interfaces/innerkits/socket/init_socket.c",
64    "//base/startup/init/interfaces/innerkits/syspara/param_comm.c",
65    "//base/startup/init/interfaces/innerkits/syspara/parameter.c",
66    "//base/startup/init/interfaces/innerkits/syspara/sysversion.c",
67    "//base/startup/init/remount/remount_overlay.c",
68    "//base/startup/init/services/begetctl/begetctl_cmd.c",
69    "//base/startup/init/services/begetctl/bootchart_cmd.c",
70    "//base/startup/init/services/begetctl/dump_service.c",
71    "//base/startup/init/services/begetctl/init_cmd_reboot.c",
72    "//base/startup/init/services/begetctl/misc_daemon.cpp",
73    "//base/startup/init/services/begetctl/modulectl.c",
74    "//base/startup/init/services/begetctl/param_cmd.c",
75    "//base/startup/init/services/begetctl/sandbox.cpp",
76    "//base/startup/init/services/begetctl/service_control.c",
77    "//base/startup/init/services/begetctl/setloglevel.c",
78    "//base/startup/init/services/begetctl/shell/shell_bas.c",
79    "//base/startup/init/services/begetctl/shell/shell_main.c",
80    "//base/startup/init/services/init/adapter/init_adapter.c",
81    "//base/startup/init/services/init/bootstagehooker.c",
82    "//base/startup/init/services/init/init_capability.c",
83    "//base/startup/init/services/init/init_cgroup.c",
84    "//base/startup/init/services/init/init_common_cmds.c",
85    "//base/startup/init/services/init/init_common_service.c",
86    "//base/startup/init/services/init/init_config.c",
87    "//base/startup/init/services/init/init_group_manager.c",
88    "//base/startup/init/services/init/init_service_file.c",
89    "//base/startup/init/services/init/init_service_manager.c",
90    "//base/startup/init/services/init/init_service_socket.c",
91    "//base/startup/init/services/init/standard/device.c",
92    "//base/startup/init/services/init/standard/fd_holder_service.c",
93    "//base/startup/init/services/init/standard/init.c",
94    "//base/startup/init/services/init/standard/init_cmdexecutor.c",
95    "//base/startup/init/services/init/standard/init_cmds.c",
96    "//base/startup/init/services/init/standard/init_control_fd_service.c",
97    "//base/startup/init/services/init/standard/init_jobs.c",
98    "//base/startup/init/services/init/standard/init_mount.c",
99    "//base/startup/init/services/init/standard/init_reboot.c",
100    "//base/startup/init/services/init/standard/init_service.c",
101    "//base/startup/init/services/init/standard/init_signal_handler.c",
102    "//base/startup/init/services/log/init_commlog.c",
103    "//base/startup/init/services/log/init_log.c",
104    "//base/startup/init/services/loopevent/idle/le_idle.c",
105    "//base/startup/init/services/loopevent/loop/le_epoll.c",
106    "//base/startup/init/services/loopevent/loop/le_loop.c",
107    "//base/startup/init/services/loopevent/signal/le_signal.c",
108    "//base/startup/init/services/loopevent/socket/le_socket.c",
109    "//base/startup/init/services/loopevent/task/le_asynctask.c",
110    "//base/startup/init/services/loopevent/task/le_streamtask.c",
111    "//base/startup/init/services/loopevent/task/le_task.c",
112    "//base/startup/init/services/loopevent/task/le_watchtask.c",
113    "//base/startup/init/services/loopevent/timer/le_timer.c",
114    "//base/startup/init/services/loopevent/utils/le_utils.c",
115    "//base/startup/init/services/modules/bootchart/bootchart.c",
116    "//base/startup/init/services/modules/bootchart/bootchart_static.c",
117    "//base/startup/init/services/modules/bootevent/bootevent.c",
118    "//base/startup/init/services/modules/crashhandler/crash_handler.c",
119    "//base/startup/init/services/modules/init_eng/init_eng.c",
120    "//base/startup/init/services/modules/init_eng/init_eng_static.c",
121    "//base/startup/init/services/modules/init_hook/init_hook.c",
122    "//base/startup/init/services/modules/init_hook/param_hook.c",
123    "//base/startup/init/services/modules/reboot/reboot.c",
124    "//base/startup/init/services/modules/reboot/reboot_misc.c",
125    "//base/startup/init/services/modules/reboot/reboot_static.c",
126    "//base/startup/init/services/modules/udid/udid_adp.c",
127    "//base/startup/init/services/modules/udid/udid_comm.c",
128    "//base/startup/init/services/modules/udid/udid_static.c",
129    "//base/startup/init/services/modules/encaps/encaps_static.c",
130    "//base/startup/init/services/param/adapter/param_dac.c",
131    "//base/startup/init/services/param/adapter/param_persistadp.c",
132    "//base/startup/init/services/param/base/param_base.c",
133    "//base/startup/init/services/param/base/param_comm.c",
134    "//base/startup/init/services/param/base/param_trie.c",
135    "//base/startup/init/services/param/linux/param_message.c",
136    "//base/startup/init/services/param/linux/param_msgadp.c",
137    "//base/startup/init/services/param/linux/param_osadp.c",
138    "//base/startup/init/services/param/linux/param_request.c",
139    "//base/startup/init/services/param/linux/param_service.c",
140    "//base/startup/init/services/param/manager/param_manager.c",
141    "//base/startup/init/services/param/manager/param_persist.c",
142    "//base/startup/init/services/param/manager/param_server.c",
143    "//base/startup/init/services/param/trigger/trigger_checker.c",
144    "//base/startup/init/services/param/trigger/trigger_manager.c",
145    "//base/startup/init/services/param/trigger/trigger_processor.c",
146    "//base/startup/init/services/sandbox/sandbox.c",
147    "//base/startup/init/services/sandbox/sandbox_namespace.c",
148    "//base/startup/init/services/utils/init_hashmap.c",
149    "//base/startup/init/services/utils/init_utils.c",
150    "//base/startup/init/services/utils/list.c",
151    "//base/startup/init/ueventd/standard/ueventd_parameter.c",
152    "//base/startup/init/ueventd/ueventd.c",
153    "//base/startup/init/ueventd/ueventd_device_handler.c",
154    "//base/startup/init/ueventd/ueventd_firmware_handler.c",
155    "//base/startup/init/ueventd/ueventd_read_cfg.c",
156    "//base/startup/init/ueventd/ueventd_socket.c",
157  ]
158
159  deps = [ "//base/startup/init/interfaces/innerkits:deviceinfo_stub" ]
160
161  if (defined(build_selinux) && build_selinux) {
162    sources += [ "//base/startup/init/services/param/adapter/param_selinux.c" ]
163  }
164
165  if (enable_ohos_startup_init_feature_watcher) {
166    sources += [
167      "//base/startup/init/services/param/watcher/agent/watcher.cpp",
168      "//base/startup/init/services/param/watcher/agent/watcher_manager_kits.cpp",
169      "//base/startup/init/services/param/watcher/proxy/watcher_manager.cpp",
170    ]
171    deps += [
172      "//base/startup/init/interfaces/innerkits/:param_watcher_proxy",
173      "//base/startup/init/interfaces/innerkits/:param_watcher_stub",
174    ]
175  }
176
177  include_dirs = [
178    "//base/startup/init/interfaces/innerkits/fs_manager/switch_root/include",
179    "//base/startup/init/interfaces/innerkits/fs_manager/erofs_overlay/include",
180    "//base/startup/init/interfaces/innerkits/fs_manager/libfs_dm/include",
181    "//base/startup/init/interfaces/innerkits/include/fs_manager",
182    "//base/startup/init/remount/include",
183  ]
184  defines = []
185
186  sources += [
187    "//base/startup/init/interfaces/innerkits/fs_manager/libfs_dm/fs_dm.c",
188    "//base/startup/init/interfaces/innerkits/fs_manager/libfs_dm/fs_dm_linear.c",
189  ]
190  include_dirs += [
191    "//base/startup/init/interfaces/innerkits/fs_manager/libfs_dm",
192    "//base/startup/init/interfaces/innerkits/include/fs_manager",
193    "//base/startup/init/interfaces/innerkits/fs_manager/libfs_dm/include",
194  ]
195  if (defined(build_seccomp) && build_seccomp) {
196    sources += [
197      "../../services/modules/seccomp/seccomp_policy.c",
198      "seccomp/seccomp_unittest.cpp",
199    ]
200    include_dirs +=
201        [ "//base/startup/init/interfaces/innerkits/seccomp/include" ]
202
203    if (build_variant == "root") {
204      defines += [ "WITH_SECCOMP_DEBUG" ]
205    }
206
207    if (use_clang_coverage) {
208      defines += [ "COVERAGE_TEST" ]
209    }
210
211    if (init_feature_seccomp_privilege) {
212      defines += [ "SECCOMP_PRIVILEGE" ]
213    }
214
215    if (init_feature_custom_sandbox) {
216      defines += [ "CUSTOM_SANDBOX" ]
217    }
218  }
219
220  sources += [
221    "begetctl/begetctl_unittest.cpp",
222    "fs_manager/erofs/erofs_common_unittest.cpp",
223    "fs_manager/erofs/erofs_mount_unittest.cpp",
224    "fs_manager/erofs/erofs_remount_unittest.cpp",
225    "init/cmds_unittest.cpp",
226    "init/group_unittest.cpp",
227    "init/init_reboot_unittest.cpp",
228    "init/init_unittest.cpp",
229    "init/mount_unittest.cpp",
230    "init/sandbox_unittest.cpp",
231    "init/service_file_unittest.cpp",
232    "init/service_socket_unittest.cpp",
233    "init/service_unittest.cpp",
234    "init/utils_unittest.cpp",
235    "innerkits/innerkits_unittest.cpp",
236    "loopevent/loopevent_unittest.cpp",
237    "loopevent/loopserver_unittest.cpp",
238    "loopevent/loopsignal_unittest.cpp",
239    "loopevent/looptimer_unittest.cpp",
240    "modules/eng_unittest.cpp",
241    "modules/modules_unittest.cpp",
242    "modules/udid_unittest.cpp",
243    "param/client_unittest.cpp",
244    "param/dac_unittest.cpp",
245    "param/param_shell_unittest.cpp",
246    "param/param_stub.cpp",
247    "param/param_unittest.cpp",
248    "param/paramservice_unittest.cpp",
249    "param/trigger_unittest.cpp",
250    "remount/remount_overlay_unittest.cpp",
251    "syspara/syspara_unittest.cpp",
252    "ueventd/ueventd_config_unittest.cpp",
253    "ueventd/ueventd_event_unittest.cpp",
254  ]
255
256  sources += [
257    "//base/startup/init/interfaces/innerkits/hookmgr/hookmgr.c",
258    "//base/startup/init/interfaces/innerkits/init_module_engine/init_modulemgr.c",
259    "//base/startup/init/interfaces/innerkits/modulemgr/modulemgr.c",
260    "//base/startup/init/interfaces/innerkits/service_control/service_control.c",
261    "//base/startup/init/interfaces/innerkits/service_watcher/service_watcher.c",
262    "//base/startup/init/interfaces/innerkits/syscap/init_syscap.c",
263    "//base/startup/init/interfaces/innerkits/syspara/param_wrapper.cpp",
264    "innerkits/hookmgr_unittest.cpp",
265    "innerkits/modulemgr_unittest.cpp",
266    "innerkits/strutil_unittest.cpp",
267  ]
268
269  configs = [ "//base/startup/init/test/unittest:utest_config" ]
270
271  include_dirs += [
272    "//base/startup/init/device_info",
273    "//base/startup/init/services/init/standard",
274    "//base/startup/init/interfaces/innerkits/include",
275    "//base/startup/init/interfaces/innerkits/include/syspara",
276    "//base/startup/init/interfaces/innerkits/fd_holder",
277    "//base/startup/init/interfaces/innerkits/syspara",
278    "//base/startup/init/interfaces/innerkits/control_fd",
279    "//base/startup/init/services/begetctl",
280    "//base/startup/init/services/begetctl/shell",
281    "//base/startup/init/interfaces/innerkits/include",
282    "//base/startup/init/services/init/include",
283    "//base/startup/init/interfaces/innerkits/include/param",
284    "//base/startup/init/services/log",
285    "//base/startup/init/services/loopevent/include",
286    "//base/startup/init/services/loopevent/loop",
287    "//base/startup/init/services/loopevent/socket",
288    "//base/startup/init/services/loopevent/signal",
289    "//base/startup/init/services/loopevent/task",
290    "//base/startup/init/services/loopevent/timer",
291    "//base/startup/init/services/loopevent/utils",
292    "//base/startup/init/services/loopevent/idle",
293    "//base/startup/init/services/modules",
294    "//base/startup/init/services/modules/bootchart",
295    "//base/startup/init/services/modules/init_hook",
296    "//base/startup/init/services/modules/selinux",
297    "//base/startup/init/services/modules/reboot",
298    "//base/startup/init/services/modules/udid",
299    "//base/startup/init/services/modules/crashhandler",
300    "//base/startup/init/services/modules/init_eng",
301    "//base/startup/init/services/param/adapter",
302    "//base/startup/init/services/param/base",
303    "//base/startup/init/services/param/linux",
304    "//base/startup/init/services/param/include",
305    "//base/startup/init/services/param/watcher/agent",
306    "//base/startup/init/services/param/watcher/include",
307    "//base/startup/init/services/param/watcher/proxy",
308    "//base/startup/init/test/unittest",
309    "//base/startup/init/test/unittest/param",
310    "//base/startup/init/ueventd/include",
311    "//base/startup/init/services/sandbox/include",
312    "//base/startup/init/interfaces/innerkits/hals",
313    "//base/startup/init/interfaces/innerkits/include/param",
314  ]
315
316  include_dirs += [ "//base/startup/init/services/modules/sysevent" ]
317  sources +=
318      [ "//base/startup/init/services/modules/sysevent/init_hisysevent.c" ]
319
320  defines += [
321    "READ_CHECK",
322    "INIT_AGENT",
323    "INIT_DMESG",
324    "INIT_FILE",
325    "STARTUP_INIT_TEST",
326    "PARAM_SUPPORT_DAC",
327    "_GNU_SOURCE",
328    "PARAM_SUPPORT_TRIGGER",
329    "USE_MBEDTLS",
330    "PARAM_DECODE_GROUPID_FROM_FILE",
331    "WORKSPACE_AREA_NEED_MUTEX",
332    "PARAMWORKSPACE_NEED_MUTEX",
333    "PARAM_SUPPORT_REAL_CHECK",
334    "DISABLE_INIT_TWO_STAGES",
335    "INIT_SUPPORT_CHIPSET_INIT",
336  ]
337  defines += [ "_GNU_SOURCE" ]
338
339  if (target_cpu == "arm64" || target_cpu == "x86_64" ||
340    target_cpu == "riscv64") {
341    defines += [ "SUPPORT_64BIT" ]
342  }
343
344  if (init_feature_use_hook_mgr) {
345    defines += [ "ENABLE_HOOK_MGR" ]
346  }
347
348  if (use_musl) {
349    defines += [ "__MUSL__" ]
350  }
351
352  external_deps = [
353    "bounds_checking_function:libsec_static",
354    "cJSON:cjson",
355    "c_utils:utils",
356    "config_policy:configpolicy_util_for_init_static",
357    "googletest:gmock",
358    "googletest:gtest",
359    "hilog:libhilog",
360    "hisysevent:libhisysevent",
361    "init:libinit_module_engine",
362    "mbedtls:mbedtls_shared",
363    "selinux:libselinux",
364    "storage_service:libfscryptutils_static",
365    "zlib:libz",
366  ]
367  if (defined(global_parts_info) &&
368      defined(global_parts_info.security_access_token)) {
369    external_deps += [
370      "access_token:libnativetoken",
371      "access_token:libtoken_setproc",
372    ]
373    defines += [ "INIT_SUPPORT_ACCESS_TOKEN" ]
374  }
375  if (init_appspawn_client_module && defined(global_parts_info) &&
376      defined(global_parts_info.startup_appspawn)) {
377    defines += [ "ENABLE_ENTER_APPSPAWN_SANDBOX" ]
378    external_deps += [ "appspawn:appspawn_client" ]
379  }
380
381  if (init_feature_ab_partition) {
382    sources += [ "//base/startup/init/services/begetctl/partitionslot.cpp" ]
383    external_deps += [
384      "drivers_interface_partitionslot:libpartitionslot_proxy_1.0",
385      "hdf_core:libhdi",
386      "hdf_core:libpub_utils",
387    ]
388  }
389
390  if (!defined(ohos_lite) && enable_ohos_startup_init_feature_watcher) {
391    sources += [
392      "param/watcher_agent_unittest.cpp",
393      "param/watcher_proxy_unittest.cpp",
394    ]
395    external_deps += [
396      "ipc:ipc_single",
397      "safwk:system_ability_fwk",
398      "samgr:samgr_proxy",
399    ]
400  }
401
402  if (defined(build_selinux) && build_selinux) {
403    sources += [ "param/selinux_unittest.cpp" ]
404    sources += [
405      "//base/startup/init/services/modules/selinux/selinux_adp.c",
406      "//base/startup/init/services/modules/selinux/selinux_static.c",
407    ]
408    external_deps += [
409      "selinux:libselinux",
410      "selinux_adapter:librestorecon",
411    ]
412
413    defines += [
414      "WITH_SELINUX",
415      "PARAM_SUPPORT_SELINUX",
416    ]
417  }
418  if (enable_ohos_startup_init_feature_deviceinfo) {
419    sources += [
420      "//base/startup/init/device_info/device_info_kits.cpp",
421      "//base/startup/init/device_info/device_info_load.cpp",
422    ]
423    deps += [ "//base/startup/init/interfaces/innerkits:deviceinfo_proxy" ]
424    if (defined(global_parts_info) &&
425        defined(global_parts_info.security_access_token)) {
426      external_deps += [ "access_token:libaccesstoken_sdk" ]
427      defines += [ "INIT_SUPPORT_ACCESS_TOKEN" ]
428      sources += [ "deviceinfo/DeviceInfoUnittest.cpp" ]
429    }
430    if (is_standard_system) {
431      external_deps += [ "selinux:libselinux" ]
432    }
433
434    defines += [ "PARAM_FEATURE_DEVICEINFO" ]
435    if (init_get_disk_sn) {
436      defines += [ "PARAM_FEATURE_GET_DEVICE_SN" ]
437    }
438  }
439
440  sources += [
441    "//base/startup/init/services/modules/trace/init_trace.c",
442    "//base/startup/init/test/unittest/modules/trace_unittest.cpp",
443  ]
444
445  # for sysevent
446  sources += [
447    "//base/startup/init/services/modules/sysevent/startup_time_event.c",
448    "//base/startup/init/services/modules/sysevent/sys_event.c",
449    "//base/startup/init/test/unittest/modules/sysevent_unittest.cpp",
450  ]
451
452  include_dirs += [
453    "//base/startup/init/services/modules/bootevent",
454    "//base/startup/init/services/modules/init_context",
455    "//base/startup/init/services/modules/sysevent",
456  ]
457
458  # test for init sub init_context
459  sources += [
460    "//base/startup/init/services/modules/init_context/init_context.c",
461    "//base/startup/init/services/modules/init_context/init_context_static.c",
462    "//base/startup/init/test/unittest/modules/context_unittest.cpp",
463  ]
464
465  # test atomic operation
466  sources += [ "//base/startup/init/test/unittest/param/atomic_unittest.cpp" ]
467
468  cflags_cc = [ "-fexceptions" ]
469}
470
471ohos_unittest("init_dmverify_unittest") {
472  module_out_path = "init/init"
473  include_dirs = [
474    "//base/startup/init/interfaces/innerkits/fs_manager/dm_verity/include",
475    "//base/startup/init/interfaces/innerkits/include",
476    "//base/startup/init/interfaces/innerkits/include/fs_manager",
477    "//base/startup/init/interfaces/innerkits/fs_manager/libfs_hvb/include",
478    "//base/startup/init/interfaces/innerkits/fs_manager/libfs_dm/include",
479    "//base/startup/init/services/log",
480  ]
481
482  sources = [
483    "//base/startup/init/services/log/init_commlog.c",
484    "//base/startup/init/services/log/init_log.c",
485  ]
486  configs = [ "//base/startup/init/test/unittest:utest_config" ]
487
488  external_deps = [
489    "c_utils:utils",
490    "googletest:gtest",
491    "hilog:libhilog",
492  ]
493
494  defines = []
495  if (defined(global_parts_info) && defined(global_parts_info.startup_hvb)) {
496    external_deps += [ "hvb:libhvb_static" ]
497    sources += [
498      "//base/startup/init/test/mock/init/interfaces/innerkits/fs_manager/libfs_hvb/fs_hvb.c",
499      "//base/startup/init/interfaces/innerkits/fs_manager/dm_verity/dm_verity.c",
500      "//base/startup/init/test/unittest/fs_manager/dm_verify/dm_verify_unittest.cpp",
501    ]
502  }
503
504  cflags_cc = [ "-fexceptions" ]
505}
506
507ohos_unittest("init_fshvb_unittest") {
508  module_out_path = "init/init"
509  include_dirs = [
510    "//base/startup/init/interfaces/innerkits/fs_manager/libfs_hvb/include",
511    "//base/startup/init/interfaces/innerkits/fs_manager/libfs_dm/include",
512    "//base/startup/init/interfaces/innerkits/fs_manager/switch_root/include",
513    "//base/startup/init/interfaces/innerkits/init_module_engine/include",
514    "//base/startup/init/interfaces/innerkits/include/fs_manager",
515    "//base/startup/init/interfaces/innerkits/include",
516    "//base/startup/init/services/log",
517    "//base/startup/init/ueventd/include",
518    "//base/startup/init/interfaces/innerkits/include/param",
519  ]
520
521  deps = [
522    "//base/startup/init/interfaces/innerkits:libbegetutil",
523    "//base/startup/init/interfaces/innerkits/fs_manager:libfsmanager_static",
524  ]
525  sources = [
526    "//base/startup/init/interfaces/innerkits/fs_manager/fstab.c",
527    "//base/startup/init/interfaces/innerkits/fs_manager/fstab_mount.c",
528    "//base/startup/init/services/log/init_commlog.c",
529    "//base/startup/init/services/utils/init_utils.c",
530    "//base/startup/init/test/mock/init/interfaces/innerkits/fs_manager/libfs_dm/fs_dm.c",
531    "//base/startup/init/test/mock/init/ueventd/ueventd.c",
532    "//base/startup/init/test/mock/init/ueventd/ueventd_socket.c",
533  ]
534
535  defines = [ "STARTUP_INIT_UT_PATH =\"/data/init_ut\"" ]
536
537  configs = []
538
539  external_deps = [
540    "cJSON:cjson",
541    "c_utils:utils",
542    "googletest:gtest",
543    "hilog:libhilog",
544  ]
545
546  if (defined(global_parts_info) && defined(global_parts_info.startup_hvb)) {
547    external_deps += [ "hvb:libhvb_static" ]
548    sources += [
549      "//base/startup/init/interfaces/innerkits/fs_manager/libfs_hvb/fs_hvb.c",
550      "//base/startup/init/interfaces/innerkits/fs_manager/libfs_hvb/hvb_ops.c",
551      "//base/startup/init/test/unittest/fs_manager/libfs_hvb_unittest.cpp",
552      "//base/startup/init/test/mock/hvb/libhvb/cert/hvb_cert.c",
553      "//base/startup/init/test/mock/hvb/libhvb/crypto/hvb_hash_sha256.c",
554      "//base/startup/init/test/mock/hvb/libhvb/auth/hvb.c",
555      "//base/startup/init/test/mock/hvb/libhvb/crypto/hvb_sm3.c",
556    ]
557  }
558  cflags_cc = [ "-fexceptions" ]
559}
560