1 # Copyright (c) 2020 Huawei Device Co., Ltd. 2 # Licensed under the Apache License, Version 2.0 (the "License"); 3 # you may not use this file except in compliance with the License. 4 # You may obtain a copy of the License at 5 # 6 # http://www.apache.org/licenses/LICENSE-2.0 7 # 8 # Unless required by applicable law or agreed to in writing, software 9 # distributed under the License is distributed on an "AS IS" BASIS, 10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 # See the License for the specific language governing permissions and 12 # limitations under the License. 13 if (defined(ohos_lite)) { 14 import("//build/lite/config/component/lite_component.gni") 15 import("//build/lite/config/test.gni") 16 17 unittest("init_test") { 18 output_extension = "bin" 19 output_dir = "$root_out_dir/test/unittest/startup" 20 ldflags = [ 21 "-lstdc++", 22 "-lpthread", 23 "-lm", 24 ] 25 defines = [ 26 "OHOS_LITE", 27 "__MUSL__", 28 "_GNU_SOURCE", 29 ] 30 if (storage_type == "emmc") { 31 defines += [ "USE_EMMC_STORAGE" ] 32 } 33 defines += [ "_GNU_SOURCE" ] 34 35 include_dirs = [ 36 "//base/startup/init_lite/services/include", 37 "//base/startup/init_lite/services/init/include", 38 "//base/startup/init_lite/services/log", 39 "//base/startup/init_lite/services/loopevent/include", 40 "//base/startup/init_lite/interfaces/innerkits/include", 41 "//third_party/cJSON", 42 "//third_party/bounds_checking_function/include", 43 "//base/startup/syspara_lite/interfaces/kits", 44 "//base/hiviewdfx/hilog_lite/interfaces/native/kits", 45 "//base/startup/init_lite/interfaces/innerkits/fd_holder", 46 ] 47 48 sources = [ 49 "//base/startup/init_lite/services/init/adapter/init_adapter.c", 50 "//base/startup/init_lite/services/init/init_capability.c", 51 "//base/startup/init_lite/services/init/init_common_cmds.c", 52 "//base/startup/init_lite/services/init/init_common_service.c", 53 "//base/startup/init_lite/services/init/init_config.c", 54 "//base/startup/init_lite/services/init/init_group_manager.c", 55 "//base/startup/init_lite/services/init/init_service_file.c", 56 "//base/startup/init_lite/services/init/init_service_manager.c", 57 "//base/startup/init_lite/services/init/init_service_socket.c", 58 "//base/startup/init_lite/services/init/lite/init.c", 59 "//base/startup/init_lite/services/init/lite/init_cmds.c", 60 "//base/startup/init_lite/services/init/lite/init_jobs.c", 61 "//base/startup/init_lite/services/init/lite/init_reboot.c", 62 "//base/startup/init_lite/services/init/lite/init_service.c", 63 "//base/startup/init_lite/services/init/lite/init_signal_handler.c", 64 "//base/startup/init_lite/services/log/init_log.c", 65 "//base/startup/init_lite/services/utils/init_hashmap.c", 66 "//base/startup/init_lite/services/utils/init_utils.c", 67 "//base/startup/init_lite/services/utils/list.c", 68 "cmd_func_test.cpp", 69 ] 70 71 deps = [ 72 "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared", 73 "//base/startup/init_lite/initsync:initsync", 74 "//base/startup/init_lite/services/loopevent:loopevent", 75 "//base/startup/syspara_lite/frameworks/parameter:parameter", 76 "//build/lite/config/component/cJSON:cjson_shared", 77 "//third_party/bounds_checking_function:libsec_shared", 78 ] 79 if (ohos_kernel_type == "liteos_a") { 80 include_dirs += [ 81 "//kernel/liteos_a/syscall", 82 "//base/startup/init_lite/interfaces/kits", 83 "//base/startup/init_lite/initsync/include", 84 ] 85 } 86 } 87 88 group("unittest") { 89 deps = [ ":init_test" ] 90 } 91 } else { 92 group("unittest") { 93 } 94 } 95