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(
16    "//foundation/distributedhardware/distributed_screen/distributedscreen.gni")
17
18module_out_path = "distributed_screen/dscreen_sink_service_test"
19
20config("module_private_config") {
21  visibility = [ ":*" ]
22  include_dirs = [
23    "./include",
24    "${interfaces_path}/innerkits/native_cpp/screen_sink/include",
25    "${interfaces_path}/innerkits/native_cpp/screen_sink/include/callback",
26    "${interfaces_path}/innerkits/native_cpp/screen_source/include",
27    "${interfaces_path}/innerkits/native_cpp/screen_source/include/callback",
28    "${common_path}/include",
29    "${services_path}/common/utils/include",
30    "${services_path}/common/databuffer/include",
31    "${services_path}/common/screen_channel/include",
32    "${services_path}/screentransport/screensinktrans/include",
33    "${services_path}/screentransport/screensinkprocessor/include",
34    "${services_path}/screentransport/screensinkprocessor/decoder/include",
35    "${services_path}/screenclient/include/",
36    "${services_path}/screenservice/sinkservice/screenregionmgr/",
37    "${services_path}/screenservice/sourceservice/dscreenmgr",
38    "${services_path}/screenservice/test/unittest/sinkservice/screenregionmgr",
39    "${services_path}/screenservice/test/unittest/sinkservice/screenregionmgr/engineutils/include",
40  ]
41}
42
43## UnitTest DscreenRegionMgrTest
44ohos_unittest("DscreenRegionMgrTest") {
45  sanitize = {
46    cfi = true
47    cfi_cross_dso = true
48    debug = false
49  }
50  module_out_path = module_out_path
51
52  sources = [
53    "${services_path}/screenservice/test/unittest/sinkservice/screenregionmgr/1.0/src/screenregion_test.cpp",
54    "${services_path}/screenservice/test/unittest/sinkservice/screenregionmgr/1.0/src/screenregionmgr_test.cpp",
55    "${services_path}/screenservice/test/unittest/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter_test.cpp",
56    "${services_path}/screenservice/test/unittest/sinkservice/screenregionmgr/2.0/src/screenregion_test.cpp",
57    "${services_path}/screenservice/test/unittest/sinkservice/screenregionmgr/2.0/src/screenregionmgr_test.cpp",
58  ]
59
60  configs = [
61    ":module_private_config",
62    "${common_path}/test/unittest/resource:dscreen_unittest_public_config",
63  ]
64
65  deps = [
66    "${services_path}/screenclient:distributed_screen_client",
67    "${services_path}/screenservice/sinkservice:distributed_screen_sink",
68    "${services_path}/screenservice/sourceservice:distributed_screen_source",
69    "${services_path}/screentransport/screensinktrans:distributed_screen_sinktrans",
70  ]
71
72  external_deps = [
73    "av_codec:av_codec_client",
74    "cJSON:cjson",
75    "c_utils:utils",
76    "distributed_hardware_fwk:distributed_av_receiver",
77    "distributed_hardware_fwk:distributedhardwareutils",
78    "distributed_hardware_fwk:libdhfwk_sdk",
79    "googletest:gmock",
80    "googletest:gtest_main",
81    "graphic_2d:libcomposer",
82    "graphic_2d:libgraphic_utils",
83    "graphic_2d:librender_service_client",
84    "graphic_surface:surface",
85    "hisysevent:libhisysevent",
86    "media_foundation:media_foundation",
87    "window_manager:libdm",
88  ]
89}
90