• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2022-2024 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/netstack/netstack_config.gni")
16
17TLS = "$NETSTACK_NATIVE_ROOT/tls_socket"
18TLS_NAPI = "$NETSTACK_DIR/frameworks/js/napi/tls"
19SOCKET = "$NETSTACK_DIR/frameworks/js/napi/socket"
20
21tls_sources = [
22  "$TLS/src/secure_data.cpp",
23  "$TLS/src/socket_error.cpp",
24  "$TLS/src/tls_certificate.cpp",
25  "$TLS/src/tls_configuration.cpp",
26  "$TLS/src/tls_context.cpp",
27  "$TLS/src/tls_context_server.cpp",
28  "$TLS/src/tls_key.cpp",
29  "$TLS/src/tls_utils.cpp",
30  "$TLS_NAPI/src/tls_socket.cpp",
31  "$TLS_NAPI/src/tls_socket_server.cpp",
32]
33
34tls_napi_sources = [
35  "$TLS_NAPI/src/context/tls_bind_context.cpp",
36  "$TLS_NAPI/src/context/tls_connect_context.cpp",
37  "$TLS_NAPI/src/context/tls_extra_context.cpp",
38  "$TLS_NAPI/src/context/tls_init_context.cpp",
39  "$TLS_NAPI/src/context/tls_napi_context.cpp",
40  "$TLS_NAPI/src/context/tls_send_context.cpp",
41  "$TLS_NAPI/src/context/tls_server_close_context.cpp",
42  "$TLS_NAPI/src/context/tls_server_napi_context.cpp",
43  "$TLS_NAPI/src/context/tls_server_send_context.cpp",
44  "$TLS_NAPI/src/monitor.cpp",
45  "$TLS_NAPI/src/monitor_server.cpp",
46  "$TLS_NAPI/src/tlssocket_async_work.cpp",
47  "$TLS_NAPI/src/tlssocket_exec.cpp",
48  "$TLS_NAPI/src/tlssocket_module.cpp",
49  "$TLS_NAPI/src/tlssocketserver_async_work.cpp",
50  "$TLS_NAPI/src/tlssocketserver_exec.cpp",
51  "$TLS_NAPI/src/tlssocketserver_module.cpp",
52]
53
54socket_sources = [
55  "$NETSTACK_DIR/frameworks/js/napi/proxy/src/socks5_instance.cpp",
56  "$NETSTACK_DIR/frameworks/js/napi/proxy/src/socks5_none_method.cpp",
57  "$NETSTACK_DIR/frameworks/js/napi/proxy/src/socks5_package.cpp",
58  "$NETSTACK_DIR/frameworks/js/napi/proxy/src/socks5_passwd_method.cpp",
59  "$NETSTACK_DIR/frameworks/js/napi/proxy/src/socks5_utils.cpp",
60  "$SOCKET/async_context/src/bind_context.cpp",
61  "$SOCKET/async_context/src/common_context.cpp",
62  "$SOCKET/async_context/src/connect_context.cpp",
63  "$SOCKET/async_context/src/local_socket_context.cpp",
64  "$SOCKET/async_context/src/local_socket_server_context.cpp",
65  "$SOCKET/async_context/src/multicast_get_loopback_context.cpp",
66  "$SOCKET/async_context/src/multicast_get_ttl_context.cpp",
67  "$SOCKET/async_context/src/multicast_membership_context.cpp",
68  "$SOCKET/async_context/src/multicast_set_loopback_context.cpp",
69  "$SOCKET/async_context/src/multicast_set_ttl_context.cpp",
70  "$SOCKET/async_context/src/tcp_extra_context.cpp",
71  "$SOCKET/async_context/src/tcp_send_context.cpp",
72  "$SOCKET/async_context/src/tcp_server_common_context.cpp",
73  "$SOCKET/async_context/src/tcp_server_extra_context.cpp",
74  "$SOCKET/async_context/src/tcp_server_listen_context.cpp",
75  "$SOCKET/async_context/src/tcp_server_send_context.cpp",
76  "$SOCKET/async_context/src/udp_extra_context.cpp",
77  "$SOCKET/async_context/src/udp_send_context.cpp",
78  "$SOCKET/async_work/src/socket_async_work.cpp",
79  "$SOCKET/options/src/extra_options_base.cpp",
80  "$SOCKET/options/src/local_socket_options.cpp",
81  "$SOCKET/options/src/net_address.cpp",
82  "$SOCKET/options/src/proxy_options.cpp",
83  "$SOCKET/options/src/socket_remote_info.cpp",
84  "$SOCKET/options/src/socket_state_base.cpp",
85  "$SOCKET/options/src/tcp_connect_options.cpp",
86  "$SOCKET/options/src/tcp_extra_options.cpp",
87  "$SOCKET/options/src/tcp_send_options.cpp",
88  "$SOCKET/options/src/udp_extra_options.cpp",
89  "$SOCKET/options/src/udp_send_options.cpp",
90  "$SOCKET/socket_exec/src/local_socket_exec.cpp",
91  "$SOCKET/socket_exec/src/socket_exec.cpp",
92  "$SOCKET/socket_exec/src/socket_extra_exec.cpp",
93  "$SOCKET/socket_module/src/socket_module.cpp",
94]
95
96config("tls_test_config") {
97  include_dirs = [
98    "$TLS/include",
99    "$TLS_NAPI/include",
100    "$TLS_NAPI/include/context",
101    "$NETSTACK_INNERKITS_DIR/tls_socket/include",
102    "$NETSTACK_DIR/frameworks/js/napi/proxy/include",
103    "$NETSTACK_DIR/utils/napi_utils/include",
104    "$SOCKET/async_context/include",
105    "$SOCKET/async_work/include",
106    "$SOCKET/constant/include",
107    "$SOCKET/socket_exec/include",
108    "$SOCKET/socket_module/include",
109    "$SOCKET/options/include",
110    "$SOCKET/task_queue/include",
111  ]
112
113  defines = [ "UNITTEST=1" ]
114}
115
116ohos_unittest("two_way_tls_socket_server_unittest") {
117  sanitize = {
118    cfi = true
119    cfi_cross_dso = true
120    debug = false
121  }
122
123  branch_protector_ret = "pac_ret"
124
125  sources = [
126    "TlsSocketServerTest.cpp",
127    "tls_socket_branch_test.cpp",
128    "tls_socket_server_branch_test.cpp",
129  ]
130  sources += tls_sources
131  sources += tls_napi_sources
132  sources += socket_sources
133
134  configs = [ ":tls_test_config" ]
135
136  deps = [
137    "$NETSTACK_DIR/utils:stack_utils_common",
138    "$NETSTACK_DIR/utils/napi_utils:napi_utils",
139  ]
140  external_deps = [
141    "c_utils:utils",
142    "hilog:libhilog",
143    "napi:ace_napi",
144    "openssl:libcrypto_shared",
145    "openssl:libssl_shared",
146    "samgr:samgr_proxy",
147    "hiappevent:hiappevent_innerapi",
148  ]
149
150  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
151  if (defined(global_parts_info) &&
152      defined(global_parts_info.communication_netmanager_base) &&
153      global_parts_info.communication_netmanager_base) {
154    external_deps += [
155      "netmanager_base:net_conn_manager_if",
156      "netmanager_base:net_security_config_if",
157    ]
158    defines += [ "HAS_NETMANAGER_BASE=1" ]
159  } else {
160    defines += [ "HAS_NETMANAGER_BASE=0" ]
161  }
162
163  module_out_path = "netstack/netstack/tls_socket_unittest"
164  part_name = "netstack"
165  subsystem_name = "communication"
166}
167
168ohos_unittest("tls_socket_server_mock_branch_test") {
169  sanitize = {
170    cfi = true
171    cfi_cross_dso = true
172    debug = false
173  }
174
175  branch_protector_ret = "pac_ret"
176
177  sources = [ "tls_socket_server_mock_branch_test.cpp" ]
178  sources += tls_sources
179  sources += tls_napi_sources
180  sources += socket_sources
181
182  configs = [ ":tls_test_config" ]
183
184  deps = [
185    "$NETSTACK_DIR/utils:stack_utils_common",
186    "$NETSTACK_DIR/utils/napi_utils:napi_utils",
187  ]
188  external_deps = [
189    "c_utils:utils",
190    "googletest:gmock_main",
191    "hilog:libhilog",
192    "napi:ace_napi",
193    "openssl:libcrypto_shared",
194    "openssl:libssl_shared",
195  ]
196
197  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
198  if (defined(global_parts_info) &&
199      defined(global_parts_info.communication_netmanager_base) &&
200      global_parts_info.communication_netmanager_base) {
201    external_deps += [
202      "netmanager_base:net_conn_manager_if",
203      "netmanager_base:net_security_config_if",
204    ]
205    defines += [ "HAS_NETMANAGER_BASE=1" ]
206  } else {
207    defines += [ "HAS_NETMANAGER_BASE=0" ]
208  }
209
210  module_out_path = "netstack/netstack/tls_socket_unittest"
211  part_name = "netstack"
212  subsystem_name = "communication"
213}
214