1# Copyright (c) 2021-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/netmanager_base/netmanager_base_config.gni")
16
17ohos_unittest("netsys_native_manager_test") {
18  module_out_path = "netmanager_base/netsys_native_manager_test"
19
20  sanitize = {
21    cfi = true
22    cfi_cross_dso = true
23    debug = false
24  }
25
26  branch_protector_ret = "pac_ret"
27
28  sources = [
29    "clat_manager_test.cpp",
30    "dhcp_result_parcel_test.cpp",
31    "dns_manager_test.cpp",
32    "dns_param_cache_test.cpp",
33    "dns_proxy_listen_test.cpp",
34    "dns_resolv_listen_test.cpp",
35    "fwmark_network_test.cpp",
36    "interface_manager_test.cpp",
37    "iptables_wrapper_test.cpp",
38    "local_network_test.cpp",
39    "mock_netsys_native_client_test.cpp",
40    "net_conn_manager_test_util.cpp",
41    "net_diag_wrapper_test.cpp",
42    "netlink_msg_test.cpp",
43    "netsys_controller_service_impl_test.cpp",
44    "netsys_native_service_stub_test.cpp",
45    "netsys_network_test.cpp",
46    "netsys_udp_transfer_test.cpp",
47    "physical_network_test.cpp",
48    "route_manager_test.cpp",
49    "sharing_manager_test.cpp",
50    "traffic_manager_test.cpp",
51    "virtual_network_test.cpp",
52    "vnic_manager_test.cpp",
53    "vpn_manager_test.cpp",
54  ]
55
56  include_dirs = [
57    "$NETSYSNATIVE_INNERKITS_SOURCE_DIR",
58    "$INNERKITS_ROOT/netmanagernative/include",
59    "$NETSYSNATIVE_SOURCE_DIR/include/manager",
60    "$NETSYSNATIVE_SOURCE_DIR/include/netsys",
61    "$FWMARK_CLIENT_DIR/include",
62    "$NETMANAGERNATIVE_ROOT/include",
63    "$NETMANAGERNATIVE_ROOT/include/netsys/wrapper",
64    "$NETMANAGER_BASE_ROOT/services/common/include",
65    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf/include",
66    "$NETMANAGER_BASE_ROOT/services/netmanagernative/src/netsys",
67    "$NETMANAGER_BASE_ROOT/test/commonduplicatedcode",
68    "$NETSYSCONTROLLER_ROOT_DIR/include",
69    "$NETMANAGERNATIVE_ROOT/src/netsys/dnsresolv",
70    "$THIRD_PARTY_ROOT/cJSON/include",
71  ]
72
73  deps = [
74    "$FWMARK_CLIENT_DIR:fwmark_client",
75    "$NETMANAGERNATIVE_ROOT:netsys_client",
76    "$NETMANAGER_BASE_ROOT/services/netmanagernative:netsys_native_manager_static",
77    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf:netsys_bpf_utils",
78    "$NETMANAGER_BASE_ROOT/services/netsyscontroller:netsys_controller",
79  ]
80
81  external_deps = [
82    "ability_base:want",
83    "bundle_framework:appexecfwk_base",
84    "bundle_framework:appexecfwk_core",
85    "c_utils:utils",
86    "dhcp:dhcp_sdk",
87    "ffrt:libffrt",
88    "init:libbegetutil",
89    "ipc:ipc_core",
90    "safwk:system_ability_fwk",
91    "samgr:samgr_proxy",
92  ]
93
94  defines = [
95    "NETMGRNATIVE_LOG_TAG = \"NetsysNativeService\"",
96    "LOG_DOMAIN = 0xD0015B0",
97    "SHARING_MANAGER_DEPS",
98  ]
99
100  if (netmanager_base_enable_feature_sysvpn) {
101    defines += [ "SUPPORT_SYSVPN" ]
102  }
103
104  external_deps += [ "hilog:libhilog" ]
105
106  part_name = "netmanager_base"
107  subsystem_name = "communication"
108}
109
110ohos_unittest("netsys_native_manager_fault_through_test") {
111  module_out_path = "netmanager_base/netsys_native_manager_test"
112
113  sanitize = {
114    cfi = true
115    cfi_cross_dso = true
116    debug = false
117  }
118
119  branch_protector_ret = "pac_ret"
120
121  sources = [
122    "dhcp_controller_test.cpp",
123    "net_manager_native_test.cpp",
124    "netsys_native_service_test.cpp",
125    "notify_callback_proxy_test.cpp",
126    "notify_callback_stub_test.cpp",
127  ]
128
129  include_dirs = [
130    "$NETSYSNATIVE_INNERKITS_SOURCE_DIR",
131    "$INNERKITS_ROOT/netmanagernative/include",
132    "$NETSYSNATIVE_SOURCE_DIR/include/manager",
133    "$NETSYSNATIVE_SOURCE_DIR/include/netsys",
134    "$FWMARK_CLIENT_DIR/include",
135    "$NETMANAGERNATIVE_ROOT/include",
136    "$NETMANAGERNATIVE_ROOT/include/netsys/wrapper",
137    "$NETMANAGER_BASE_ROOT/services/common/include",
138    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf/include",
139    "$NETMANAGER_BASE_ROOT/services/netmanagernative/src/netsys",
140    "$NETMANAGER_BASE_ROOT/test/commonduplicatedcode",
141    "$NETSYSCONTROLLER_ROOT_DIR/include",
142    "$NETMANAGERNATIVE_ROOT/src/netsys/dnsresolv",
143  ]
144
145  deps = [
146    "$FWMARK_CLIENT_DIR:fwmark_client",
147    "$NETMANAGERNATIVE_ROOT:netsys_client",
148    "$NETMANAGER_BASE_ROOT/services/netmanagernative:netsys_native_manager_static",
149    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf:netsys_bpf_utils",
150    "$NETMANAGER_BASE_ROOT/services/netsyscontroller:netsys_controller",
151  ]
152
153  external_deps = [
154    "ability_base:want",
155    "bundle_framework:appexecfwk_base",
156    "bundle_framework:appexecfwk_core",
157    "c_utils:utils",
158    "dhcp:dhcp_sdk",
159    "ffrt:libffrt",
160    "init:libbegetutil",
161    "ipc:ipc_core",
162    "safwk:system_ability_fwk",
163    "samgr:samgr_proxy",
164  ]
165
166  defines = [
167    "NETMGRNATIVE_LOG_TAG = \"NetsysNativeService\"",
168    "LOG_DOMAIN = 0xD0015B0",
169    "SHARING_MANAGER_DEPS",
170  ]
171
172  external_deps += [ "hilog:libhilog" ]
173
174  part_name = "netmanager_base"
175  subsystem_name = "communication"
176}
177
178ohos_unittest("netsys_controller_test") {
179  sanitize = {
180    cfi = true
181    cfi_cross_dso = true
182    debug = false
183  }
184
185  branch_protector_ret = "pac_ret"
186
187  module_out_path = "netmanager_base/netsys_controller_test"
188  sources = [
189    "$NETMANAGER_BASE_ROOT/test/security/netmanager_base_test_security.cpp",
190    "netsys_controller_test.cpp",
191  ]
192
193  include_dirs = [
194    "$NETSYSNATIVE_INNERKITS_SOURCE_DIR",
195    "$INNERKITS_ROOT/netmanagernative/include",
196    "$NETSYSNATIVE_SOURCE_DIR/include/manager",
197    "$NETSYSNATIVE_SOURCE_DIR/include/netsys",
198    "$FWMARK_CLIENT_DIR/include",
199    "$NETMANAGERNATIVE_ROOT/include",
200    "$NETMANAGERNATIVE_ROOT/include/netsys/wrapper",
201    "$NETMANAGER_BASE_ROOT/utils/common_utils/include",
202    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf/include",
203    "$NETMANAGER_BASE_ROOT/services/netmanagernative/src/netsys",
204    "$NETMANAGER_BASE_ROOT/test/commonduplicatedcode",
205    "$NETMANAGER_BASE_ROOT/test/security",
206    "$NETSYSCONTROLLER_ROOT_DIR/include",
207    "$NETMANAGERNATIVE_ROOT/src/netsys/dnsresolv",
208  ]
209
210  deps = [
211    "$FWMARK_CLIENT_DIR:fwmark_client",
212    "$NETMANAGERNATIVE_ROOT:netsys_client",
213    "$NETMANAGER_BASE_ROOT/services/netmanagernative:netsys_native_manager_static",
214    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf:netsys_bpf_utils",
215    "$NETMANAGER_BASE_ROOT/services/netsyscontroller:netsys_controller",
216  ]
217
218  external_deps = [
219    "ability_base:want",
220    "access_token:libaccesstoken_sdk",
221    "access_token:libnativetoken",
222    "access_token:libtoken_setproc",
223    "bundle_framework:appexecfwk_base",
224    "bundle_framework:appexecfwk_core",
225    "c_utils:utils",
226    "ffrt:libffrt",
227    "init:libbegetutil",
228    "ipc:ipc_core",
229    "safwk:system_ability_fwk",
230    "samgr:samgr_proxy",
231  ]
232
233  defines = [
234    "NETMGRNATIVE_LOG_TAG = \"NetsysNativeService\"",
235    "LOG_DOMAIN = 0xD0015B0",
236    "SHARING_MANAGER_DEPS",
237  ]
238
239  external_deps += [ "hilog:libhilog" ]
240
241  part_name = "netmanager_base"
242  subsystem_name = "communication"
243}
244
245ohos_unittest("netsys_native_client_test") {
246  module_out_path = "netmanager_base/netsys_native_client_test"
247
248  sanitize = {
249    cfi = true
250    cfi_cross_dso = true
251    debug = false
252  }
253
254  branch_protector_ret = "pac_ret"
255
256  sources = [ "netsys_native_client_test.cpp" ]
257
258  include_dirs = [
259    "$NETSYSNATIVE_INNERKITS_SOURCE_DIR",
260    "$INNERKITS_ROOT/netmanagernative/include",
261    "$NETSYSNATIVE_SOURCE_DIR/include/manager",
262    "$NETSYSNATIVE_SOURCE_DIR/include/netsys",
263    "$FWMARK_CLIENT_DIR/include",
264    "$NETMANAGERNATIVE_ROOT/include",
265    "$NETMANAGERNATIVE_ROOT/include/netsys/wrapper",
266    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf/include",
267    "$NETMANAGER_BASE_ROOT/services/netmanagernative/src/netsys",
268    "$NETSYSCONTROLLER_ROOT_DIR/include",
269    "$NETMANAGERNATIVE_ROOT/src/netsys/dnsresolv",
270  ]
271
272  deps = [
273    "$FWMARK_CLIENT_DIR:fwmark_client",
274    "$NETMANAGERNATIVE_ROOT:netsys_client",
275    "$NETMANAGER_BASE_ROOT/services/netmanagernative:netsys_native_manager_static",
276    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf:netsys_bpf_utils",
277    "$NETMANAGER_BASE_ROOT/services/netsyscontroller:netsys_controller",
278  ]
279
280  external_deps = [
281    "ability_base:want",
282    "bundle_framework:appexecfwk_base",
283    "bundle_framework:appexecfwk_core",
284    "c_utils:utils",
285    "ffrt:libffrt",
286    "init:libbegetutil",
287    "ipc:ipc_core",
288    "safwk:system_ability_fwk",
289    "samgr:samgr_proxy",
290  ]
291
292  defines = [
293    "NETMGRNATIVE_LOG_TAG = \"NetsysNativeService\"",
294    "LOG_DOMAIN = 0xD0015B0",
295    "SHARING_MANAGER_DEPS",
296  ]
297
298  external_deps += [ "hilog:libhilog" ]
299
300  part_name = "netmanager_base"
301  subsystem_name = "communication"
302}
303
304ohos_unittest("netsys_native_service_proxy_test") {
305  sanitize = {
306    cfi = true
307    cfi_cross_dso = true
308    debug = false
309  }
310
311  branch_protector_ret = "pac_ret"
312
313  module_out_path = "netmanager_base/netsys_native_service_proxy_test"
314  sources = [
315    "$NETMANAGER_BASE_ROOT/test/security/netmanager_base_test_security.cpp",
316    "netsys_native_service_proxy_test.cpp",
317  ]
318
319  include_dirs = [
320    "$NETMANAGER_BASE_ROOT/test/security",
321    "$NETSYSNATIVE_INNERKITS_SOURCE_DIR",
322    "$INNERKITS_ROOT/netconnclient/include",
323    "$INNERKITS_ROOT/netconnclient/include/proxy",
324    "$INNERKITS_ROOT/netmanagernative/include",
325    "$NETSYSNATIVE_SOURCE_DIR/include/manager",
326    "$NETSYSNATIVE_SOURCE_DIR/include/netsys",
327    "$FWMARK_CLIENT_DIR/include",
328    "$NETMANAGERNATIVE_ROOT/include",
329    "$NETMANAGERNATIVE_ROOT/include/netsys/wrapper",
330    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf/include",
331    "$NETMANAGER_BASE_ROOT/services/netmanagernative/src/netsys",
332    "$NETSYSCONTROLLER_ROOT_DIR/include",
333    "$NETMANAGERNATIVE_ROOT/src/netsys/dnsresolv",
334  ]
335
336  deps = [
337    "$FWMARK_CLIENT_DIR:fwmark_client",
338    "$INNERKITS_ROOT/netconnclient:net_conn_manager_if",
339    "$NETMANAGERNATIVE_ROOT:netsys_client",
340    "$NETMANAGER_BASE_ROOT/services/netmanagernative:netsys_native_manager_static",
341    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf:netsys_bpf_utils",
342    "$NETMANAGER_BASE_ROOT/services/netsyscontroller:netsys_controller",
343  ]
344
345  external_deps = [
346    "ability_base:want",
347    "access_token:libaccesstoken_sdk",
348    "access_token:libnativetoken",
349    "access_token:libtoken_setproc",
350    "bundle_framework:appexecfwk_base",
351    "bundle_framework:appexecfwk_core",
352    "c_utils:utils",
353    "ffrt:libffrt",
354    "init:libbegetutil",
355    "ipc:ipc_core",
356    "safwk:system_ability_fwk",
357    "samgr:samgr_proxy",
358  ]
359
360  defines = [
361    "NETMGRNATIVE_LOG_TAG = \"NetsysNativeService\"",
362    "LOG_DOMAIN = 0xD0015B0",
363    "SHARING_MANAGER_DEPS",
364  ]
365
366  external_deps += [ "hilog:libhilog" ]
367
368  part_name = "netmanager_base"
369  subsystem_name = "communication"
370}
371
372ohos_unittest("resolver_config_test") {
373  module_out_path = "netmanager_base/resolver_config_test"
374
375  sanitize = {
376    cfi = true
377    cfi_cross_dso = true
378    debug = false
379  }
380
381  branch_protector_ret = "pac_ret"
382
383  sources = [ "resolver_config_test.cpp" ]
384
385  include_dirs = [
386    "$NETSYSNATIVE_INNERKITS_SOURCE_DIR",
387    "$INNERKITS_ROOT/netmanagernative/include",
388    "$NETSYSNATIVE_SOURCE_DIR/include/manager",
389    "$NETSYSNATIVE_SOURCE_DIR/include/netsys",
390    "$FWMARK_CLIENT_DIR/include",
391    "$NETMANAGERNATIVE_ROOT/include",
392    "$NETMANAGERNATIVE_ROOT/include/netsys/wrapper",
393    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf/include",
394    "$NETMANAGER_BASE_ROOT/services/netmanagernative/src/netsys",
395    "$NETSYSCONTROLLER_ROOT_DIR/include",
396    "$NETMANAGERNATIVE_ROOT/src/netsys/dnsresolv",
397  ]
398
399  deps = [
400    "$FWMARK_CLIENT_DIR:fwmark_client",
401    "$NETMANAGERNATIVE_ROOT:netsys_client",
402    "$NETMANAGER_BASE_ROOT/services/netmanagernative:netsys_native_manager_static",
403    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf:netsys_bpf_utils",
404    "$NETMANAGER_BASE_ROOT/services/netsyscontroller:netsys_controller",
405  ]
406
407  external_deps = [
408    "ability_base:want",
409    "bundle_framework:appexecfwk_base",
410    "bundle_framework:appexecfwk_core",
411    "c_utils:utils",
412    "ffrt:libffrt",
413    "init:libbegetutil",
414    "ipc:ipc_core",
415    "safwk:system_ability_fwk",
416    "samgr:samgr_proxy",
417  ]
418
419  defines = [
420    "NETMGRNATIVE_LOG_TAG = \"NetsysNativeService\"",
421    "LOG_DOMAIN = 0xD0015B0",
422    "SHARING_MANAGER_DEPS",
423  ]
424
425  external_deps += [ "hilog:libhilog" ]
426
427  part_name = "netmanager_base"
428  subsystem_name = "communication"
429}
430
431ohos_unittest("conn_manager_test") {
432  module_out_path = "netmanager_base/solve_conn_manager_test"
433
434  sanitize = {
435    cfi = true
436    cfi_cross_dso = true
437    debug = false
438  }
439
440  branch_protector_ret = "pac_ret"
441
442  sources = [ "conn_manager_test.cpp" ]
443
444  include_dirs = [
445    "$NETSYSNATIVE_INNERKITS_SOURCE_DIR",
446    "$INNERKITS_ROOT/netmanagernative/include",
447    "$NETSYSNATIVE_SOURCE_DIR/include/manager",
448    "$NETSYSNATIVE_SOURCE_DIR/include/netsys",
449    "$FWMARK_CLIENT_DIR/include",
450    "$NETMANAGERNATIVE_ROOT/include",
451    "$NETMANAGERNATIVE_ROOT/include/netsys/wrapper",
452    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf/include",
453    "$NETMANAGER_BASE_ROOT/services/netmanagernative/src/netsys",
454    "$NETSYSCONTROLLER_ROOT_DIR/include",
455    "$NETMANAGERNATIVE_ROOT/src/netsys/dnsresolv",
456  ]
457
458  deps = [
459    "$FWMARK_CLIENT_DIR:fwmark_client",
460    "$NETMANAGERNATIVE_ROOT:netsys_client",
461    "$NETMANAGER_BASE_ROOT/services/netmanagernative:netsys_native_manager_static",
462    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf:netsys_bpf_utils",
463    "$NETMANAGER_BASE_ROOT/services/netsyscontroller:netsys_controller",
464  ]
465
466  external_deps = [
467    "ability_base:want",
468    "bundle_framework:appexecfwk_base",
469    "bundle_framework:appexecfwk_core",
470    "c_utils:utils",
471    "ffrt:libffrt",
472    "init:libbegetutil",
473    "ipc:ipc_core",
474    "safwk:system_ability_fwk",
475    "samgr:samgr_proxy",
476  ]
477
478  defines = [
479    "NETMGRNATIVE_LOG_TAG = \"NetsysNativeService\"",
480    "LOG_DOMAIN = 0xD0015B0",
481    "SHARING_MANAGER_DEPS",
482  ]
483
484  external_deps += [ "hilog:libhilog" ]
485
486  part_name = "netmanager_base"
487  subsystem_name = "communication"
488}
489
490ohos_unittest("nat464_clat_test") {
491  module_out_path = "netmanager_base/nat464_clat_test"
492
493  sanitize = {
494    cfi = true
495    cfi_cross_dso = true
496    debug = false
497  }
498
499  branch_protector_ret = "pac_ret"
500
501  sources = [ "clatd_packet_converter_test.cpp" ]
502
503  include_dirs = [
504    "$NETSYSNATIVE_INNERKITS_SOURCE_DIR",
505    "$INNERKITS_ROOT/netmanagernative/include",
506    "$NETSYSNATIVE_SOURCE_DIR/include/manager",
507    "$NETSYSNATIVE_SOURCE_DIR/include/netsys",
508    "$FWMARK_CLIENT_DIR/include",
509    "$NETMANAGERNATIVE_ROOT/include",
510    "$NETMANAGERNATIVE_ROOT/include/netsys/wrapper",
511    "$NETMANAGER_BASE_ROOT/services/common/include",
512    "$NETMANAGER_BASE_ROOT/services/netmanagernative/bpf/include",
513    "$NETMANAGER_BASE_ROOT/services/netmanagernative/src/netsys",
514    "$NETSYSCONTROLLER_ROOT_DIR/include",
515    "$NETMANAGERNATIVE_ROOT/src/netsys/dnsresolv",
516  ]
517
518  deps = [
519    "$NETMANAGER_BASE_ROOT/services/netmanagernative:netsys_native_manager_static",
520    "//third_party/googletest:gmock_main",
521  ]
522
523  external_deps = [
524    "ability_base:want",
525    "bundle_framework:appexecfwk_base",
526    "bundle_framework:appexecfwk_core",
527    "c_utils:utils",
528    "init:libbegetutil",
529    "ipc:ipc_core",
530    "safwk:system_ability_fwk",
531    "samgr:samgr_proxy",
532  ]
533
534  defines = [
535    "NETMGRNATIVE_LOG_TAG = \"NetsysNativeService\"",
536    "LOG_DOMAIN = 0xD0015B0",
537    "SHARING_MANAGER_DEPS",
538  ]
539
540  external_deps += [ "hilog:libhilog" ]
541
542  part_name = "netmanager_base"
543  subsystem_name = "communication"
544}
545