• 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.
13
14import("//build/test.gni")
15import("//foundation/communication/dhcp/dhcp.gni")
16
17module_output_path = "dhcp/dhcp_server_test"
18
19config("module_private_config") {
20  visibility = [ ":*" ]
21  include_dirs = [ "$DHCP_ROOT_DIR/services/dhcp_server/include" ]
22}
23
24ohos_unittest("dhcp_server_unittest") {
25  module_out_path = module_output_path
26  dhcp_hilog_enable = true
27  sources = [
28    "$DHCP_ROOT_DIR/services/dhcp_server/src/address_utils.cpp",
29    "$DHCP_ROOT_DIR/services/dhcp_server/src/common_util.cpp",
30    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_address_pool.cpp",
31    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_argument.cpp",
32    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_binding.cpp",
33    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_config.cpp",
34    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_dhcpd.cpp",
35    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_function.cpp",
36    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_option.cpp",
37    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_s_server.cpp",
38    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_server_callback_proxy.cpp",
39    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_server_death_recipient.cpp",
40    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_server_service_impl.cpp",
41    "$DHCP_ROOT_DIR/services/dhcp_server/src/dhcp_server_stub.cpp",
42    "$DHCP_ROOT_DIR/services/dhcp_server/src/hash_table.cpp",
43    "address_utils_test.cpp",
44    "common_util_test.cpp",
45    "dhcp_address_pool_test.cpp",
46    "dhcp_argument_test.cpp",
47    "dhcp_binding_test.cpp",
48    "dhcp_config_test.cpp",
49    "dhcp_dhcpd_test.cpp",
50    "dhcp_function_test.cpp",
51    "dhcp_message_sim.cpp",
52    "dhcp_option_test.cpp",
53    "dhcp_s_server_test.cpp",
54    "dhcp_server_callback_proxy_test.cpp",
55    "dhcp_server_death_recipient_test.cpp",
56    "dhcp_server_service_impl_test.cpp",
57    "dhcp_server_stub_test.cpp",
58    "hash_table_test.cpp",
59    "system_func_mock.cpp",
60  ]
61
62  include_dirs = [
63    "//third_party/googletest/googlemock/include",
64    "$DHCP_ROOT_DIR/frameworks/native/include",
65    "$DHCP_ROOT_DIR/frameworks/native/interfaces",
66    "$DHCP_ROOT_DIR/frameworks/native/src",
67    "$DHCP_ROOT_DIR/frameworks/native/c_adapter/inc",
68    "$DHCP_ROOT_DIR/interfaces",
69    "$DHCP_ROOT_DIR/interfaces/inner_api",
70    "$DHCP_ROOT_DIR/interfaces/inner_api/include",
71    "$DHCP_ROOT_DIR/interfaces/kits/c",
72    "$DHCP_ROOT_DIR/interfaces/services",
73    "$DHCP_ROOT_DIR/services",
74    "$DHCP_ROOT_DIR/services/dhcp_server/include",
75    "$DHCP_ROOT_DIR/services/dhcp_client/include",
76  ]
77
78  cflags = []
79
80  deps = [
81    "//third_party/googletest:gmock_main",
82    "//third_party/googletest:gtest_main",
83  ]
84
85  external_deps = [
86    "access_token:libaccesstoken_sdk",
87    "access_token:libtokenid_sdk",
88    "c_utils:utils",
89    "hilog:libhilog",
90    "ipc:ipc_single",
91    "safwk:system_ability_fwk",
92    "samgr:samgr_proxy",
93  ]
94
95  ldflags = [
96    "-fPIC",
97    "-Wl,-E",
98    "-Wl,-rpath=/vendor/lib64/hw",
99    "-Wl,--wrap=open",
100    "-Wl,--wrap=close",
101    "-Wl,--wrap=write",
102    "-Wl,--wrap=read",
103    "-Wl,--wrap=socket",
104    "-Wl,--wrap=setsockopt",
105    "-Wl,--wrap=ioctl",
106    "-Wl,--wrap=bind",
107    "-Wl,--wrap=listen",
108    "-Wl,--wrap=connect",
109    "-Wl,--wrap=select",
110    "-Wl,--wrap=vfork",
111    "-Wl,--wrap=execv",
112    "-Wl,--wrap=_exit",
113    "-Wl,--wrap=waitpid",
114    "-Wl,--wrap=kill",
115    "--coverage",
116  ]
117
118  configs = [ ":module_private_config" ]
119
120  defines = [
121    "DHCP_SEL_WAIT_TIMEOUTS=1",
122    "private = public",
123    "protected = public",
124  ]
125
126  if (dhcp_hilog_enable) {
127    external_deps += [ "hilog:libhilog" ]
128    defines += [ "DHCP_HILOG_ENABLE" ]
129  }
130
131  part_name = "dhcp"
132  subsystem_name = "communication"
133  testonly = true
134}
135
136group("unittest") {
137  testonly = true
138  deps = [ ":dhcp_server_unittest" ]
139}
140