• 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"
20TLS_SOCKET_TEST = "$NETSTACK_DIR/test/unittest/tlssocket/client"
21
22tls_sources = [
23  "$TLS/src/secure_data.cpp",
24  "$TLS/src/socket_error.cpp",
25  "$TLS/src/tls_certificate.cpp",
26  "$TLS/src/tls_configuration.cpp",
27  "$TLS/src/tls_context.cpp",
28  "$TLS/src/tls_context_server.cpp",
29  "$TLS/src/tls_key.cpp",
30  "$TLS/src/tls_utils.cpp",
31  "$TLS_NAPI/src/tls_socket.cpp",
32  "$TLS_NAPI/src/tls_socket_server.cpp",
33]
34
35tls_napi_sources = [
36  "$TLS_NAPI/src/context/tls_bind_context.cpp",
37  "$TLS_NAPI/src/context/tls_connect_context.cpp",
38  "$TLS_NAPI/src/context/tls_extra_context.cpp",
39  "$TLS_NAPI/src/context/tls_init_context.cpp",
40  "$TLS_NAPI/src/context/tls_napi_context.cpp",
41  "$TLS_NAPI/src/context/tls_send_context.cpp",
42  "$TLS_NAPI/src/context/tls_server_close_context.cpp",
43  "$TLS_NAPI/src/context/tls_server_napi_context.cpp",
44  "$TLS_NAPI/src/context/tls_server_send_context.cpp",
45  "$TLS_NAPI/src/monitor.cpp",
46  "$TLS_NAPI/src/monitor_server.cpp",
47  "$TLS_NAPI/src/tlssocket_async_work.cpp",
48  "$TLS_NAPI/src/tlssocket_exec.cpp",
49  "$TLS_NAPI/src/tlssocket_module.cpp",
50  "$TLS_NAPI/src/tlssocketserver_async_work.cpp",
51  "$TLS_NAPI/src/tlssocketserver_exec.cpp",
52  "$TLS_NAPI/src/tlssocketserver_module.cpp",
53]
54
55socket_sources = [
56  "$NETSTACK_DIR/frameworks/js/napi/proxy/src/socks5_instance.cpp",
57  "$NETSTACK_DIR/frameworks/js/napi/proxy/src/socks5_none_method.cpp",
58  "$NETSTACK_DIR/frameworks/js/napi/proxy/src/socks5_package.cpp",
59  "$NETSTACK_DIR/frameworks/js/napi/proxy/src/socks5_passwd_method.cpp",
60  "$NETSTACK_DIR/frameworks/js/napi/proxy/src/socks5_utils.cpp",
61  "$SOCKET/async_context/src/bind_context.cpp",
62  "$SOCKET/async_context/src/common_context.cpp",
63  "$SOCKET/async_context/src/connect_context.cpp",
64  "$SOCKET/async_context/src/local_socket_context.cpp",
65  "$SOCKET/async_context/src/local_socket_server_context.cpp",
66  "$SOCKET/async_context/src/multicast_get_loopback_context.cpp",
67  "$SOCKET/async_context/src/multicast_get_ttl_context.cpp",
68  "$SOCKET/async_context/src/multicast_membership_context.cpp",
69  "$SOCKET/async_context/src/multicast_set_loopback_context.cpp",
70  "$SOCKET/async_context/src/multicast_set_ttl_context.cpp",
71  "$SOCKET/async_context/src/tcp_extra_context.cpp",
72  "$SOCKET/async_context/src/tcp_send_context.cpp",
73  "$SOCKET/async_context/src/tcp_server_common_context.cpp",
74  "$SOCKET/async_context/src/tcp_server_extra_context.cpp",
75  "$SOCKET/async_context/src/tcp_server_listen_context.cpp",
76  "$SOCKET/async_context/src/tcp_server_send_context.cpp",
77  "$SOCKET/async_context/src/udp_extra_context.cpp",
78  "$SOCKET/async_context/src/udp_send_context.cpp",
79  "$SOCKET/async_work/src/socket_async_work.cpp",
80  "$SOCKET/options/src/extra_options_base.cpp",
81  "$SOCKET/options/src/local_socket_options.cpp",
82  "$SOCKET/options/src/net_address.cpp",
83  "$SOCKET/options/src/proxy_options.cpp",
84  "$SOCKET/options/src/socket_remote_info.cpp",
85  "$SOCKET/options/src/socket_state_base.cpp",
86  "$SOCKET/options/src/tcp_connect_options.cpp",
87  "$SOCKET/options/src/tcp_extra_options.cpp",
88  "$SOCKET/options/src/tcp_send_options.cpp",
89  "$SOCKET/options/src/udp_extra_options.cpp",
90  "$SOCKET/options/src/udp_send_options.cpp",
91  "$SOCKET/socket_exec/src/local_socket_exec.cpp",
92  "$SOCKET/socket_exec/src/socket_exec.cpp",
93  "$SOCKET/socket_exec/src/socket_extra_exec.cpp",
94  "$SOCKET/socket_module/src/socket_module.cpp",
95]
96
97tls_socket_test_sources = [ "$TLS_SOCKET_TEST/tls_utils_test.cpp" ]
98
99config("tls_test_config") {
100  include_dirs = [
101    "$TLS/include",
102    "$TLS_NAPI/include",
103    "$TLS_NAPI/include/context",
104    "$NETSTACK_INNERKITS_DIR/tls_socket/include",
105    "$NETSTACK_DIR/frameworks/js/napi/proxy/include",
106    "$NETSTACK_DIR/utils/napi_utils/include",
107    "$SOCKET/async_context/include",
108    "$SOCKET/async_work/include",
109    "$SOCKET/constant/include",
110    "$SOCKET/socket_exec/include",
111    "$SOCKET/socket_module/include",
112    "$SOCKET/options/include",
113    "$SOCKET/task_queue/include",
114  ]
115}
116
117ohos_unittest("two_way_tls_socket_unittest") {
118  sanitize = {
119    cfi = true
120    cfi_cross_dso = true
121    debug = false
122  }
123
124  branch_protector_ret = "pac_ret"
125
126  sources = [ "TlsSocketTest.cpp" ]
127  sources += tls_sources
128  sources += tls_napi_sources
129  sources += socket_sources
130  sources += tls_socket_test_sources
131
132  configs = [ ":tls_test_config" ]
133
134  deps = [
135    "$NETSTACK_DIR/utils:stack_utils_common",
136    "$NETSTACK_DIR/utils/napi_utils:napi_utils",
137  ]
138  external_deps = [
139    "c_utils:utils",
140    "hilog:libhilog",
141    "napi:ace_napi",
142    "openssl:libcrypto_shared",
143    "openssl:libssl_shared",
144  ]
145
146  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
147  if (defined(global_parts_info) &&
148      defined(global_parts_info.communication_netmanager_base) &&
149      global_parts_info.communication_netmanager_base) {
150    external_deps += [ "netmanager_base:net_conn_manager_if" ]
151    defines += [ "HAS_NETMANAGER_BASE=1" ]
152  } else {
153    defines += [ "HAS_NETMANAGER_BASE=0" ]
154  }
155
156  module_out_path = "netstack/tls_socket_unittest"
157  part_name = "netstack"
158  subsystem_name = "communication"
159}
160
161ohos_unittest("one_way_tls_socket_unittest") {
162  sanitize = {
163    cfi = true
164    cfi_cross_dso = true
165    debug = false
166  }
167
168  branch_protector_ret = "pac_ret"
169
170  sources = [ "TlsSocketOneWayTest.cpp" ]
171  sources += tls_sources
172  sources += tls_napi_sources
173  sources += socket_sources
174  sources += tls_socket_test_sources
175
176  configs = [ ":tls_test_config" ]
177
178  deps = [
179    "$NETSTACK_DIR/utils:stack_utils_common",
180    "$NETSTACK_DIR/utils/napi_utils:napi_utils",
181  ]
182  external_deps = [
183    "c_utils:utils",
184    "hilog:libhilog",
185    "napi:ace_napi",
186    "openssl:libcrypto_shared",
187    "openssl:libssl_shared",
188  ]
189
190  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
191  if (defined(global_parts_info) &&
192      defined(global_parts_info.communication_netmanager_base) &&
193      global_parts_info.communication_netmanager_base) {
194    external_deps += [ "netmanager_base:net_conn_manager_if" ]
195    defines += [ "HAS_NETMANAGER_BASE=1" ]
196  } else {
197    defines += [ "HAS_NETMANAGER_BASE=0" ]
198  }
199
200  module_out_path = "netstack/tls_socket_unittest"
201  part_name = "netstack"
202  subsystem_name = "communication"
203}
204
205ohos_unittest("two_way_tls_socket_certchain_unittest") {
206  sanitize = {
207    cfi = true
208    cfi_cross_dso = true
209    debug = false
210  }
211
212  branch_protector_ret = "pac_ret"
213
214  sources = [ "TlsSocketCertChainTest.cpp" ]
215  sources += tls_sources
216  sources += tls_napi_sources
217  sources += socket_sources
218  sources += tls_socket_test_sources
219
220  configs = [ ":tls_test_config" ]
221
222  deps = [
223    "$NETSTACK_DIR/utils:stack_utils_common",
224    "$NETSTACK_DIR/utils/napi_utils:napi_utils",
225  ]
226  external_deps = [
227    "c_utils:utils",
228    "hilog:libhilog",
229    "napi:ace_napi",
230    "openssl:libcrypto_shared",
231    "openssl:libssl_shared",
232  ]
233
234  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
235  if (defined(global_parts_info) &&
236      defined(global_parts_info.communication_netmanager_base) &&
237      global_parts_info.communication_netmanager_base) {
238    external_deps += [ "netmanager_base:net_conn_manager_if" ]
239    defines += [ "HAS_NETMANAGER_BASE=1" ]
240  } else {
241    defines += [ "HAS_NETMANAGER_BASE=0" ]
242  }
243
244  module_out_path = "netstack/tls_socket_unittest"
245  part_name = "netstack"
246  subsystem_name = "communication"
247}
248
249ohos_unittest("one_way_tls_socket_certchain_unittest") {
250  sanitize = {
251    cfi = true
252    cfi_cross_dso = true
253    debug = false
254  }
255
256  branch_protector_ret = "pac_ret"
257
258  sources = [ "TlsSocketCertChainOneWayTest.cpp" ]
259  sources += tls_sources
260  sources += tls_napi_sources
261  sources += socket_sources
262  sources += tls_socket_test_sources
263
264  configs = [ ":tls_test_config" ]
265
266  deps = [
267    "$NETSTACK_DIR/utils:stack_utils_common",
268    "$NETSTACK_DIR/utils/napi_utils:napi_utils",
269  ]
270  external_deps = [
271    "c_utils:utils",
272    "hilog:libhilog",
273    "napi:ace_napi",
274    "openssl:libcrypto_shared",
275    "openssl:libssl_shared",
276  ]
277
278  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
279  if (defined(global_parts_info) &&
280      defined(global_parts_info.communication_netmanager_base) &&
281      global_parts_info.communication_netmanager_base) {
282    external_deps += [ "netmanager_base:net_conn_manager_if" ]
283    defines += [ "HAS_NETMANAGER_BASE=1" ]
284  } else {
285    defines += [ "HAS_NETMANAGER_BASE=0" ]
286  }
287
288  module_out_path = "netstack/tls_socket_unittest"
289  part_name = "netstack"
290  subsystem_name = "communication"
291}
292
293ohos_unittest("tls_socket_unilateral_connection") {
294  sanitize = {
295    cfi = true
296    cfi_cross_dso = true
297    debug = false
298  }
299
300  branch_protector_ret = "pac_ret"
301
302  sources = [ "TlsSocketUnilateralConnection.cpp" ]
303  sources += tls_sources
304  sources += tls_napi_sources
305  sources += socket_sources
306  sources += tls_socket_test_sources
307
308  configs = [ ":tls_test_config" ]
309
310  deps = [
311    "$NETSTACK_DIR/utils:stack_utils_common",
312    "$NETSTACK_DIR/utils/napi_utils:napi_utils",
313  ]
314  external_deps = [
315    "access_token:libaccesstoken_sdk",
316    "access_token:libnativetoken",
317    "access_token:libtoken_setproc",
318    "c_utils:utils",
319    "hilog:libhilog",
320    "napi:ace_napi",
321    "openssl:libcrypto_shared",
322    "openssl:libssl_shared",
323  ]
324
325  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
326  if (defined(global_parts_info) &&
327      defined(global_parts_info.communication_netmanager_base) &&
328      global_parts_info.communication_netmanager_base) {
329    external_deps += [ "netmanager_base:net_conn_manager_if" ]
330    defines += [ "HAS_NETMANAGER_BASE=1" ]
331  } else {
332    defines += [ "HAS_NETMANAGER_BASE=0" ]
333  }
334
335  module_out_path = "netstack/tls_socket_unittest"
336  part_name = "netstack"
337  subsystem_name = "communication"
338}
339
340ohos_unittest("secure_data_unittest") {
341  sanitize = {
342    cfi = true
343    cfi_cross_dso = true
344    debug = false
345  }
346
347  branch_protector_ret = "pac_ret"
348
349  sources = [
350    "$TLS/src/secure_data.cpp",
351    "SecureDataTest.cpp",
352  ]
353
354  configs = [ ":tls_test_config" ]
355
356  deps = [ "$NETSTACK_DIR/utils:stack_utils_common" ]
357  external_deps = [
358    "c_utils:utils",
359    "hilog:libhilog",
360  ]
361
362  module_out_path = "netstack/tls_socket_unittest"
363  part_name = "netstack"
364  subsystem_name = "communication"
365}
366
367ohos_unittest("tls_key_test") {
368  sanitize = {
369    cfi = true
370    cfi_cross_dso = true
371    debug = false
372  }
373
374  branch_protector_ret = "pac_ret"
375
376  sources = [ "TlsKeyTest.cpp" ]
377  sources += tls_sources
378  sources += tls_napi_sources
379  sources += socket_sources
380
381  configs = [ ":tls_test_config" ]
382
383  deps = [
384    "$NETSTACK_DIR/utils:stack_utils_common",
385    "$NETSTACK_DIR/utils/napi_utils:napi_utils",
386  ]
387  external_deps = [
388    "c_utils:utils",
389    "hilog:libhilog",
390    "napi:ace_napi",
391    "openssl:libcrypto_shared",
392    "openssl:libssl_shared",
393  ]
394
395  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
396  if (defined(global_parts_info) &&
397      defined(global_parts_info.communication_netmanager_base) &&
398      global_parts_info.communication_netmanager_base) {
399    external_deps += [ "netmanager_base:net_conn_manager_if" ]
400    defines += [ "HAS_NETMANAGER_BASE=1" ]
401  } else {
402    defines += [ "HAS_NETMANAGER_BASE=0" ]
403  }
404
405  module_out_path = "netstack/tls_socket_unittest"
406  part_name = "netstack"
407  subsystem_name = "communication"
408}
409
410ohos_unittest("tls_cert_test") {
411  sanitize = {
412    cfi = true
413    cfi_cross_dso = true
414    debug = false
415  }
416
417  branch_protector_ret = "pac_ret"
418
419  sources = [ "TlsCertificateTest.cpp" ]
420  sources += tls_sources
421  sources += tls_napi_sources
422  sources += socket_sources
423
424  configs = [ ":tls_test_config" ]
425
426  deps = [
427    "$NETSTACK_DIR/utils:stack_utils_common",
428    "$NETSTACK_DIR/utils/napi_utils:napi_utils",
429  ]
430  external_deps = [
431    "c_utils:utils",
432    "hilog:libhilog",
433    "napi:ace_napi",
434    "openssl:libcrypto_shared",
435    "openssl:libssl_shared",
436  ]
437
438  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
439  if (defined(global_parts_info) &&
440      defined(global_parts_info.communication_netmanager_base) &&
441      global_parts_info.communication_netmanager_base) {
442    external_deps += [ "netmanager_base:net_conn_manager_if" ]
443    defines += [ "HAS_NETMANAGER_BASE=1" ]
444  } else {
445    defines += [ "HAS_NETMANAGER_BASE=0" ]
446  }
447
448  module_out_path = "netstack/tls_socket_unittest"
449  part_name = "netstack"
450  subsystem_name = "communication"
451}
452
453ohos_unittest("tls_configuration_test") {
454  sanitize = {
455    cfi = true
456    cfi_cross_dso = true
457    debug = false
458  }
459
460  branch_protector_ret = "pac_ret"
461
462  sources = [ "TlsConfigurationTest.cpp" ]
463  sources += tls_sources
464  sources += tls_napi_sources
465  sources += socket_sources
466
467  configs = [ ":tls_test_config" ]
468
469  deps = [
470    "$NETSTACK_DIR/utils:stack_utils_common",
471    "$NETSTACK_DIR/utils/napi_utils:napi_utils",
472  ]
473  external_deps = [
474    "c_utils:utils",
475    "hilog:libhilog",
476    "napi:ace_napi",
477    "openssl:libcrypto_shared",
478    "openssl:libssl_shared",
479  ]
480
481  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
482  if (defined(global_parts_info) &&
483      defined(global_parts_info.communication_netmanager_base) &&
484      global_parts_info.communication_netmanager_base) {
485    external_deps += [ "netmanager_base:net_conn_manager_if" ]
486    defines += [ "HAS_NETMANAGER_BASE=1" ]
487  } else {
488    defines += [ "HAS_NETMANAGER_BASE=0" ]
489  }
490
491  module_out_path = "netstack/tls_socket_unittest"
492  part_name = "netstack"
493  subsystem_name = "communication"
494}
495
496ohos_unittest("tls_context_test") {
497  sanitize = {
498    cfi = true
499    cfi_cross_dso = true
500    debug = false
501  }
502
503  branch_protector_ret = "pac_ret"
504
505  sources = [ "TlsContextTest.cpp" ]
506  sources += tls_sources
507  sources += tls_napi_sources
508  sources += socket_sources
509
510  configs = [ ":tls_test_config" ]
511
512  deps = [
513    "$NETSTACK_DIR/utils:stack_utils_common",
514    "$NETSTACK_DIR/utils/napi_utils:napi_utils",
515  ]
516  external_deps = [
517    "c_utils:utils",
518    "hilog:libhilog",
519    "napi:ace_napi",
520    "openssl:libcrypto_shared",
521    "openssl:libssl_shared",
522  ]
523
524  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
525  if (defined(global_parts_info) &&
526      defined(global_parts_info.communication_netmanager_base) &&
527      global_parts_info.communication_netmanager_base) {
528    external_deps += [ "netmanager_base:net_conn_manager_if" ]
529    defines += [ "HAS_NETMANAGER_BASE=1" ]
530  } else {
531    defines += [ "HAS_NETMANAGER_BASE=0" ]
532  }
533
534  module_out_path = "netstack/tls_socket_unittest"
535  part_name = "netstack"
536  subsystem_name = "communication"
537}
538
539ohos_unittest("socket_error_unittest") {
540  sanitize = {
541    cfi = true
542    cfi_cross_dso = true
543    debug = false
544  }
545
546  branch_protector_ret = "pac_ret"
547
548  sources = [ "SocketErrorTest.cpp" ]
549  sources += tls_sources
550  sources += tls_napi_sources
551  sources += socket_sources
552
553  configs = [ ":tls_test_config" ]
554
555  deps = [
556    "$NETSTACK_DIR/utils:stack_utils_common",
557    "$NETSTACK_DIR/utils/napi_utils:napi_utils",
558  ]
559  external_deps = [
560    "c_utils:utils",
561    "hilog:libhilog",
562    "napi:ace_napi",
563    "openssl:libcrypto_shared",
564    "openssl:libssl_shared",
565  ]
566
567  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
568  if (defined(global_parts_info) &&
569      defined(global_parts_info.communication_netmanager_base) &&
570      global_parts_info.communication_netmanager_base) {
571    external_deps += [ "netmanager_base:net_conn_manager_if" ]
572    defines += [ "HAS_NETMANAGER_BASE=1" ]
573  } else {
574    defines += [ "HAS_NETMANAGER_BASE=0" ]
575  }
576
577  module_out_path = "netstack/tls_socket_unittest"
578  part_name = "netstack"
579  subsystem_name = "communication"
580}
581
582ohos_unittest("tls_socket_branch_test") {
583  sanitize = {
584    cfi = true
585    cfi_cross_dso = true
586    debug = false
587  }
588
589  branch_protector_ret = "pac_ret"
590
591  sources = [ "TlsSocketBranchTest.cpp" ]
592  sources += tls_sources
593  sources += tls_napi_sources
594  sources += socket_sources
595
596  configs = [ ":tls_test_config" ]
597
598  deps = [
599    "$NETSTACK_DIR/utils:stack_utils_common",
600    "$NETSTACK_DIR/utils/napi_utils:napi_utils",
601  ]
602  external_deps = [
603    "access_token:libaccesstoken_sdk",
604    "access_token:libnativetoken",
605    "access_token:libtoken_setproc",
606    "c_utils:utils",
607    "hilog:libhilog",
608    "napi:ace_napi",
609    "openssl:libcrypto_shared",
610    "openssl:libssl_shared",
611  ]
612
613  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
614  if (defined(global_parts_info) &&
615      defined(global_parts_info.communication_netmanager_base) &&
616      global_parts_info.communication_netmanager_base) {
617    external_deps += [ "netmanager_base:net_conn_manager_if" ]
618    defines += [ "HAS_NETMANAGER_BASE=1" ]
619  } else {
620    defines += [ "HAS_NETMANAGER_BASE=0" ]
621  }
622
623  module_out_path = "netstack/tls_socket_unittest"
624  part_name = "netstack"
625  subsystem_name = "communication"
626}
627