1# Copyright (c) 2022 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.
13import("//build/test.gni")
14import("../../../../../bluetooth_part.gni")
15import("../../../../../castplus_cast_engine_part.gni")
16import("../../../../../config.gni")
17import("../../../../../efficiency_manager_part.gni")
18
19module_output_path = "multimedia_av_session/session"
20
21###############################################################################
22config("module_private_config") {
23  visibility = [ ":*" ]
24
25  include_dirs = [
26    "../../include/",
27    "../../../../../../interfaces/inner_api/native/session/include/",
28    "../../../../../services/session/server/",
29    "../../../../../services/session/adapter",
30  ]
31}
32
33common_deps = [
34  "../../../../../services/session:avsession_item",
35  "../../../../../services/session:avsession_service",
36  "../../../../../utils:avsession_utils",
37  "../../../../common:avsession_common",
38  "../../../session:avsession_client",
39  "//third_party/googletest:gtest_main",
40]
41
42common_external_deps = [
43  "ability_base:want",
44  "ability_runtime:wantagent_innerkits",
45  "access_token:libaccesstoken_sdk",
46  "access_token:libnativetoken_shared",
47  "access_token:libtokensetproc_shared",
48  "audio_framework:audio_client",
49  "background_task_mgr:bgtaskmgr_innerkits",
50  "c_utils:utils",
51  "device_manager:devicemanagersdk",
52  "dsoftbus:softbus_client",
53  "hilog:libhilog",
54  "image_framework:image_native",
55  "input:libmmi-client",
56  "ipc:ipc_single",
57  "jsoncpp:jsoncpp",
58  "samgr:samgr_proxy",
59]
60
61ohos_unittest("AVSessionManagerTest") {
62  module_out_path = module_output_path
63
64  sources = [ "avsession_manager_test.cpp" ]
65
66  configs = [ ":module_private_config" ]
67
68  deps = common_deps
69
70  external_deps = common_external_deps
71}
72
73ohos_unittest("MediaInfoHolderTest") {
74  module_out_path = module_output_path
75
76  sources = [ "media_info_holder_test.cpp" ]
77
78  configs = [ ":module_private_config" ]
79
80  deps = common_deps
81
82  external_deps = common_external_deps
83}
84
85ohos_unittest("AVQueueInfoTest") {
86  module_out_path = module_output_path
87
88  sources = [ "avqueue_info_test.cpp" ]
89
90  configs = [ ":module_private_config" ]
91
92  deps = common_deps
93
94  external_deps = common_external_deps
95}
96
97ohos_unittest("AVControllerCallbackClientTest") {
98  module_out_path = module_output_path
99
100  sources = [ "avcontroller_callback_client_test.cpp" ]
101
102  configs = [ ":module_private_config" ]
103
104  deps = common_deps
105
106  external_deps = common_external_deps
107
108  external_deps += [ "ability_base:base" ]
109}
110
111ohos_unittest("SessionListenerClientTest") {
112  module_out_path = module_output_path
113
114  sources = [ "session_listener_client_test.cpp" ]
115
116  configs = [ ":module_private_config" ]
117
118  deps = common_deps
119
120  external_deps = common_external_deps
121
122  external_deps += [ "ability_base:base" ]
123}
124
125ohos_unittest("AVSessionPixelMapAdapterTest") {
126  module_out_path = module_output_path
127
128  sources = [ "avsession_pixel_map_adapter_test.cpp" ]
129
130  configs = [ ":module_private_config" ]
131
132  deps = common_deps
133
134  external_deps = common_external_deps
135
136  external_deps += [ "ability_base:base" ]
137}
138
139ohos_unittest("AVSessionManagerImplTest") {
140  module_out_path = module_output_path
141
142  sources = [ "avsession_manager_impl_test.cpp" ]
143
144  configs = [ ":module_private_config" ]
145
146  deps = common_deps
147
148  external_deps = common_external_deps
149
150  external_deps += [ "ability_base:base" ]
151}
152
153ohos_unittest("AVSessionControllerTest") {
154  module_out_path = module_output_path
155
156  sources = [ "avsession_controller_test.cpp" ]
157
158  configs = [ ":module_private_config" ]
159
160  deps = common_deps
161
162  external_deps = common_external_deps
163
164  external_deps += [ "ability_base:base" ]
165}
166
167ohos_unittest("AVPlaybackStateTest") {
168  module_out_path = module_output_path
169
170  sources = [ "avplayback_state_test.cpp" ]
171
172  configs = [ ":module_private_config" ]
173
174  deps = common_deps
175
176  external_deps = common_external_deps
177}
178
179ohos_unittest("AVSessionTest") {
180  module_out_path = module_output_path
181
182  sources = [ "avsession_test.cpp" ]
183
184  configs = [ ":module_private_config" ]
185
186  deps = common_deps
187
188  external_deps = common_external_deps
189
190  external_deps += [ "ability_base:base" ]
191}
192
193ohos_unittest("AVMetaDataTest") {
194  module_out_path = module_output_path
195
196  sources = [ "avmeta_data_test.cpp" ]
197
198  configs = [ ":module_private_config" ]
199
200  deps = common_deps
201
202  external_deps = common_external_deps
203}
204
205ohos_unittest("AVCallMetaDataTest") {
206  module_out_path = module_output_path
207
208  sources = [ "avcallmeta_data_test.cpp" ]
209
210  configs = [ ":module_private_config" ]
211
212  deps = common_deps
213
214  external_deps = common_external_deps
215}
216
217ohos_unittest("AVCallStateTest") {
218  module_out_path = module_output_path
219
220  sources = [ "avcall_state_test.cpp" ]
221
222  configs = [ ":module_private_config" ]
223
224  deps = common_deps
225
226  external_deps = common_external_deps
227}
228
229ohos_unittest("AVSessionPermissionTest") {
230  module_out_path = module_output_path
231
232  sources = [ "avsession_permission_test.cpp" ]
233
234  configs = [ ":module_private_config" ]
235
236  deps = common_deps
237
238  external_deps = common_external_deps
239}
240
241ohos_unittest("AVSessionRemoteTest") {
242  module_out_path = module_output_path
243
244  sources = [ "avsession_remote_test.cpp" ]
245
246  configs = [ ":module_private_config" ]
247
248  if (castplus_cast_engine_enable) {
249    cflags = [ "-DCASTPLUS_CAST_ENGINE_ENABLE" ]
250  }
251
252  deps = common_deps
253
254  external_deps = common_external_deps
255}
256
257ohos_unittest("AVMediaDescriptionTest") {
258  module_out_path = module_output_path
259
260  sources = [ "avmedia_description_test.cpp" ]
261
262  configs = [ ":module_private_config" ]
263
264  deps = common_deps
265
266  external_deps = common_external_deps
267}
268
269ohos_unittest("AVDumperTest") {
270  module_out_path = module_output_path
271
272  sources = [ "avsession_dumper_test.cpp" ]
273
274  configs = [ ":module_private_config" ]
275
276  deps = common_deps
277
278  visibility = [ ":*" ]
279
280  include_dirs = [
281    "../../include/",
282    "../../../../../../interfaces/inner_api/native/session/include/",
283    "../../../../../services/session/adapter",
284    "../../../../../services/session/server/",
285    "../../../../../services/session/server/remote",
286  ]
287
288  external_deps = common_external_deps
289  cflags = []
290
291  if (bluetooth_part_enable) {
292    cflags = [ "-DBLUETOOTH_ENABLE" ]
293    external_deps += [ "bluetooth:btframework" ]
294  }
295
296  if (efficiency_manager_enable_in_avsession) {
297    cflags += [ "-DEFFICIENCY_MANAGER_ENABLE" ]
298  }
299
300  if (multimedia_av_session_enable_trace_control) {
301    cflags += [ "-DENBABLE_AVSESSION_TRACE_CONTROL" ]
302    external_deps += [ "hitrace:hitrace_meter" ]
303  }
304
305  if (multimedia_av_session_enable_sysevent_control) {
306    cflags += [ "-DENABLE_AVSESSION_SYSEVENT_CONTROL" ]
307    external_deps += [ "hisysevent:libhisysevent" ]
308  }
309}
310
311if (castplus_cast_engine_enable) {
312  ohos_unittest("AVCastControllerTest") {
313    module_out_path = module_output_path
314
315    sources = [ "avcast_controller_test.cpp" ]
316
317    configs = [ ":module_private_config" ]
318
319    cflags = [ "-DCASTPLUS_CAST_ENGINE_ENABLE" ]
320
321    deps = common_deps
322
323    deps += [
324      "../../../../../services/session:avsession_cast_item",
325      "../../../../../services/session:avsession_router",
326    ]
327
328    visibility = [ ":*" ]
329
330    include_dirs = [
331      "../../include/",
332      "../../../../../../interfaces/inner_api/native/session/include/",
333      "../../../../../services/session/adapter",
334      "../../../../../services/session/ipc/server",
335      "../../../../../services/session/server/",
336      "../../../../../services/session/server/remote",
337    ]
338
339    external_deps = common_external_deps
340
341    external_deps += [
342      "ability_base:want",
343      "ability_runtime:app_manager",
344      "ability_runtime:wantagent_innerkits",
345      "access_token:libaccesstoken_sdk",
346      "access_token:libtokenid_sdk",
347      "audio_framework:audio_client",
348      "bundle_framework:appexecfwk_base",
349      "bundle_framework:appexecfwk_core",
350      "c_utils:utils",
351      "cast_engine:cast_engine_client",
352      "data_object:distributeddataobject_impl",
353      "device_manager:devicemanagersdk",
354      "hilog:libhilog",
355      "input:libmmi-client",
356      "ipc:ipc_single",
357      "safwk:system_ability_fwk",
358      "samgr:samgr_proxy",
359    ]
360  }
361}
362
363###############################################################################
364group("av_session_unittest") {
365  testonly = true
366
367  deps = [
368    ":AVCallMetaDataTest",
369    ":AVCallStateTest",
370    ":AVControllerCallbackClientTest",
371    ":AVDumperTest",
372    ":AVMediaDescriptionTest",
373    ":AVMetaDataTest",
374    ":AVPlaybackStateTest",
375    ":AVQueueInfoTest",
376    ":AVSessionControllerTest",
377    ":AVSessionManagerImplTest",
378    ":AVSessionManagerTest",
379    ":AVSessionPermissionTest",
380    ":AVSessionPixelMapAdapterTest",
381    ":AVSessionRemoteTest",
382    ":AVSessionTest",
383    ":MediaInfoHolderTest",
384    ":SessionListenerClientTest",
385  ]
386
387  if (castplus_cast_engine_enable) {
388    deps += [ ":AVCastControllerTest" ]
389  }
390}
391###############################################################################
392