diff --git a/test/BUILD.gn b/test/BUILD.gn index d292b6b81939af8c56787726a1b3b009305714b5..d210995197111bb1d8c755c46b169ef761cc54a5 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -23,7 +23,47 @@ group("testgroup") { "moduletest:paramtestmodule", "unittest:init_dmverify_unittest", "unittest:init_fshvb_unittest", + "unittest:init_seccomp_unittest", + "unittest:init_begetctl_unittest", + "unittest:init_erofs_common_unittest", + "unittest:init_erofs_mount_unittest", + "unittest:init_erofs_remount_unittest", + "unittest:init_cmds_unittest", + "unittest:init_group_unittest", + "unittest:init_reboot_unittest", "unittest:init_unittest", + "unittest:init_mount_unittest", + "unittest:init_sandbox_unittest", + "unittest:init_service_file_unittest", + "unittest:init_utils_unittest", + "unittest:init_innerkits_unittest", + "unittest:init_loopevent_unittest", + "unittest:init_loopserver_unittest", + "unittest:init_loopsignal_unittest", + "unittest:init_looptimer_unittest", + "unittest:init_eng_unittest", + "unittest:init_modules_unittest", + "unittest:init_udid_unittest", + "unittest:init_client_unittest", + "unittest:init_dac_unittest", + "unittest:init_param_shell_unittest", + "unittest:init_param_unittest", + "unittest:init_paramservice_unittest", + "unittest:init_trigger_unittest", + "unittest:init_remount_overlay_unittest", + "unittest:init_syspara_unittest", + "unittest:init_ueventd_config_unittest", + "unittest:init_hookmgr_unittest", + "unittest:init_modulemgr_unittest", + "unittest:init_strutil_unittest", + "unittest:init_watcher_agent_unittest", + "unittest:init_watcher_proxy_unittest", + "unittest:init_selinux_unittest", + "unittest:init_deviceInfo_unittest", + "unittest:init_trace_unittest", + "unittest:init_sysevent_unittest", + "unittest:init_context_unittest", + "unittest:init_atomic_unittest", ] } else { if (ohos_kernel_type == "liteos_a" || ohos_kernel_type == "linux") { diff --git a/test/unittest/BUILD.gn b/test/unittest/BUILD.gn index 51192116318e5918ead865cdc062250c3b85a4d6..c1810dbd9b8f0b974bd9f0d00998e431d5badc37 100755 --- a/test/unittest/BUILD.gn +++ b/test/unittest/BUILD.gn @@ -37,426 +37,567 @@ config("utest_config") { ] } -ohos_unittest("init_unittest") { - sanitize = { - cfi = true - cfi_cross_dso = true - debug = false - blocklist = "./init_unittest_blocklist.txt" - } - module_out_path = "init/init" - sources = [ - "//base/startup/init/device_info/device_info.cpp", - "//base/startup/init/device_info/device_info_service.cpp", - "//base/startup/init/interfaces/innerkits/control_fd/control_fd_client.c", - "//base/startup/init/interfaces/innerkits/control_fd/control_fd_service.c", - "//base/startup/init/interfaces/innerkits/fd_holder/fd_holder.c", - "//base/startup/init/interfaces/innerkits/fd_holder/fd_holder_internal.c", - "//base/startup/init/interfaces/innerkits/file/init_file.c", - "//base/startup/init/interfaces/innerkits/fs_manager/erofs_overlay/erofs_mount_overlay.c", - "//base/startup/init/interfaces/innerkits/fs_manager/erofs_overlay/erofs_overlay_common.c", - "//base/startup/init/interfaces/innerkits/fs_manager/erofs_overlay/erofs_remount_overlay.c", - "//base/startup/init/interfaces/innerkits/fs_manager/fstab.c", - "//base/startup/init/interfaces/innerkits/fs_manager/fstab_mount.c", - "//base/startup/init/interfaces/innerkits/fs_manager/switch_root/switch_root.c", - "//base/startup/init/interfaces/innerkits/reboot/init_reboot_innerkits.c", - "//base/startup/init/interfaces/innerkits/socket/init_socket.c", - "//base/startup/init/interfaces/innerkits/syspara/param_comm.c", - "//base/startup/init/interfaces/innerkits/syspara/parameter.c", - "//base/startup/init/interfaces/innerkits/syspara/sysversion.c", - "//base/startup/init/remount/remount_overlay.c", - "//base/startup/init/services/begetctl/begetctl_cmd.c", - "//base/startup/init/services/begetctl/bootchart_cmd.c", - "//base/startup/init/services/begetctl/dump_service.c", - "//base/startup/init/services/begetctl/init_cmd_reboot.c", - "//base/startup/init/services/begetctl/misc_daemon.cpp", - "//base/startup/init/services/begetctl/modulectl.c", - "//base/startup/init/services/begetctl/param_cmd.c", - "//base/startup/init/services/begetctl/sandbox.cpp", - "//base/startup/init/services/begetctl/service_control.c", - "//base/startup/init/services/begetctl/setloglevel.c", - "//base/startup/init/services/begetctl/shell/shell_bas.c", - "//base/startup/init/services/begetctl/shell/shell_main.c", - "//base/startup/init/services/init/adapter/init_adapter.c", - "//base/startup/init/services/init/bootstagehooker.c", - "//base/startup/init/services/init/init_capability.c", - "//base/startup/init/services/init/init_cgroup.c", - "//base/startup/init/services/init/init_common_cmds.c", - "//base/startup/init/services/init/init_common_service.c", - "//base/startup/init/services/init/init_config.c", - "//base/startup/init/services/init/init_group_manager.c", - "//base/startup/init/services/init/init_service_file.c", - "//base/startup/init/services/init/init_service_manager.c", - "//base/startup/init/services/init/init_service_socket.c", - "//base/startup/init/services/init/standard/device.c", - "//base/startup/init/services/init/standard/fd_holder_service.c", - "//base/startup/init/services/init/standard/init.c", - "//base/startup/init/services/init/standard/init_cmdexecutor.c", - "//base/startup/init/services/init/standard/init_cmds.c", - "//base/startup/init/services/init/standard/init_control_fd_service.c", - "//base/startup/init/services/init/standard/init_jobs.c", - "//base/startup/init/services/init/standard/init_mount.c", - "//base/startup/init/services/init/standard/init_reboot.c", - "//base/startup/init/services/init/standard/init_service.c", - "//base/startup/init/services/init/standard/init_signal_handler.c", - "//base/startup/init/services/log/init_commlog.c", - "//base/startup/init/services/log/init_log.c", - "//base/startup/init/services/loopevent/idle/le_idle.c", - "//base/startup/init/services/loopevent/loop/le_epoll.c", - "//base/startup/init/services/loopevent/loop/le_loop.c", - "//base/startup/init/services/loopevent/signal/le_signal.c", - "//base/startup/init/services/loopevent/socket/le_socket.c", - "//base/startup/init/services/loopevent/task/le_asynctask.c", - "//base/startup/init/services/loopevent/task/le_streamtask.c", - "//base/startup/init/services/loopevent/task/le_task.c", - "//base/startup/init/services/loopevent/task/le_watchtask.c", - "//base/startup/init/services/loopevent/timer/le_timer.c", - "//base/startup/init/services/loopevent/utils/le_utils.c", - "//base/startup/init/services/modules/bootchart/bootchart.c", - "//base/startup/init/services/modules/bootchart/bootchart_static.c", - "//base/startup/init/services/modules/bootevent/bootevent.c", - "//base/startup/init/services/modules/crashhandler/crash_handler.c", - "//base/startup/init/services/modules/init_eng/init_eng.c", - "//base/startup/init/services/modules/init_eng/init_eng_static.c", - "//base/startup/init/services/modules/init_hook/init_hook.c", - "//base/startup/init/services/modules/init_hook/param_hook.c", - "//base/startup/init/services/modules/reboot/reboot.c", - "//base/startup/init/services/modules/reboot/reboot_misc.c", - "//base/startup/init/services/modules/reboot/reboot_static.c", - "//base/startup/init/services/modules/udid/udid_adp.c", - "//base/startup/init/services/modules/udid/udid_comm.c", - "//base/startup/init/services/modules/udid/udid_static.c", - "//base/startup/init/services/modules/encaps/encaps_static.c", - "//base/startup/init/services/param/adapter/param_dac.c", - "//base/startup/init/services/param/adapter/param_persistadp.c", - "//base/startup/init/services/param/base/param_base.c", - "//base/startup/init/services/param/base/param_comm.c", - "//base/startup/init/services/param/base/param_trie.c", - "//base/startup/init/services/param/linux/param_message.c", - "//base/startup/init/services/param/linux/param_msgadp.c", - "//base/startup/init/services/param/linux/param_osadp.c", - "//base/startup/init/services/param/linux/param_request.c", - "//base/startup/init/services/param/linux/param_service.c", - "//base/startup/init/services/param/manager/param_manager.c", - "//base/startup/init/services/param/manager/param_persist.c", - "//base/startup/init/services/param/manager/param_server.c", - "//base/startup/init/services/param/trigger/trigger_checker.c", - "//base/startup/init/services/param/trigger/trigger_manager.c", - "//base/startup/init/services/param/trigger/trigger_processor.c", - "//base/startup/init/services/sandbox/sandbox.c", - "//base/startup/init/services/sandbox/sandbox_namespace.c", - "//base/startup/init/services/utils/init_hashmap.c", - "//base/startup/init/services/utils/init_utils.c", - "//base/startup/init/services/utils/list.c", - "//base/startup/init/ueventd/standard/ueventd_parameter.c", - "//base/startup/init/ueventd/ueventd.c", - "//base/startup/init/ueventd/ueventd_device_handler.c", - "//base/startup/init/ueventd/ueventd_firmware_handler.c", - "//base/startup/init/ueventd/ueventd_read_cfg.c", - "//base/startup/init/ueventd/ueventd_socket.c", - ] +template("init_unittest_temp") { + forward_variables_from(invoker, "*") + ohos_unittest(target_name) { + sanitize = { + cfi = true + cfi_cross_dso = true + debug = false + blocklist = "./init_unittest_blocklist.txt" + } + module_out_path = "init/init" + sources = [ + "//base/startup/init/device_info/device_info.cpp", + "//base/startup/init/device_info/device_info_service.cpp", + "//base/startup/init/interfaces/innerkits/control_fd/control_fd_client.c", + "//base/startup/init/interfaces/innerkits/control_fd/control_fd_service.c", + "//base/startup/init/interfaces/innerkits/fd_holder/fd_holder.c", + "//base/startup/init/interfaces/innerkits/fd_holder/fd_holder_internal.c", + "//base/startup/init/interfaces/innerkits/file/init_file.c", + "//base/startup/init/interfaces/innerkits/fs_manager/erofs_overlay/erofs_mount_overlay.c", + "//base/startup/init/interfaces/innerkits/fs_manager/erofs_overlay/erofs_overlay_common.c", + "//base/startup/init/interfaces/innerkits/fs_manager/erofs_overlay/erofs_remount_overlay.c", + "//base/startup/init/interfaces/innerkits/fs_manager/fstab.c", + "//base/startup/init/interfaces/innerkits/fs_manager/fstab_mount.c", + "//base/startup/init/interfaces/innerkits/fs_manager/switch_root/switch_root.c", + "//base/startup/init/interfaces/innerkits/reboot/init_reboot_innerkits.c", + "//base/startup/init/interfaces/innerkits/socket/init_socket.c", + "//base/startup/init/interfaces/innerkits/syspara/param_comm.c", + "//base/startup/init/interfaces/innerkits/syspara/parameter.c", + "//base/startup/init/interfaces/innerkits/syspara/sysversion.c", + "//base/startup/init/remount/remount_overlay.c", + "//base/startup/init/services/begetctl/begetctl_cmd.c", + "//base/startup/init/services/begetctl/bootchart_cmd.c", + "//base/startup/init/services/begetctl/dump_service.c", + "//base/startup/init/services/begetctl/init_cmd_reboot.c", + "//base/startup/init/services/begetctl/misc_daemon.cpp", + "//base/startup/init/services/begetctl/modulectl.c", + "//base/startup/init/services/begetctl/param_cmd.c", + "//base/startup/init/services/begetctl/sandbox.cpp", + "//base/startup/init/services/begetctl/service_control.c", + "//base/startup/init/services/begetctl/setloglevel.c", + "//base/startup/init/services/begetctl/shell/shell_bas.c", + "//base/startup/init/services/begetctl/shell/shell_main.c", + "//base/startup/init/services/init/adapter/init_adapter.c", + "//base/startup/init/services/init/bootstagehooker.c", + "//base/startup/init/services/init/init_capability.c", + "//base/startup/init/services/init/init_cgroup.c", + "//base/startup/init/services/init/init_common_cmds.c", + "//base/startup/init/services/init/init_common_service.c", + "//base/startup/init/services/init/init_config.c", + "//base/startup/init/services/init/init_group_manager.c", + "//base/startup/init/services/init/init_service_file.c", + "//base/startup/init/services/init/init_service_manager.c", + "//base/startup/init/services/init/init_service_socket.c", + "//base/startup/init/services/init/standard/device.c", + "//base/startup/init/services/init/standard/fd_holder_service.c", + "//base/startup/init/services/init/standard/init.c", + "//base/startup/init/services/init/standard/init_cmdexecutor.c", + "//base/startup/init/services/init/standard/init_cmds.c", + "//base/startup/init/services/init/standard/init_control_fd_service.c", + "//base/startup/init/services/init/standard/init_jobs.c", + "//base/startup/init/services/init/standard/init_mount.c", + "//base/startup/init/services/init/standard/init_reboot.c", + "//base/startup/init/services/init/standard/init_service.c", + "//base/startup/init/services/init/standard/init_signal_handler.c", + "//base/startup/init/services/log/init_commlog.c", + "//base/startup/init/services/log/init_log.c", + "//base/startup/init/services/loopevent/idle/le_idle.c", + "//base/startup/init/services/loopevent/loop/le_epoll.c", + "//base/startup/init/services/loopevent/loop/le_loop.c", + "//base/startup/init/services/loopevent/signal/le_signal.c", + "//base/startup/init/services/loopevent/socket/le_socket.c", + "//base/startup/init/services/loopevent/task/le_asynctask.c", + "//base/startup/init/services/loopevent/task/le_streamtask.c", + "//base/startup/init/services/loopevent/task/le_task.c", + "//base/startup/init/services/loopevent/task/le_watchtask.c", + "//base/startup/init/services/loopevent/timer/le_timer.c", + "//base/startup/init/services/loopevent/utils/le_utils.c", + "//base/startup/init/services/modules/bootchart/bootchart.c", + "//base/startup/init/services/modules/bootchart/bootchart_static.c", + "//base/startup/init/services/modules/bootevent/bootevent.c", + "//base/startup/init/services/modules/crashhandler/crash_handler.c", + "//base/startup/init/services/modules/encaps/encaps_static.c", + "//base/startup/init/services/modules/init_eng/init_eng.c", + "//base/startup/init/services/modules/init_eng/init_eng_static.c", + "//base/startup/init/services/modules/init_hook/init_hook.c", + "//base/startup/init/services/modules/init_hook/param_hook.c", + "//base/startup/init/services/modules/reboot/reboot.c", + "//base/startup/init/services/modules/reboot/reboot_misc.c", + "//base/startup/init/services/modules/reboot/reboot_static.c", + "//base/startup/init/services/modules/udid/udid_adp.c", + "//base/startup/init/services/modules/udid/udid_comm.c", + "//base/startup/init/services/modules/udid/udid_static.c", + "//base/startup/init/services/param/adapter/param_dac.c", + "//base/startup/init/services/param/adapter/param_persistadp.c", + "//base/startup/init/services/param/base/param_base.c", + "//base/startup/init/services/param/base/param_comm.c", + "//base/startup/init/services/param/base/param_trie.c", + "//base/startup/init/services/param/linux/param_message.c", + "//base/startup/init/services/param/linux/param_msgadp.c", + "//base/startup/init/services/param/linux/param_osadp.c", + "//base/startup/init/services/param/linux/param_request.c", + "//base/startup/init/services/param/linux/param_service.c", + "//base/startup/init/services/param/manager/param_manager.c", + "//base/startup/init/services/param/manager/param_persist.c", + "//base/startup/init/services/param/manager/param_server.c", + "//base/startup/init/services/param/trigger/trigger_checker.c", + "//base/startup/init/services/param/trigger/trigger_manager.c", + "//base/startup/init/services/param/trigger/trigger_processor.c", + "//base/startup/init/services/sandbox/sandbox.c", + "//base/startup/init/services/sandbox/sandbox_namespace.c", + "//base/startup/init/services/utils/init_hashmap.c", + "//base/startup/init/services/utils/init_utils.c", + "//base/startup/init/services/utils/list.c", + "//base/startup/init/ueventd/standard/ueventd_parameter.c", + "//base/startup/init/ueventd/ueventd.c", + "//base/startup/init/ueventd/ueventd_device_handler.c", + "//base/startup/init/ueventd/ueventd_firmware_handler.c", + "//base/startup/init/ueventd/ueventd_read_cfg.c", + "//base/startup/init/ueventd/ueventd_socket.c", + ] - deps = [ "//base/startup/init/interfaces/innerkits:deviceinfo_stub" ] + deps = [ "//base/startup/init/interfaces/innerkits:deviceinfo_stub" ] - if (defined(build_selinux) && build_selinux) { - sources += [ "//base/startup/init/services/param/adapter/param_selinux.c" ] - } + if (defined(build_selinux) && build_selinux) { + sources += + [ "//base/startup/init/services/param/adapter/param_selinux.c" ] + } + + if (enable_ohos_startup_init_feature_watcher) { + sources += [ + "//base/startup/init/services/param/watcher/agent/watcher.cpp", + "//base/startup/init/services/param/watcher/agent/watcher_manager_kits.cpp", + "//base/startup/init/services/param/watcher/proxy/watcher_manager.cpp", + ] + deps += [ + "//base/startup/init/interfaces/innerkits/:param_watcher_proxy", + "//base/startup/init/interfaces/innerkits/:param_watcher_stub", + ] + } + + include_dirs = [ + "//base/startup/init/interfaces/innerkits/fs_manager/switch_root/include", + "//base/startup/init/interfaces/innerkits/fs_manager/erofs_overlay/include", + "//base/startup/init/interfaces/innerkits/fs_manager/libfs_dm/include", + "//base/startup/init/interfaces/innerkits/include/fs_manager", + "//base/startup/init/remount/include", + ] + defines = [] + + if (defined(build_seccomp) && build_seccomp) { + sources += [ "../../services/modules/seccomp/seccomp_policy.c" ] + include_dirs += + [ "//base/startup/init/interfaces/innerkits/seccomp/include" ] + + if (build_variant == "root") { + defines += [ "WITH_SECCOMP_DEBUG" ] + } + + if (use_clang_coverage) { + defines += [ "COVERAGE_TEST" ] + } + + if (init_feature_seccomp_privilege) { + defines += [ "SECCOMP_PRIVILEGE" ] + } + + if (init_feature_custom_sandbox) { + defines += [ "CUSTOM_SANDBOX" ] + } + } + + sources += [ "param/param_stub.cpp" ] - if (enable_ohos_startup_init_feature_watcher) { sources += [ - "//base/startup/init/services/param/watcher/agent/watcher.cpp", - "//base/startup/init/services/param/watcher/agent/watcher_manager_kits.cpp", - "//base/startup/init/services/param/watcher/proxy/watcher_manager.cpp", + "//base/startup/init/interfaces/innerkits/hookmgr/hookmgr.c", + "//base/startup/init/interfaces/innerkits/init_module_engine/init_modulemgr.c", + "//base/startup/init/interfaces/innerkits/modulemgr/modulemgr.c", + "//base/startup/init/interfaces/innerkits/service_control/service_control.c", + "//base/startup/init/interfaces/innerkits/service_watcher/service_watcher.c", + "//base/startup/init/interfaces/innerkits/syscap/init_syscap.c", + "//base/startup/init/interfaces/innerkits/syspara/param_wrapper.cpp", ] - deps += [ - "//base/startup/init/interfaces/innerkits/:param_watcher_proxy", - "//base/startup/init/interfaces/innerkits/:param_watcher_stub", + + configs = [ "//base/startup/init/test/unittest:utest_config" ] + + include_dirs += [ + "//base/startup/init/device_info", + "//base/startup/init/services/init/standard", + "//base/startup/init/interfaces/innerkits/include", + "//base/startup/init/interfaces/innerkits/include/syspara", + "//base/startup/init/interfaces/innerkits/fd_holder", + "//base/startup/init/interfaces/innerkits/syspara", + "//base/startup/init/interfaces/innerkits/control_fd", + "//base/startup/init/services/begetctl", + "//base/startup/init/services/begetctl/shell", + "//base/startup/init/interfaces/innerkits/include", + "//base/startup/init/services/init/include", + "//base/startup/init/interfaces/innerkits/include/param", + "//base/startup/init/services/log", + "//base/startup/init/services/loopevent/include", + "//base/startup/init/services/loopevent/loop", + "//base/startup/init/services/loopevent/socket", + "//base/startup/init/services/loopevent/signal", + "//base/startup/init/services/loopevent/task", + "//base/startup/init/services/loopevent/timer", + "//base/startup/init/services/loopevent/utils", + "//base/startup/init/services/loopevent/idle", + "//base/startup/init/services/modules", + "//base/startup/init/services/modules/bootchart", + "//base/startup/init/services/modules/init_hook", + "//base/startup/init/services/modules/selinux", + "//base/startup/init/services/modules/reboot", + "//base/startup/init/services/modules/udid", + "//base/startup/init/services/modules/crashhandler", + "//base/startup/init/services/modules/init_eng", + "//base/startup/init/services/param/adapter", + "//base/startup/init/services/param/base", + "//base/startup/init/services/param/linux", + "//base/startup/init/services/param/include", + "//base/startup/init/services/param/watcher/agent", + "//base/startup/init/services/param/watcher/include", + "//base/startup/init/services/param/watcher/proxy", + "//base/startup/init/test/unittest", + "//base/startup/init/test/unittest/param", + "//base/startup/init/ueventd/include", + "//base/startup/init/services/sandbox/include", + "//base/startup/init/interfaces/innerkits/hals", + "//base/startup/init/interfaces/innerkits/include/param", ] - } - include_dirs = [ - "//base/startup/init/interfaces/innerkits/fs_manager/switch_root/include", - "//base/startup/init/interfaces/innerkits/fs_manager/erofs_overlay/include", - "//base/startup/init/interfaces/innerkits/fs_manager/libfs_dm/include", - "//base/startup/init/interfaces/innerkits/include/fs_manager", - "//base/startup/init/remount/include", - ] - defines = [] + include_dirs += [ "//base/startup/init/services/modules/sysevent" ] + sources += + [ "//base/startup/init/services/modules/sysevent/init_hisysevent.c" ] - if (defined(build_seccomp) && build_seccomp) { - sources += [ - "../../services/modules/seccomp/seccomp_policy.c", - "seccomp/seccomp_unittest.cpp", + defines += [ + "READ_CHECK", + "INIT_AGENT", + "INIT_DMESG", + "INIT_FILE", + "STARTUP_INIT_TEST", + "PARAM_SUPPORT_DAC", + "_GNU_SOURCE", + "PARAM_SUPPORT_TRIGGER", + "USE_MBEDTLS", + "PARAM_DECODE_GROUPID_FROM_FILE", + "WORKSPACE_AREA_NEED_MUTEX", + "PARAMWORKSPACE_NEED_MUTEX", + "PARAM_SUPPORT_REAL_CHECK", + "DISABLE_INIT_TWO_STAGES", + "INIT_SUPPORT_CHIPSET_INIT", ] - include_dirs += - [ "//base/startup/init/interfaces/innerkits/seccomp/include" ] + defines += [ "_GNU_SOURCE" ] - if (build_variant == "root") { - defines += [ "WITH_SECCOMP_DEBUG" ] + if (target_cpu == "arm64" || target_cpu == "x86_64" || + target_cpu == "riscv64") { + defines += [ "SUPPORT_64BIT" ] } - if (use_clang_coverage) { - defines += [ "COVERAGE_TEST" ] + if (init_feature_use_hook_mgr) { + defines += [ "ENABLE_HOOK_MGR" ] } - if (init_feature_seccomp_privilege) { - defines += [ "SECCOMP_PRIVILEGE" ] + if (use_musl) { + defines += [ "__MUSL__" ] } - if (init_feature_custom_sandbox) { - defines += [ "CUSTOM_SANDBOX" ] + external_deps = [ + "bounds_checking_function:libsec_static", + "cJSON:cjson", + "c_utils:utils", + "config_policy:configpolicy_util_for_init_static", + "googletest:gmock", + "googletest:gtest", + "hilog:libhilog", + "hisysevent:libhisysevent", + "init:libinit_module_engine", + "mbedtls:mbedtls_shared", + "selinux:libselinux", + "storage_service:libfscryptutils_static", + "zlib:libz", + ] + if (defined(global_parts_info) && + defined(global_parts_info.security_access_token)) { + external_deps += [ + "access_token:libnativetoken", + "access_token:libtoken_setproc", + ] + defines += [ "INIT_SUPPORT_ACCESS_TOKEN" ] + } + if (init_appspawn_client_module && defined(global_parts_info) && + defined(global_parts_info.startup_appspawn)) { + defines += [ "ENABLE_ENTER_APPSPAWN_SANDBOX" ] + external_deps += [ "appspawn:appspawn_client" ] } - } - sources += [ - "begetctl/begetctl_unittest.cpp", - "fs_manager/erofs/erofs_common_unittest.cpp", - "fs_manager/erofs/erofs_mount_unittest.cpp", - "fs_manager/erofs/erofs_remount_unittest.cpp", - "init/cmds_unittest.cpp", - "init/group_unittest.cpp", - "init/init_reboot_unittest.cpp", - "init/init_unittest.cpp", - "init/mount_unittest.cpp", - "init/sandbox_unittest.cpp", - "init/service_file_unittest.cpp", - "init/service_socket_unittest.cpp", - "init/service_unittest.cpp", - "init/utils_unittest.cpp", - "innerkits/innerkits_unittest.cpp", - "loopevent/loopevent_unittest.cpp", - "loopevent/loopserver_unittest.cpp", - "loopevent/loopsignal_unittest.cpp", - "loopevent/looptimer_unittest.cpp", - "modules/eng_unittest.cpp", - "modules/modules_unittest.cpp", - "modules/udid_unittest.cpp", - "param/client_unittest.cpp", - "param/dac_unittest.cpp", - "param/param_shell_unittest.cpp", - "param/param_stub.cpp", - "param/param_unittest.cpp", - "param/paramservice_unittest.cpp", - "param/trigger_unittest.cpp", - "remount/remount_overlay_unittest.cpp", - "syspara/syspara_unittest.cpp", - "ueventd/ueventd_config_unittest.cpp", - "ueventd/ueventd_event_unittest.cpp", - ] + if (init_feature_ab_partition) { + sources += [ "//base/startup/init/services/begetctl/partitionslot.cpp" ] + external_deps += [ + "drivers_interface_partitionslot:libpartitionslot_proxy_1.0", + "hdf_core:libhdi", + "hdf_core:libpub_utils", + ] + } - sources += [ - "//base/startup/init/interfaces/innerkits/hookmgr/hookmgr.c", - "//base/startup/init/interfaces/innerkits/init_module_engine/init_modulemgr.c", - "//base/startup/init/interfaces/innerkits/modulemgr/modulemgr.c", - "//base/startup/init/interfaces/innerkits/service_control/service_control.c", - "//base/startup/init/interfaces/innerkits/service_watcher/service_watcher.c", - "//base/startup/init/interfaces/innerkits/syscap/init_syscap.c", - "//base/startup/init/interfaces/innerkits/syspara/param_wrapper.cpp", - "innerkits/hookmgr_unittest.cpp", - "innerkits/modulemgr_unittest.cpp", - "innerkits/strutil_unittest.cpp", - ] + if (!defined(ohos_lite) && enable_ohos_startup_init_feature_watcher) { + external_deps += [ + "ipc:ipc_single", + "safwk:system_ability_fwk", + "samgr:samgr_proxy", + ] + } - configs = [ "//base/startup/init/test/unittest:utest_config" ] + if (defined(build_selinux) && build_selinux) { + sources += [ + "//base/startup/init/services/modules/selinux/selinux_adp.c", + "//base/startup/init/services/modules/selinux/selinux_static.c", + ] + external_deps += [ + "selinux:libselinux", + "selinux_adapter:librestorecon", + ] + + defines += [ + "WITH_SELINUX", + "PARAM_SUPPORT_SELINUX", + ] + } + if (enable_ohos_startup_init_feature_deviceinfo) { + sources += [ + "//base/startup/init/device_info/device_info_kits.cpp", + "//base/startup/init/device_info/device_info_load.cpp", + ] + deps += [ "//base/startup/init/interfaces/innerkits:deviceinfo_proxy" ] + if (defined(global_parts_info) && + defined(global_parts_info.security_access_token)) { + external_deps += [ "access_token:libaccesstoken_sdk" ] + defines += [ "INIT_SUPPORT_ACCESS_TOKEN" ] + } + if (is_standard_system) { + external_deps += [ "selinux:libselinux" ] + } + + defines += [ "PARAM_FEATURE_DEVICEINFO" ] + if (init_get_disk_sn) { + defines += [ "PARAM_FEATURE_GET_DEVICE_SN" ] + } + } - include_dirs += [ - "//base/startup/init/device_info", - "//base/startup/init/services/init/standard", - "//base/startup/init/interfaces/innerkits/include", - "//base/startup/init/interfaces/innerkits/include/syspara", - "//base/startup/init/interfaces/innerkits/fd_holder", - "//base/startup/init/interfaces/innerkits/syspara", - "//base/startup/init/interfaces/innerkits/control_fd", - "//base/startup/init/services/begetctl", - "//base/startup/init/services/begetctl/shell", - "//base/startup/init/interfaces/innerkits/include", - "//base/startup/init/services/init/include", - "//base/startup/init/interfaces/innerkits/include/param", - "//base/startup/init/services/log", - "//base/startup/init/services/loopevent/include", - "//base/startup/init/services/loopevent/loop", - "//base/startup/init/services/loopevent/socket", - "//base/startup/init/services/loopevent/signal", - "//base/startup/init/services/loopevent/task", - "//base/startup/init/services/loopevent/timer", - "//base/startup/init/services/loopevent/utils", - "//base/startup/init/services/loopevent/idle", - "//base/startup/init/services/modules", - "//base/startup/init/services/modules/bootchart", - "//base/startup/init/services/modules/init_hook", - "//base/startup/init/services/modules/selinux", - "//base/startup/init/services/modules/reboot", - "//base/startup/init/services/modules/udid", - "//base/startup/init/services/modules/crashhandler", - "//base/startup/init/services/modules/init_eng", - "//base/startup/init/services/param/adapter", - "//base/startup/init/services/param/base", - "//base/startup/init/services/param/linux", - "//base/startup/init/services/param/include", - "//base/startup/init/services/param/watcher/agent", - "//base/startup/init/services/param/watcher/include", - "//base/startup/init/services/param/watcher/proxy", - "//base/startup/init/test/unittest", - "//base/startup/init/test/unittest/param", - "//base/startup/init/ueventd/include", - "//base/startup/init/services/sandbox/include", - "//base/startup/init/interfaces/innerkits/hals", - "//base/startup/init/interfaces/innerkits/include/param", - ] + sources += [ "//base/startup/init/services/modules/trace/init_trace.c" ] - include_dirs += [ "//base/startup/init/services/modules/sysevent" ] - sources += - [ "//base/startup/init/services/modules/sysevent/init_hisysevent.c" ] - - defines += [ - "READ_CHECK", - "INIT_AGENT", - "INIT_DMESG", - "INIT_FILE", - "STARTUP_INIT_TEST", - "PARAM_SUPPORT_DAC", - "_GNU_SOURCE", - "PARAM_SUPPORT_TRIGGER", - "USE_MBEDTLS", - "PARAM_DECODE_GROUPID_FROM_FILE", - "WORKSPACE_AREA_NEED_MUTEX", - "PARAMWORKSPACE_NEED_MUTEX", - "PARAM_SUPPORT_REAL_CHECK", - "DISABLE_INIT_TWO_STAGES", - "INIT_SUPPORT_CHIPSET_INIT", - ] - defines += [ "_GNU_SOURCE" ] + # for sysevent + sources += [ + "//base/startup/init/services/modules/sysevent/startup_time_event.c", + "//base/startup/init/services/modules/sysevent/sys_event.c", + ] - if (target_cpu == "arm64" || target_cpu == "x86_64" || - target_cpu == "riscv64") { - defines += [ "SUPPORT_64BIT" ] - } + include_dirs += [ + "//base/startup/init/services/modules/bootevent", + "//base/startup/init/services/modules/init_context", + "//base/startup/init/services/modules/sysevent", + ] - if (init_feature_use_hook_mgr) { - defines += [ "ENABLE_HOOK_MGR" ] + # test for init sub init_context + sources += [ + "//base/startup/init/services/modules/init_context/init_context_static.c", + ] + if (defined(unittest_source)) { + sources += unittest_source + } + cflags_cc = [ "-fexceptions" ] } +} - if (use_musl) { - defines += [ "__MUSL__" ] +init_unittest_temp("init_seccomp_unittest") { + if (defined(build_seccomp) && build_seccomp) { + unittest_source = [ "seccomp/seccomp_unittest.cpp" ] } +} - external_deps = [ - "bounds_checking_function:libsec_static", - "cJSON:cjson", - "c_utils:utils", - "config_policy:configpolicy_util_for_init_static", - "googletest:gmock", - "googletest:gtest", - "hilog:libhilog", - "hisysevent:libhisysevent", - "init:libinit_module_engine", - "mbedtls:mbedtls_shared", - "selinux:libselinux", - "storage_service:libfscryptutils_static", - "zlib:libz", +init_unittest_temp("init_begetctl_unittest") { + unittest_source = [ "begetctl/begetctl_unittest.cpp" ] +} + +init_unittest_temp("init_erofs_common_unittest") { + unittest_source = [ "fs_manager/erofs/erofs_common_unittest.cpp" ] +} + +init_unittest_temp("init_erofs_mount_unittest") { + unittest_source = [ "fs_manager/erofs/erofs_mount_unittest.cpp" ] +} + +init_unittest_temp("init_erofs_remount_unittest") { + unittest_source = [ "fs_manager/erofs/erofs_remount_unittest.cpp" ] +} + +init_unittest_temp("init_cmds_unittest") { + unittest_source = [ "init/cmds_unittest.cpp" ] +} + +init_unittest_temp("init_group_unittest") { + unittest_source = [ "init/group_unittest.cpp" ] +} + +init_unittest_temp("init_reboot_unittest") { + unittest_source = [ "init/init_reboot_unittest.cpp" ] +} + +init_unittest_temp("init_unittest") { + unittest_source = [ "init/init_unittest.cpp" ] +} + +init_unittest_temp("init_mount_unittest") { + unittest_source = [ "init/mount_unittest.cpp" ] +} + +init_unittest_temp("init_sandbox_unittest") { + unittest_source = [ "init/sandbox_unittest.cpp" ] +} + +init_unittest_temp("init_service_file_unittest") { + unittest_source = [ + "init/service_file_unittest.cpp" , + "init/service_socket_unittest.cpp" , + "init/service_unittest.cpp" , ] - if (defined(global_parts_info) && - defined(global_parts_info.security_access_token)) { - external_deps += [ - "access_token:libnativetoken", - "access_token:libtoken_setproc", - ] - defines += [ "INIT_SUPPORT_ACCESS_TOKEN" ] - } - if (init_appspawn_client_module && defined(global_parts_info) && - defined(global_parts_info.startup_appspawn)) { - defines += [ "ENABLE_ENTER_APPSPAWN_SANDBOX" ] - external_deps += [ "appspawn:appspawn_client" ] - } +} - if (init_feature_ab_partition) { - sources += [ "//base/startup/init/services/begetctl/partitionslot.cpp" ] - external_deps += [ - "drivers_interface_partitionslot:libpartitionslot_proxy_1.0", - "hdf_core:libhdi", - "hdf_core:libpub_utils", - ] +init_unittest_temp("init_utils_unittest") { + unittest_source = [ "init/utils_unittest.cpp" ] +} + +init_unittest_temp("init_innerkits_unittest") { + unittest_source = [ "innerkits/innerkits_unittest.cpp" ] +} + +init_unittest_temp("init_loopevent_unittest") { + unittest_source = [ "loopevent/loopevent_unittest.cpp" ] +} + +init_unittest_temp("init_loopserver_unittest") { + unittest_source = [ "loopevent/loopserver_unittest.cpp" ] +} + +init_unittest_temp("init_loopsignal_unittest") { + unittest_source = [ "loopevent/loopsignal_unittest.cpp" ] +} + +init_unittest_temp("init_looptimer_unittest") { + unittest_source = [ "loopevent/looptimer_unittest.cpp" ] +} + +init_unittest_temp("init_eng_unittest") { + unittest_source = [ "modules/eng_unittest.cpp" ] +} + +init_unittest_temp("init_modules_unittest") { + unittest_source = [ "modules/modules_unittest.cpp" ] +} + +init_unittest_temp("init_udid_unittest") { + unittest_source = [ "modules/udid_unittest.cpp" ] +} + +init_unittest_temp("init_client_unittest") { + unittest_source = [ "param/client_unittest.cpp" ] +} + +init_unittest_temp("init_dac_unittest") { + unittest_source = [ "param/dac_unittest.cpp" ] +} + +init_unittest_temp("init_param_shell_unittest") { + unittest_source = [ "param/param_shell_unittest.cpp" ] +} + +init_unittest_temp("init_param_unittest") { + unittest_source = [ "param/param_unittest.cpp" ] +} + +init_unittest_temp("init_paramservice_unittest") { + unittest_source = [ "param/paramservice_unittest.cpp" ] +} + +init_unittest_temp("init_trigger_unittest") { + unittest_source = [ "param/trigger_unittest.cpp" ] +} + +init_unittest_temp("init_remount_overlay_unittest") { + unittest_source = [ "remount/remount_overlay_unittest.cpp" ] +} + +init_unittest_temp("init_syspara_unittest") { + unittest_source = [ "syspara/syspara_unittest.cpp" ] +} + +init_unittest_temp("init_ueventd_config_unittest") { + unittest_source = [ + "ueventd/ueventd_config_unittest.cpp", + "ueventd/ueventd_event_unittest.cpp" + ] +} + +init_unittest_temp("init_hookmgr_unittest") { + unittest_source = [ "innerkits/hookmgr_unittest.cpp" ] +} + +init_unittest_temp("init_modulemgr_unittest") { + unittest_source = [ "innerkits/modulemgr_unittest.cpp" ] +} + +init_unittest_temp("init_strutil_unittest") { + unittest_source = [ "innerkits/strutil_unittest.cpp" ] +} + +init_unittest_temp("init_watcher_agent_unittest") { + if (!defined(ohos_lite) && enable_ohos_startup_init_feature_watcher) { + unittest_source = [ "param/watcher_agent_unittest.cpp" ] } +} +init_unittest_temp("init_watcher_proxy_unittest") { if (!defined(ohos_lite) && enable_ohos_startup_init_feature_watcher) { - sources += [ - "param/watcher_agent_unittest.cpp", - "param/watcher_proxy_unittest.cpp", - ] - external_deps += [ - "ipc:ipc_single", - "safwk:system_ability_fwk", - "samgr:samgr_proxy", - ] + unittest_source = [ "param/watcher_proxy_unittest.cpp" ] } +} +init_unittest_temp("init_selinux_unittest") { if (defined(build_selinux) && build_selinux) { - sources += [ "param/selinux_unittest.cpp" ] - sources += [ - "//base/startup/init/services/modules/selinux/selinux_adp.c", - "//base/startup/init/services/modules/selinux/selinux_static.c", - ] - external_deps += [ - "selinux:libselinux", - "selinux_adapter:librestorecon", - ] - - defines += [ - "WITH_SELINUX", - "PARAM_SUPPORT_SELINUX", - ] + unittest_source = [ "param/selinux_unittest.cpp" ] } +} + +init_unittest_temp("init_deviceInfo_unittest") { if (enable_ohos_startup_init_feature_deviceinfo) { - sources += [ - "//base/startup/init/device_info/device_info_kits.cpp", - "//base/startup/init/device_info/device_info_load.cpp", - ] - deps += [ "//base/startup/init/interfaces/innerkits:deviceinfo_proxy" ] if (defined(global_parts_info) && defined(global_parts_info.security_access_token)) { - external_deps += [ "access_token:libaccesstoken_sdk" ] - defines += [ "INIT_SUPPORT_ACCESS_TOKEN" ] - sources += [ "deviceinfo/DeviceInfoUnittest.cpp" ] - } - if (is_standard_system) { - external_deps += [ "selinux:libselinux" ] - } - - defines += [ "PARAM_FEATURE_DEVICEINFO" ] - if (init_get_disk_sn) { - defines += [ "PARAM_FEATURE_GET_DEVICE_SN" ] + unittest_source = [ "deviceinfo/DeviceInfoUnittest.cpp" ] } } +} - sources += [ - "//base/startup/init/services/modules/trace/init_trace.c", - "//base/startup/init/test/unittest/modules/trace_unittest.cpp", - ] - - # for sysevent - sources += [ - "//base/startup/init/services/modules/sysevent/startup_time_event.c", - "//base/startup/init/services/modules/sysevent/sys_event.c", - "//base/startup/init/test/unittest/modules/sysevent_unittest.cpp", - ] +init_unittest_temp("init_trace_unittest") { + unittest_source = + [ "//base/startup/init/test/unittest/modules/trace_unittest.cpp" ] +} - include_dirs += [ - "//base/startup/init/services/modules/bootevent", - "//base/startup/init/services/modules/init_context", - "//base/startup/init/services/modules/sysevent", - ] +init_unittest_temp("init_sysevent_unittest") { + unittest_source = + [ "//base/startup/init/test/unittest/modules/sysevent_unittest.cpp" ] +} - # test for init sub init_context - sources += [ - "//base/startup/init/services/modules/init_context/init_context.c", - "//base/startup/init/services/modules/init_context/init_context_static.c", +init_unittest_temp("init_context_unittest") { + unittest_source = [ "//base/startup/init/test/unittest/modules/context_unittest.cpp", + "//base/startup/init/services/modules/init_context/init_context.c", ] +} - # test atomic operation - sources += [ "//base/startup/init/test/unittest/param/atomic_unittest.cpp" ] - - cflags_cc = [ "-fexceptions" ] +init_unittest_temp("init_atomic_unittest") { + unittest_source = + [ "//base/startup/init/test/unittest/param/atomic_unittest.cpp" ] } ohos_unittest("init_dmverify_unittest") { @@ -485,8 +626,8 @@ ohos_unittest("init_dmverify_unittest") { if (defined(global_parts_info) && defined(global_parts_info.startup_hvb)) { external_deps += [ "hvb:libhvb_static" ] sources += [ - "//base/startup/init/test/mock/init/interfaces/innerkits/fs_manager/libfs_hvb/fs_hvb.c", "//base/startup/init/interfaces/innerkits/fs_manager/dm_verity/dm_verity.c", + "//base/startup/init/test/mock/init/interfaces/innerkits/fs_manager/libfs_hvb/fs_hvb.c", "//base/startup/init/test/unittest/fs_manager/dm_verify/dm_verify_unittest.cpp", ] } @@ -539,11 +680,11 @@ ohos_unittest("init_fshvb_unittest") { sources += [ "//base/startup/init/interfaces/innerkits/fs_manager/libfs_hvb/fs_hvb.c", "//base/startup/init/interfaces/innerkits/fs_manager/libfs_hvb/hvb_ops.c", - "//base/startup/init/test/unittest/fs_manager/libfs_hvb_unittest.cpp", + "//base/startup/init/test/mock/hvb/libhvb/auth/hvb.c", "//base/startup/init/test/mock/hvb/libhvb/cert/hvb_cert.c", "//base/startup/init/test/mock/hvb/libhvb/crypto/hvb_hash_sha256.c", - "//base/startup/init/test/mock/hvb/libhvb/auth/hvb.c", "//base/startup/init/test/mock/hvb/libhvb/crypto/hvb_sm3.c", + "//base/startup/init/test/unittest/fs_manager/libfs_hvb_unittest.cpp", ] } cflags_cc = [ "-fexceptions" ]