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 16ut_root_path = "$camera_path/test/ut" 17 18if (defined(ohos_lite)) { 19 import("//build/lite/config/test.gni") 20 import("//drivers/hdf_core/adapter/uhdf/uhdf.gni") 21 22 config("camera_ut_test_config") { 23 visibility = [ ":*" ] 24 25 cflags_cc = [] 26 cflags_cc += [ "-std=c++17" ] 27 } 28 29 unittest("camera_test_ut") { 30 output_extension = "bin" 31 output_dir = "$root_out_dir/test/unittest/hdf" 32 sources = [ 33 # buffer manager test 34 "$ut_root_path/buffer_manager/buffer_manager_utest.cpp", 35 36 # pipeline core test 37 "$ut_root_path/pipeline_core/pipeline_core_test.cpp", 38 "$ut_root_path/pipeline_core/stream_pipeline_builder_test.cpp", 39 "$ut_root_path/pipeline_core/stream_pipeline_dispatcher_test.cpp", 40 "$ut_root_path/pipeline_core/stream_pipeline_strategy_test.cpp", 41 ] 42 include_dirs = [ 43 # common includes 44 "//commonlibrary/utils_lite/include", 45 "//base/hiviewdfx/interfaces/innerkits/libhilog/include", 46 "//drivers/hdf_core/framework/include/osal", 47 "//drivers/hdf_core/framework/include/utils", 48 "//drivers/hdf_core/framework/utils/include", 49 "//drivers/hdf_core/adapter/uhdf2/osal/include", 50 "//system/core/include/cutils", 51 52 # graphic 53 "//foundation/graphic/surface/interfaces/kits", 54 "//foundation/graphic/surface/interfaces/innerkits", 55 56 # camera common includes 57 "$camera_path/include", 58 "$camera_path/../interfaces/include", 59 "$camera_path/../interfaces/hdi_passthrough", 60 "$camera_path/../interfaces/metadata/include", 61 "$camera_path/utils/event", 62 63 # device manager includes 64 "$camera_path/device_manager/include", 65 66 # buffer manager includes 67 "$camera_path/buffer_manager/include", 68 "$camera_path/buffer_manager/src/buffer_adapter/lite", 69 "//third_party/googletest/googletest/include", 70 "//drivers/hdf_core/framework/include/utils", 71 "//drivers/hdf_core/adapter/uhdf2/osal/include", 72 "//drivers/peripheral/base", 73 "//drivers/peripheral/display/interfaces/include", 74 "//foundation/graphic/surface/interfaces/kits", 75 "//foundation/graphic/surface/interfaces/innerkits", 76 77 # pipeline core includes 78 "$camera_path/pipeline_core", 79 "$camera_path/pipeline_core/host_stream/include", 80 "$camera_path/pipeline_core/utils", 81 "$camera_path/pipeline_core/nodes/include", 82 "$camera_path/pipeline_core/nodes/src/node_base", 83 "$camera_path/pipeline_core/nodes/src/sink_node", 84 "$camera_path/pipeline_core/nodes/src/sensor_node", 85 "$camera_path/pipeline_core/nodes/src/merge_node", 86 "$camera_path/pipeline_core/nodes/src/dummy_node", 87 "$camera_path/pipeline_core/pipeline_impl/include", 88 "$camera_path/pipeline_core/pipeline_impl/src", 89 "$camera_path/pipeline_core/include", 90 "$camera_path/pipeline_core/pipeline_impl/src/builder", 91 "$camera_path/pipeline_core/pipeline_impl/src/dispatcher", 92 "$camera_path/pipeline_core/pipeline_impl/src/parser", 93 "$camera_path/pipeline_core/pipeline_impl/src/strategy", 94 "$camera_path/pipeline_core/pipeline_impl/src/strategy/config", 95 "$camera_path/pipeline_core/ipp/include", 96 ] 97 deps = [ 98 "$camera_path/../interfaces/metadata:metadata", 99 "$camera_path/buffer_manager:camera_buffer_manager", 100 "$camera_path/device_manager:camera_device_manager", 101 "$camera_path/pipeline_core:camera_pipeline_core", 102 ] 103 } 104} else { 105 import("//build/test.gni") 106 import("//drivers/hdf_core/adapter/uhdf2/uhdf.gni") 107 108 module_output_path = "drivers_peripheral_camera/camera" 109 110 config("camera_ut_test_config") { 111 visibility = [ ":*" ] 112 113 cflags_cc = [] 114 115 ldflags = [ "--coverage" ] 116 } 117 ohos_unittest("camera_test_ut") { 118 testonly = true 119 module_out_path = module_output_path 120 sources = [ 121 # buffer manager test 122 "$ut_root_path/buffer_manager/buffer_manager_utest.cpp", 123 124 # pipeline core test 125 "$ut_root_path/pipeline_core/pipeline_core_test.cpp", 126 "$ut_root_path/pipeline_core/stream_pipeline_builder_test.cpp", 127 "$ut_root_path/pipeline_core/stream_pipeline_dispatcher_test.cpp", 128 "$ut_root_path/pipeline_core/stream_pipeline_strategy_test.cpp", 129 130 # v4l2 adapter test 131 "$ut_root_path/v4l2/camera_ability_test.cpp", 132 "$ut_root_path/v4l2/camera_capture_test.cpp", 133 "$ut_root_path/v4l2/camera_fps_test.cpp", 134 "$ut_root_path/v4l2/camera_preview_test.cpp", 135 "$ut_root_path/v4l2/camera_stabili_test.cpp", 136 "$ut_root_path/v4l2/camera_video_test.cpp", 137 "$ut_root_path/v4l2/double_preview_test.cpp", 138 "$ut_root_path/v4l2/hdfcamera_facedetect.cpp", 139 "$ut_root_path/v4l2/open_camera_test.cpp", 140 "$ut_root_path/v4l2/stream_customer.cpp", 141 "$ut_root_path/v4l2/test_display.cpp", 142 ] 143 144 include_dirs = [ 145 # common includes 146 "//system/core/include/cutils", 147 "//third_party/googletest/googletest/include", 148 "//drivers/peripheral/display/interfaces/include", 149 "//drivers/peripheral/display/hdi_service/gralloc/include", 150 151 #"//base/hiviewdfx/interfaces/innerkits/libhilog/include", 152 153 # camera common includes 154 "$camera_path/include", 155 "$camera_path/../interfaces/include", 156 "$camera_path/../interfaces/hdi_ipc", 157 "$camera_path/../interfaces/metadata/include", 158 "$camera_path/utils/event", 159 "$camera_path/../interfaces/hdi_ipc/utils/include", 160 "$camera_path/../interfaces/hdi_ipc/callback/host/include", 161 "$camera_path/../interfaces/hdi_ipc/callback/device/include", 162 "$camera_path/../interfaces/hdi_ipc/callback/operator/include", 163 164 # device manager includes 165 "$camera_path/device_manager/include", 166 167 # buffer manager includes 168 "$camera_path/buffer_manager/include", 169 "$camera_path/buffer_manager/src/buffer_adapter/standard", 170 171 # pipeline core includes 172 "$camera_path/pipeline_core", 173 "$camera_path/pipeline_core/host_stream/include", 174 "$camera_path/pipeline_core/utils", 175 "$camera_path/pipeline_core/nodes/include", 176 "$camera_path/pipeline_core/nodes/src/node_base", 177 "$camera_path/pipeline_core/nodes/src/sink_node", 178 "$camera_path/pipeline_core/nodes/src/sensor_node", 179 "$camera_path/pipeline_core/nodes/src/merge_node", 180 "$camera_path/pipeline_core/nodes/src/dummy_node", 181 "$camera_path/pipeline_core/pipeline_impl/include", 182 "$camera_path/pipeline_core/pipeline_impl/src", 183 "$camera_path/pipeline_core/include", 184 "$camera_path/pipeline_core/pipeline_impl/src/builder", 185 "$camera_path/pipeline_core/pipeline_impl/src/dispatcher", 186 "$camera_path/pipeline_core/pipeline_impl/src/parser", 187 "$camera_path/pipeline_core/pipeline_impl/src/strategy", 188 "$camera_path/pipeline_core/pipeline_impl/src/strategy/config", 189 "$camera_path/pipeline_core/ipp/include", 190 191 # hdi impl includes 192 "$camera_path/hdi_impl", 193 "$camera_path/hdi_impl/include", 194 "$camera_path/hdi_impl/include/camera_host", 195 "$camera_path/hdi_impl/include/camera_device", 196 "$camera_path/hdi_impl/include/stream_operator", 197 "$camera_path/hdi_impl/include/offline_stream_operator", 198 "$camera_path/hdi_impl/src/stream_operator/stream_tunnel/standard", 199 ] 200 201 deps = [ 202 "$camera_path/buffer_manager:camera_buffer_manager", 203 "$camera_path/device_manager:camera_device_manager", 204 "$camera_path/hdi_impl:camera_host_service_1.0", 205 "$camera_path/pipeline_core:camera_pipeline_core", 206 "//drivers/interface/camera/v1_0:libcamera_proxy_1.0", 207 "//drivers/interface/camera/v1_0:libcamera_stub_1.0", 208 "//drivers/peripheral/camera/interfaces/metadata:metadata", 209 "//third_party/googletest:gmock_main", 210 "//third_party/googletest:gtest", 211 "//third_party/googletest:gtest_main", 212 ] 213 214 if (is_standard_system) { 215 external_deps = [ 216 "c_utils:utils", 217 "hdf_core:libhdf_utils", 218 "hiviewdfx_hilog_native:libhilog", 219 "samgr:samgr_proxy", 220 ] 221 } else { 222 external_deps = [ "hilog:libhilog" ] 223 } 224 225 external_deps += [ 226 "ipc:ipc_single", 227 "samgr:samgr_proxy", 228 ] 229 public_configs = [ ":camera_ut_test_config" ] 230 } 231} 232