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("../../../../core/common/dfx/dsoftbus_dfx.gni")
15import("../../../../dsoftbus.gni")
16import("../../../../sdk/transmission/trans_channel/udp/trans_udp_sdk.gni")
17
18dsoftbus_root_path = "../../../.."
19
20trans_sdk_test_common_inc = [
21  "$dsoftbus_root_path/core/common/include",
22  "$dsoftbus_root_path/core/connection/interface",
23  "$dsoftbus_root_path/sdk/transmission/session/include",
24  "$dsoftbus_root_path/interfaces/inner_kits/transport",
25  "$dsoftbus_root_path/interfaces/kits/transport",
26  "$dsoftbus_root_path/tests/sdk/common/include",
27  "$dsoftbus_root_path/sdk/transmission/trans_channel/tcp_direct/src",
28  "$dsoftbus_root_path/adapter/common/include",
29  "$dsoftbus_root_path/sdk/transmission/trans_channel/tcp_direct/include",
30  "$dsoftbus_root_path/sdk/transmission/session/include",
31  "$dsoftbus_root_path/core/frame/common/include",
32  "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/common/include",
33  "$dsoftbus_root_path/core/transmission/trans_channel/udp_negotiation/include",
34  "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/file/include",
35  "$dsoftbus_root_path/sdk/transmission/ipc/include",
36]
37trans_sdk_test_common_deps = [
38  "$dsoftbus_root_path/core/common:softbus_utils",
39  "$dsoftbus_root_path/sdk:softbus_client",
40  "$dsoftbus_root_path/tests/sdk/common:softbus_access_token_test",
41]
42
43if (defined(ohos_lite)) {
44  import("//build/lite/config/component/lite_component.gni")
45  import("//build/lite/config/test.gni")
46
47  if (ohos_build_type == "debug") {
48    unittest("TransSdkStreamTest") {
49      output_extension = "bin"
50      output_dir = "$root_out_dir/test/unittest/dsoftbus"
51      sources = [ "udp/stream/trans_sdk_stream_test.cpp" ]
52      include_dirs = trans_sdk_test_common_inc
53      include_dirs += [
54        "$dsoftbus_root_path/core/common/softbus_property/include",
55        "$softbus_adapter_config/spec_config",
56        "$dsoftbus_root_path/adapter/common/include/OS_adapter_define/linux",
57      ]
58      deps = trans_sdk_test_common_deps
59      deps += [
60        "$dsoftbus_root_path/adapter:softbus_adapter",
61        "$hilog_lite_deps_path",
62      ]
63    }
64  }
65} else {
66  import("//build/test.gni")
67
68  trans_sdk_proxy_test_inc = [
69    "$dsoftbus_root_path/sdk/transmission/trans_channel/proxy/include",
70    "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/file/include",
71  ]
72
73  trans_sdk_proxy_test_deps =
74      [ "$dsoftbus_root_path/tests/sdk:softbus_client_static" ]
75
76  module_output_path = "dsoftbus/transmission"
77  ohos_unittest("TransSdkStreamTest") {
78    module_out_path = module_output_path
79    sources = [ "udp/stream/trans_sdk_stream_test.cpp" ]
80    include_dirs = trans_sdk_test_common_inc
81    deps = trans_sdk_test_common_deps
82    deps += trans_sdk_proxy_test_deps
83    if (is_standard_system) {
84      external_deps = [ "hilog:libhilog" ]
85    } else {
86      external_deps = [ "hilog:libhilog" ]
87    }
88  }
89
90  module_output_path = "dsoftbus/transmission"
91  ohos_unittest("TransSdkCommStreamTest") {
92    module_out_path = module_output_path
93    sources = [ "udp/stream/trans_sdk_comm_stream_test.cpp" ]
94    include_dirs = trans_sdk_test_common_inc
95    include_dirs += trans_sdk_proxy_test_inc
96    deps = trans_sdk_test_common_deps
97    deps += trans_sdk_proxy_test_deps
98    if (is_standard_system) {
99      external_deps = [ "hilog:libhilog" ]
100    } else {
101      external_deps = [ "hilog:libhilog" ]
102    }
103  }
104
105  module_output_path = "dsoftbus/transmission"
106  ohos_unittest("ClientTransProxyFileCommonTest") {
107    module_out_path = module_output_path
108    sources = [ "proxy/client_trans_proxy_file_common_test.cpp" ]
109    include_dirs = trans_sdk_test_common_inc
110    include_dirs += trans_sdk_proxy_test_inc
111    deps = trans_sdk_test_common_deps
112    deps += trans_sdk_proxy_test_deps
113    if (is_standard_system) {
114      external_deps = [ "hilog:libhilog" ]
115    } else {
116      external_deps = [ "hilog:libhilog" ]
117    }
118  }
119
120  module_output_path = "dsoftbus/transmission"
121  ohos_unittest("ClientTransPendingTest") {
122    module_out_path = module_output_path
123    sources = [ "proxy/client_trans_pending_test.cpp" ]
124    include_dirs = trans_sdk_test_common_inc
125    include_dirs += trans_sdk_proxy_test_inc
126    deps = trans_sdk_test_common_deps
127    deps += trans_sdk_proxy_test_deps
128    if (is_standard_system) {
129      external_deps = [ "hilog:libhilog" ]
130    } else {
131      external_deps = [ "hilog:libhilog" ]
132    }
133  }
134
135  module_output_path = "dsoftbus/transmission"
136  ohos_unittest("ClientTransProxyManagerTest") {
137    sanitize = {
138      cfi = true
139      cfi_cross_dso = true
140      debug = false
141    }
142    module_out_path = module_output_path
143    sources = [ "proxy/client_trans_proxy_manager_test.cpp" ]
144    include_dirs = trans_sdk_test_common_inc
145    include_dirs += trans_sdk_proxy_test_inc
146    include_dirs +=
147        [ "$dsoftbus_root_path/sdk/transmission/trans_channel/proxy/src" ]
148    deps = trans_sdk_test_common_deps
149    deps += trans_sdk_proxy_test_deps
150    if (is_standard_system) {
151      external_deps = [ "hilog:libhilog" ]
152    } else {
153      external_deps = [ "hilog:libhilog" ]
154    }
155  }
156
157  module_output_path = "dsoftbus/transmission"
158  ohos_unittest("ClientTransUdpManagerTest") {
159    sanitize = {
160      cfi = true
161      cfi_cross_dso = true
162      debug = false
163    }
164    module_out_path = module_output_path
165    sources = [ "udp/common/client_trans_udp_manager_test.cpp" ]
166    include_dirs = trans_sdk_test_common_inc
167    include_dirs += trans_sdk_proxy_test_inc
168    deps = trans_sdk_test_common_deps
169    deps += trans_sdk_proxy_test_deps
170    if (is_standard_system) {
171      external_deps = [ "hilog:libhilog" ]
172    } else {
173      external_deps = [ "hilog:libhilog" ]
174    }
175  }
176
177  module_output_path = "dsoftbus/transmission"
178  ohos_unittest("ClientTransUdpManagerStaticTest") {
179    module_out_path = module_output_path
180    sources = [ "udp/common/client_trans_udp_manager_static_test.cpp" ]
181    include_dirs = trans_sdk_test_common_inc
182    include_dirs += [
183      "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/common/src",
184      "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/file/include",
185      "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/stream/include",
186      "$dsoftbus_root_path/sdk/transmission/ipc/include",
187      "$dsoftbus_root_path/sdk/transmission/trans_channel/manager/include",
188    ]
189    deps = trans_sdk_test_common_deps
190    deps += trans_sdk_proxy_test_deps
191    native_source_path = rebase_path("$dsoftbus_root_path")
192    dep_file = "components/nstackx_enhanced/nstackx_core/dfile/BUILD.gn"
193    enhanced = exec_script("$dsoftbus_root_path/check_sub_module.py",
194                           [
195                             "$native_source_path",
196                             "$dep_file",
197                           ],
198                           "value")
199
200    if (enhanced) {
201      include_dirs += [ "$dsoftbus_root_path/components/nstackx_enhanced/nstackx_util/interface" ]
202      deps += [ "$dsoftbus_root_path/components/nstackx_enhanced/nstackx_core/dfile:nstackx_dfile" ]
203    } else {
204      include_dirs +=
205          [ "$dsoftbus_root_path/components/nstackx/nstackx_util/interface" ]
206      deps += [ "$dsoftbus_root_path/components/nstackx/nstackx_core/dfile:nstackx_dfile.open" ]
207    }
208    if (is_standard_system) {
209      external_deps = [ "hilog:libhilog" ]
210    } else {
211      external_deps = [ "hilog:libhilog" ]
212    }
213  }
214
215  module_output_path = "dsoftbus/transmission"
216  ohos_unittest("ClientTransProxyFileManagerTest") {
217    sanitize = {
218      cfi = true
219      cfi_cross_dso = true
220      debug = false
221    }
222    module_out_path = module_output_path
223    sources = [ "proxy/client_trans_proxy_file_manager_test.cpp" ]
224    include_dirs = trans_sdk_test_common_inc
225    include_dirs += [
226      "$dsoftbus_root_path/sdk/transmission/trans_channel/proxy/include",
227      "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/file/include",
228      "$dsoftbus_root_path/sdk/transmission/ipc/include",
229      "$dsoftbus_root_path/sdk/bus_center/manager/include",
230      "$dsoftbus_root_path/sdk/transmission/trans_channel/proxy/src",
231      "$dsoftbus_root_path/sdk/transmission/session/src",
232      "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/file/include",
233      "$dsoftbus_root_path/sdk/transmission/trans_channel/manager/include",
234      "$dsoftbus_root_path/core/frame/common/include",
235      "$dsoftbus_root_path/core/transmission/common/include",
236      "$dsoftbus_root_path/core/bus_center/lnn/lane_hub/lane_manager/include",
237      "$dsoftbus_root_path/interfaces/inner_kits/lnn",
238    ]
239    deps = trans_sdk_test_common_deps
240    deps += trans_sdk_proxy_test_deps
241    if (is_standard_system) {
242      external_deps = [ "hilog:libhilog" ]
243    } else {
244      external_deps = [ "hilog:libhilog" ]
245    }
246  }
247
248  module_output_path = "dsoftbus/transmission"
249  ohos_unittest("ClientTransProxyFileManagerMockTest") {
250    module_out_path = module_output_path
251    sources = [
252      "proxy/client_trans_proxy_file_manager_mock_test.cpp",
253      "proxy/mock/client_trans_proxy_file_manager_mock.cpp",
254    ]
255    include_dirs = trans_sdk_test_common_inc
256    include_dirs += [
257      "$dsoftbus_root_path/sdk/transmission/trans_channel/proxy/include",
258      "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/file/include",
259      "$dsoftbus_root_path/sdk/transmission/ipc/include",
260      "$dsoftbus_root_path/sdk/bus_center/manager/include",
261      "$dsoftbus_root_path/sdk/transmission/trans_channel/proxy/src",
262      "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/file/include",
263      "$dsoftbus_root_path/sdk/transmission/trans_channel/manager/include",
264      "$dsoftbus_root_path/core/frame/common/include",
265      "$dsoftbus_root_path/core/transmission/common/include",
266      "$dsoftbus_root_path/core/bus_center/lnn/lane_hub/lane_manager/include",
267      "$dsoftbus_root_path/interfaces/inner_kits/lnn",
268      "$dsoftbus_root_path/tests/sdk/transmission/trans_channel/proxy/mock",
269    ]
270    deps = trans_sdk_test_common_deps
271    deps += trans_sdk_proxy_test_deps
272    external_deps = [
273      "googletest:gmock",
274      "hilog:libhilog",
275    ]
276  }
277
278  module_output_path = "dsoftbus/transmission"
279  ohos_unittest("ClientTransChannelManagerTest") {
280    sanitize = {
281      cfi = true
282      cfi_cross_dso = true
283      debug = false
284    }
285    module_out_path = module_output_path
286    sources = [ "manager/client_trans_channel_manager_test.cpp" ]
287    include_dirs = trans_sdk_test_common_inc
288    include_dirs += [
289      "$dsoftbus_root_path/sdk/transmission/trans_channel/manager/include",
290      "$dsoftbus_root_path/sdk/transmission/trans_channel/auth/include",
291      "$dsoftbus_root_path/sdk/transmission/trans_channel/proxy/include",
292      "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/file/include",
293      "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/common/include",
294    ]
295    deps = trans_sdk_test_common_deps
296    deps += trans_sdk_proxy_test_deps
297    if (is_standard_system) {
298      external_deps = [ "hilog:libhilog" ]
299    } else {
300      external_deps = [ "hilog:libhilog" ]
301    }
302  }
303
304  module_output_path = "dsoftbus/transmission"
305  ohos_unittest("ClientTransChannelCallbackTest") {
306    sanitize = {
307      cfi = true
308      cfi_cross_dso = true
309      debug = false
310    }
311    module_out_path = module_output_path
312    sources = [ "manager/client_trans_channel_callback_test.cpp" ]
313    include_dirs = trans_sdk_test_common_inc
314    include_dirs += [
315      "$dsoftbus_root_path/sdk/transmission/trans_channel/manager/include",
316      "$dsoftbus_root_path/sdk/transmission/trans_channel/auth/include",
317      "$dsoftbus_root_path/sdk/transmission/trans_channel/proxy/include",
318      "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/file/include",
319      "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/common/include",
320    ]
321    deps = trans_sdk_test_common_deps
322    deps += trans_sdk_proxy_test_deps
323    if (is_standard_system) {
324      external_deps = [ "hilog:libhilog" ]
325    } else {
326      external_deps = [ "hilog:libhilog" ]
327    }
328  }
329
330  module_output_path = "dsoftbus/transmission"
331  ohos_unittest("ClientTransSessionImplTest") {
332    module_out_path = module_output_path
333    sources = [ "manager/client_trans_session_impl_test.cpp" ]
334    include_dirs = trans_sdk_test_common_inc
335    include_dirs += [
336      "$dsoftbus_root_path/sdk/transmission/trans_channel/manager/include",
337      "$dsoftbus_root_path/sdk/transmission/session/cpp/src",
338      "$dsoftbus_root_path/sdk/transmission/session/cpp/include",
339      "$dsoftbus_root_path/sdk/transmission/trans_channel/auth/include",
340      "$dsoftbus_root_path/sdk/transmission/trans_channel/proxy/include",
341      "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/file/include",
342      "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/common/include",
343    ]
344    deps = trans_sdk_test_common_deps
345    deps += trans_sdk_proxy_test_deps
346    if (is_standard_system) {
347      external_deps = [ "hilog:libhilog" ]
348    } else {
349      external_deps = [ "hilog:libhilog" ]
350    }
351  }
352
353  ohos_unittest("ClientTransUdpStreamInterfaceTest") {
354    sanitize = {
355      cfi = true
356      cfi_cross_dso = true
357      debug = false
358    }
359    module_out_path = module_output_path
360    sources = [ "udp/stream/client_trans_udp_stream_interface_test.cpp" ]
361    include_dirs = trans_udp_channel_sdk_inc
362    deps = trans_sdk_test_common_deps
363    deps += trans_sdk_proxy_test_deps
364    if (is_standard_system) {
365      external_deps = [ "hilog:libhilog" ]
366    } else {
367      external_deps = [ "hilog:libhilog" ]
368    }
369  }
370
371  ohos_unittest("ClientTransStreamTest") {
372    module_out_path = module_output_path
373    sources = [ "udp/stream/client_trans_stream_test.cpp" ]
374    include_dirs = trans_udp_channel_sdk_inc
375    include_dirs += trans_sdk_test_common_inc
376    include_dirs += [
377      "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/stream/src",
378      "$dsoftbus_root_path/sdk/transmission/ipc/standard/src",
379      "$dsoftbus_root_path/sdk/transmission/ipc/standard/include",
380      "$dsoftbus_root_path/core/frame/standard/init/include",
381      "$dsoftbus_root_path/sdk/transmission/session/include",
382    ]
383
384    deps = trans_sdk_test_common_deps
385    deps += trans_sdk_proxy_test_deps
386    if (is_standard_system) {
387      external_deps = [ "hilog:libhilog" ]
388    } else {
389      external_deps = [ "hilog:libhilog" ]
390    }
391  }
392
393  ohos_unittest("StreamAdaptorTest") {
394    module_out_path = module_output_path
395    sources = [ "udp/stream/stream_adaptor_test.cpp" ]
396    include_dirs = trans_udp_channel_sdk_inc
397    deps = trans_sdk_test_common_deps
398    deps += trans_sdk_proxy_test_deps
399    if (is_standard_system) {
400      external_deps = [ "hilog:libhilog" ]
401    } else {
402      external_deps = [ "hilog:libhilog" ]
403    }
404  }
405
406  group("unittest") {
407    testonly = true
408    deps = [
409      ":ClientTransChannelCallbackTest",
410      ":ClientTransChannelManagerTest",
411      ":ClientTransPendingTest",
412      ":ClientTransProxyFileCommonTest",
413      ":ClientTransProxyFileManagerMockTest",
414      ":ClientTransProxyFileManagerTest",
415      ":ClientTransProxyManagerTest",
416      ":ClientTransSessionImplTest",
417      ":ClientTransUdpManagerStaticTest",
418      ":ClientTransUdpManagerTest",
419      ":TransSdkCommStreamTest",
420      ":TransSdkStreamTest",
421      "auth:unittest",
422      "monitor_permission_test:CheckPermissionTest",
423      "permission:TransDynamicPermissionTest",
424      "qos:unittest",
425      "udp/distributed_stream:distributed_stream_test",
426      "udp/file:unittest",
427    ]
428    if (dsoftbus_feature_trans_udp == true) {
429      if (dsoftbus_feature_trans_udp_stream == true) {
430        if (!defined(ohos_lite)) {
431          deps += [
432            ":ClientTransStreamTest",
433            ":ClientTransUdpStreamInterfaceTest",
434            ":StreamAdaptorTest",
435            "tcp_direct:unittest",
436            "udp/stream/libsoftbus_stream:unittest",
437          ]
438        }
439      }
440    }
441  }
442}
443