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(
16    "//foundation/distributedhardware/distributed_camera/distributedcamera.gni")
17
18module_out_path = "distributed_camera/dcamera_source_test"
19
20config("module_private_config") {
21  visibility = [ ":*" ]
22  include_dirs = [
23    "${services_path}/cameraservice/sourceservice/include/distributedcamera",
24    "${services_path}/cameraservice/sourceservice/include/distributedcameramgr",
25    "${services_path}/cameraservice/sourceservice/include/distributedcameramgr/dcameracontrol",
26    "${services_path}/cameraservice/sourceservice/include/distributedcameramgr/dcameradata",
27    "${services_path}/cameraservice/sourceservice/include/distributedcameramgr/dcamerahdf",
28    "${services_path}/cameraservice/sourceservice/include/distributedcameramgr/dcamerainterface",
29    "${services_path}/cameraservice/sourceservice/include/distributedcameramgr/dcamerastate",
30    "${services_path}/cameraservice/cameraoperator/client/include",
31    "${services_path}/cameraservice/base/include",
32    "${services_path}/channel/include",
33    "${services_path}/data_process/include/pipeline",
34    "${services_path}/data_process/include/interfaces",
35    "${services_path}/data_process/include/utils",
36    "${services_path}/data_process/include/eventbus",
37    "${common_path}/include/constants",
38    "${common_path}/include/utils",
39
40    "${innerkits_path}/native_cpp/camera_source/include",
41    "${innerkits_path}/native_cpp/camera_source/include/callback",
42    "${innerkits_path}/native_cpp/camera_sink/include",
43  ]
44}
45
46ohos_unittest("DCameraSourceTest") {
47  sanitize = {
48    cfi = true
49    cfi_cross_dso = true
50    debug = false
51  }
52  module_out_path = module_out_path
53
54  sources = [
55    "dcamera_service_state_listener_test.cpp",
56    "dcamera_source_callback_proxy_test.cpp",
57    "dcamera_source_hidumper_test.cpp",
58    "distributed_camera_source_service_test.cpp",
59    "distributed_camera_source_stub_test.cpp",
60  ]
61
62  cflags = [
63    "-Dprivate=public",
64    "-Dprotected=public",
65  ]
66
67  configs = [ ":module_private_config" ]
68
69  deps = [
70    "${common_path}:distributed_camera_utils",
71    "${innerkits_path}/native_cpp/camera_source:distributed_camera_source_sdk",
72    "${services_path}/cameraservice/sourceservice:distributed_camera_source",
73    "${services_path}/channel:distributed_camera_channel",
74  ]
75
76  external_deps = [
77    "access_token:libaccesstoken_sdk",
78    "access_token:libnativetoken_shared",
79    "access_token:libtokensetproc_shared",
80    "cJSON:cjson",
81    "c_utils:utils",
82    "distributed_hardware_fwk:distributedhardwareutils",
83    "drivers_interface_distributed_camera:libdistributed_camera_provider_proxy_1.1",
84    "dsoftbus:softbus_client",
85    "eventhandler:libeventhandler",
86    "graphic_surface:surface",
87    "hicollie:libhicollie",
88    "hilog:libhilog",
89    "ipc:ipc_core",
90    "safwk:system_ability_fwk",
91    "samgr:samgr_proxy",
92  ]
93
94  defines = [
95    "HI_LOG_ENABLE",
96    "DH_LOG_TAG=\"DCameraSourceTest\"",
97    "LOG_DOMAIN=0xD004150",
98  ]
99}
100
101group("dcamera_source_test") {
102  testonly = true
103  deps = [ ":DCameraSourceTest" ]
104}
105