• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021 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("//drivers/peripheral/camera/hal/camera.gni")
15
16if (defined(ohos_lite)) {
17  import("//build/lite/config/test.gni")
18  import("//drivers/adapter/uhdf/uhdf.gni")
19
20  config("camhdi_impl_utest_config") {
21    visibility = [ ":*" ]
22    cflags_cc = [
23      "-Wall",
24      "-Wextra",
25      "-Werror",
26      "-Wno-error",
27      "-DGST_DISABLE_DEPRECATED",
28      "-DHAVE_CONFIG_H",
29      "-DCOLORSPACE=\"videoconvert\"",
30      "-fno-strict-aliasing",
31      "-Wno-sign-compare",
32      "-Wno-builtin-requires-header",
33      "-Wno-unused-variable",
34      "-Wno-unused-label",
35      "-Wno-implicit-function-declaration",
36      "-Wno-format",
37      "-Wno-int-conversion",
38      "-Wno-unused-function",
39      "-Wno-thread-safety-attributes",
40      "-Wno-inconsistent-missing-override",
41      "-fno-rtti",
42      "-fno-exceptions",
43      "-ffunction-sections",
44      "-fdata-sections",
45    ]
46    cflags_cc += [ "-std=c++17" ]
47  }
48
49  unittest("camera_hal_hdi_impl_unittest") {
50    output_extension = "bin"
51    output_dir = "$root_out_dir/test/unittest/hdf"
52    sources = [
53      "$camera_path/../interfaces/hdi_passthrough/callback/src/camera_device_callback.cpp",
54      "$camera_path/../interfaces/hdi_passthrough/callback/src/camera_host_callback.cpp",
55      "$camera_path/../interfaces/hdi_passthrough/callback/src/stream_operator_callback.cpp",
56      "unittest/utest_camera_device_impl.cpp",
57      "unittest/utest_camera_hdi_base.cpp",
58      "unittest/utest_camera_host_impl.cpp",
59      "unittest/utest_stream_operator_impl.cpp",
60    ]
61
62    include_dirs = [
63      "$camera_path/../interfaces/include",
64      "$camera_path/../interfaces/hdi_passthrough",
65      "$camera_path/../interfaces/hdi_passthrough/callback/include",
66      "$camera_path/include",
67      "$camera_path/hdi_impl",
68      "$camera_path/hdi_impl/test",
69      "$camera_path/hdi_impl/include",
70      "$camera_path/hdi_impl/include/camera_host",
71      "$camera_path/hdi_impl/include/camera_device",
72      "$camera_path/hdi_impl/include/stream_operator",
73      "$camera_path/hdi_impl/include/offline_stream_operator",
74      "$camera_path/hdi_impl/src/stream_operator/stream_tunnel/lite",
75      "$camera_path/device_manager/include/",
76      "$camera_path/device_manager/include/mpi",
77      "//base/hiviewdfx/interfaces/innerkits/libhilog/include",
78      "$camera_path/utils/event",
79      "$camera_path/utils/metadata/include",
80      "//drivers/peripheral/base",
81      "//drivers/peripheral/display/interfaces/include",
82      "//foundation/communication/ipc_lite/interfaces/kits",
83      "//foundation/graphic/surface/interfaces/kits",
84      "//foundation/graphic/surface/interfaces/innerkits",
85
86      #producer
87      "$camera_path/pipeline_core/utils",
88      "$camera_path/pipeline_core/include",
89      "$camera_path/pipeline_core/host_stream/include",
90      "$camera_path/pipeline_core/nodes/include",
91      "$camera_path/pipeline_core/nodes/src/node_base",
92      "$camera_path/pipeline_core/nodes/src/dummy_node",
93      "$camera_path/pipeline_core/pipeline_impl/src/strategy/config",
94      "$camera_path/pipeline_core/pipeline_impl/include",
95      "$camera_path/pipeline_core/pipeline_impl/src",
96      "$camera_path/pipeline_core/pipeline_impl/src/builder",
97      "$camera_path/pipeline_core/pipeline_impl/src/dispatcher",
98      "$camera_path/pipeline_core/pipeline_impl/src/parser",
99      "$camera_path/pipeline_core/pipeline_impl/src/strategy",
100      "$camera_path/pipeline_core/ipp/include",
101
102      # HCS
103      "//drivers/framework/include/config",
104      "//drivers/framework/include/osal",
105      "//drivers/framework/include/utils",
106      "//drivers/adapter/uhdf2/include/config",
107      "//drivers/framework/ability/config/hcs_parser/include",
108      "//system/core/include/cutils",
109      "//drivers/adapter/uhdf2/osal/include",
110      "$hdf_framework_path/ability/sbuf/include",
111      "$hdf_uhdf_path/manager/include",
112      "$hdf_uhdf_path/include/hdi",
113
114      "$hdf_uhdf_path/devhost/include",
115      "$hdf_uhdf_path/devmgr/include",
116      "$hdf_uhdf_path/host/include",
117    ]
118
119    deps = [
120      "$camera_path/buffer_manager:camera_buffer_manager",
121      "$camera_path/device_manager:camera_device_manager",
122      "$camera_path/hdi_impl:camera_hdi_impl",
123      "$camera_path/pipeline_core:camera_pipeline_core",
124      "$camera_path/utils/metadata:metadata_lite",
125      "$hdf_uhdf_path/utils:libhdf_utils",
126      "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared",
127      "//drivers/adapter/uhdf/manager:hdf_core",
128      "//drivers/adapter/uhdf/platform:hdf_platform",
129      "//drivers/adapter/uhdf/posix:hdf_posix_osal",
130      "//drivers/adapter/uhdf/test/unittest/common:hdf_test_common",
131      "//foundation/graphic/surface:surface",
132    ]
133  }
134} else {
135  import("//build/ohos.gni")
136  import("//build/test.gni")
137  import("//drivers/adapter/uhdf2/uhdf.gni")
138
139  module_output_path = "hdf/hdi_impl_test"
140
141  config("camhdi_impl_utest_config") {
142    visibility = [ ":*" ]
143    cflags_cc = [
144      "-Wall",
145      "-Wextra",
146      "-Werror",
147      "-Wno-error",
148      "-DGST_DISABLE_DEPRECATED",
149      "-DHAVE_CONFIG_H",
150      "-DCOLORSPACE=\"videoconvert\"",
151      "-fno-strict-aliasing",
152      "-Wno-sign-compare",
153      "-Wno-builtin-requires-header",
154      "-Wno-unused-variable",
155      "-Wno-unused-label",
156      "-Wno-implicit-function-declaration",
157      "-Wno-format",
158      "-Wno-int-conversion",
159      "-Wno-unused-function",
160      "-Wno-thread-safety-attributes",
161      "-Wno-inconsistent-missing-override",
162      "-fno-rtti",
163      "-fno-exceptions",
164      "-ffunction-sections",
165      "-fdata-sections",
166    ]
167  }
168
169  ohos_unittest("camera_hal_hdi_impl_unittest") {
170    testonly = true
171    module_out_path = module_output_path
172    sources = [
173      "unittest/utest_camera_device_impl.cpp",
174      "unittest/utest_camera_hdi_base.cpp",
175      "unittest/utest_camera_host_impl.cpp",
176      "unittest/utest_stream_operator_impl.cpp",
177    ]
178
179    include_dirs = [
180      "//third_party/googletest/googletest/include/gtest",
181      "$camera_path/test/unittest",
182      "$camera_path/../interfaces/include",
183      "$camera_path/../interfaces/hdi_ipc",
184      "$camera_path/../interfaces/hdi_ipc/utils/include",
185      "$camera_path/../interfaces/hdi_ipc/client/include",
186      "$camera_path/../interfaces/hdi_ipc/server/include",
187      "$camera_path/../interfaces/hdi_ipc/callback/host/include",
188      "$camera_path/../interfaces/hdi_ipc/callback/device/include",
189      "$camera_path/../interfaces/hdi_ipc/callback/operator/include",
190      "$camera_path/include",
191      "$camera_path/hdi_impl",
192      "$camera_path/hdi_impl/include",
193      "$camera_path/hdi_impl/include/camera_host",
194      "$camera_path/hdi_impl/include/camera_device",
195      "$camera_path/hdi_impl/include/stream_operator",
196      "$camera_path/hdi_impl/include/offline_stream_operator",
197      "$camera_path/device_manager/include/",
198      "$camera_path/device_manager/include/mpi",
199      "$camera_path/utils/event",
200      "//drivers/peripheral/camera/interfaces/metadata/include",
201
202      #producer
203      "//utils/native/base/include",
204      "$camera_path/pipeline_core/utils",
205      "$camera_path/pipeline_core/include",
206      "$camera_path/pipeline_core/host_stream/include",
207      "$camera_path/pipeline_core/nodes/include",
208      "$camera_path/pipeline_core/nodes/src/node_base",
209      "$camera_path/pipeline_core/nodes/src/dummy_node",
210      "$camera_path/pipeline_core/pipeline_impl/src/strategy/config",
211      "$camera_path/pipeline_core/pipeline_impl/include",
212      "$camera_path/pipeline_core/pipeline_impl/src",
213      "$camera_path/pipeline_core/pipeline_impl/src/builder",
214      "$camera_path/pipeline_core/pipeline_impl/src/dispatcher",
215      "$camera_path/pipeline_core/pipeline_impl/src/parser",
216      "$camera_path/pipeline_core/pipeline_impl/src/strategy",
217      "$camera_path/pipeline_core/ipp/include",
218
219      # HCS
220      "//system/core/include/cutils",
221    ]
222
223    deps = [
224      "$camera_path/../interfaces/hdi_ipc/client:libcamera_client",
225      "$camera_path/buffer_manager:camera_buffer_manager",
226      "$camera_path/device_manager:camera_device_manager",
227      "$camera_path/hdi_impl:camera_hdi_impl",
228      "$camera_path/pipeline_core:camera_pipeline_core",
229      "//drivers/peripheral/camera/interfaces/metadata:metadata",
230      "//third_party/googletest:gmock_main",
231      "//third_party/googletest:gtest",
232      "//third_party/googletest:gtest_main",
233    ]
234
235    if (is_standard_system) {
236      external_deps = [
237        "device_driver_framework:libhdf_host",
238        "device_driver_framework:libhdf_ipc_adapter",
239        "device_driver_framework:libhdf_utils",
240        "device_driver_framework:libhdi",
241        "graphic_standard:surface",
242        "hiviewdfx_hilog_native:libhilog",
243        "ipc:ipc_single",
244        "utils_base:utils",
245      ]
246    } else {
247      external_deps = [ "hilog:libhilog" ]
248    }
249
250    external_deps += [ "samgr_standard:samgr_proxy" ]
251    public_configs = [ ":camhdi_impl_utest_config" ]
252  }
253}
254