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