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