19762338dSopenharmony_ci# Copyright (c) 2022-2024 Huawei Device Co., Ltd.
29762338dSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
39762338dSopenharmony_ci# you may not use this file except in compliance with the License.
49762338dSopenharmony_ci# You may obtain a copy of the License at
59762338dSopenharmony_ci#
69762338dSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
79762338dSopenharmony_ci#
89762338dSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
99762338dSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
109762338dSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
119762338dSopenharmony_ci# See the License for the specific language governing permissions and
129762338dSopenharmony_ci# limitations under the License.
139762338dSopenharmony_ci
149762338dSopenharmony_ciimport("//build/ohos_var.gni")
159762338dSopenharmony_ciimport("//test/xts/tools/build/suite.gni")
169762338dSopenharmony_ci
179762338dSopenharmony_ciimport("//build/ohos.gni")
189762338dSopenharmony_ciimport("//build/test.gni")
199762338dSopenharmony_ciimport("//drivers/peripheral/camera/camera.gni")
209762338dSopenharmony_ciimport("//drivers/peripheral/display/display_config.gni")
219762338dSopenharmony_ci
229762338dSopenharmony_ciif (defined(ohos_lite)) {
239762338dSopenharmony_ci  import("//device/board/hisilicon/hispark_taurus/device.gni")
249762338dSopenharmony_ci} else {
259762338dSopenharmony_ci  import("//vendor/$product_company/$product_name/product.gni")
269762338dSopenharmony_ci}
279762338dSopenharmony_ci
289762338dSopenharmony_cimodule_output_path = "hats/camera"
299762338dSopenharmony_ci
309762338dSopenharmony_ciconfig("cameraTest_config") {
319762338dSopenharmony_ci  visibility = [ ":*" ]
329762338dSopenharmony_ci}
339762338dSopenharmony_ci
349762338dSopenharmony_ciohos_moduletest_suite("HatsHdfCameraTest") {
359762338dSopenharmony_ci  testonly = true
369762338dSopenharmony_ci  defines = []
379762338dSopenharmony_ci  defines += display_defines
389762338dSopenharmony_ci  module_out_path = module_output_path
399762338dSopenharmony_ci  sources = [
409762338dSopenharmony_ci    "./src/camera_ability_test.cpp",
419762338dSopenharmony_ci    "./src/camera_capture_test.cpp",
429762338dSopenharmony_ci    "./src/camera_fps_test.cpp",
439762338dSopenharmony_ci    "./src/camera_preview_test.cpp",
449762338dSopenharmony_ci    "./src/camera_stabili_test.cpp",
459762338dSopenharmony_ci    "./src/camera_vendor_tag_test.cpp",
469762338dSopenharmony_ci    "./src/camera_video_test.cpp",
479762338dSopenharmony_ci    "./src/double_preview_test.cpp",
489762338dSopenharmony_ci    "./src/hdfcamera_facedetect.cpp",
499762338dSopenharmony_ci    "./src/open_camera_test.cpp",
509762338dSopenharmony_ci    "./src/stream_customer.cpp",
519762338dSopenharmony_ci    "./src/test_display.cpp",
529762338dSopenharmony_ci    "./src/usb_camera_test.cpp",
539762338dSopenharmony_ci    "./src/usb_camera_test_mult.cpp",
549762338dSopenharmony_ci  ]
559762338dSopenharmony_ci
569762338dSopenharmony_ci  include_dirs = [
579762338dSopenharmony_ci    "//third_party/googletest/googletest/include/gtest",
589762338dSopenharmony_ci    "./include",
599762338dSopenharmony_ci    "$camera_path/../../interfaces/include",
609762338dSopenharmony_ci    "$camera_path/../../interfaces/hdi_ipc",
619762338dSopenharmony_ci    "$camera_path/../../interfaces/hdi_ipc/utils/include",
629762338dSopenharmony_ci    "$camera_path/../../test/common/callback/include",
639762338dSopenharmony_ci    "$camera_path/include",
649762338dSopenharmony_ci    "$camera_path/../../hdi_service/v1_0/include",
659762338dSopenharmony_ci    "$camera_path/../v4l2/src/stream_operator/stream_tunnel/standard",
669762338dSopenharmony_ci    "$camera_path/device_manager/include/",
679762338dSopenharmony_ci    "$camera_path/device_manager/include/v4l2",
689762338dSopenharmony_ci    "$camera_path/utils/event",
699762338dSopenharmony_ci
709762338dSopenharmony_ci    #producer
719762338dSopenharmony_ci    "$camera_path/pipeline_core/utils",
729762338dSopenharmony_ci    "$camera_path/pipeline_core/include",
739762338dSopenharmony_ci    "$camera_path/pipeline_core/host_stream/include",
749762338dSopenharmony_ci    "$camera_path/pipeline_core/nodes/include",
759762338dSopenharmony_ci    "$camera_path/pipeline_core/nodes/src/node_base",
769762338dSopenharmony_ci    "$camera_path/pipeline_core/nodes/src/dummy_node",
779762338dSopenharmony_ci    "$camera_path/pipeline_core/pipeline_impl/src/strategy/config",
789762338dSopenharmony_ci    "$camera_path/pipeline_core/pipeline_impl/include",
799762338dSopenharmony_ci    "$camera_path/pipeline_core/pipeline_impl/src",
809762338dSopenharmony_ci    "$camera_path/pipeline_core/pipeline_impl/src/builder",
819762338dSopenharmony_ci    "$camera_path/pipeline_core/pipeline_impl/src/dispatcher",
829762338dSopenharmony_ci    "$camera_path/pipeline_core/pipeline_impl/src/parser",
839762338dSopenharmony_ci    "$camera_path/pipeline_core/pipeline_impl/src/strategy",
849762338dSopenharmony_ci    "$camera_path/pipeline_core/ipp/include",
859762338dSopenharmony_ci
869762338dSopenharmony_ci    # metadata manager includes
879762338dSopenharmony_ci    "$camera_path/metadata_manager/include",
889762338dSopenharmony_ci  ]
899762338dSopenharmony_ci
909762338dSopenharmony_ci  deps = [
919762338dSopenharmony_ci    "$board_camera_path/device_manager:camera_device_manager",
929762338dSopenharmony_ci    "$board_camera_path/pipeline_core:camera_pipeline_core",
939762338dSopenharmony_ci    "$camera_path/../../hdi_service/v1_0:camera_host_service_1.0_static",
949762338dSopenharmony_ci    "//third_party/googletest:gmock",
959762338dSopenharmony_ci    "//third_party/googletest:gmock_main",
969762338dSopenharmony_ci    "//third_party/googletest:gtest",
979762338dSopenharmony_ci    "//third_party/googletest:gtest_main",
989762338dSopenharmony_ci  ]
999762338dSopenharmony_ci
1009762338dSopenharmony_ci  if (is_standard_system) {
1019762338dSopenharmony_ci    external_deps = [
1029762338dSopenharmony_ci      "c_utils:utils",
1039762338dSopenharmony_ci      "drivers_peripheral_camera:peripheral_camera_buffer_manager",
1049762338dSopenharmony_ci      "drivers_peripheral_camera:peripheral_camera_device_manager",
1059762338dSopenharmony_ci      "drivers_peripheral_camera:peripheral_camera_pipeline_core",
1069762338dSopenharmony_ci      "graphic_surface:surface",
1079762338dSopenharmony_ci      "hdf_core:libhdf_host",
1089762338dSopenharmony_ci      "hdf_core:libhdf_ipc_adapter",
1099762338dSopenharmony_ci      "hdf_core:libhdf_utils",
1109762338dSopenharmony_ci      "hdf_core:libhdi",
1119762338dSopenharmony_ci      "hilog:libhilog",
1129762338dSopenharmony_ci      "ipc:ipc_single",
1139762338dSopenharmony_ci    ]
1149762338dSopenharmony_ci  } else {
1159762338dSopenharmony_ci    external_deps = [ "hilog:libhilog" ]
1169762338dSopenharmony_ci  }
1179762338dSopenharmony_ci
1189762338dSopenharmony_ci  external_deps += [
1199762338dSopenharmony_ci    "drivers_interface_camera:libcamera_proxy_1.0",
1209762338dSopenharmony_ci    "drivers_interface_camera:metadata",
1219762338dSopenharmony_ci    "drivers_interface_display:libdisplay_composer_proxy_1.0",
1229762338dSopenharmony_ci    "init:libbegetutil",
1239762338dSopenharmony_ci    "ipc:ipc_single",
1249762338dSopenharmony_ci    "samgr:samgr_proxy",
1259762338dSopenharmony_ci  ]
1269762338dSopenharmony_ci
1279762338dSopenharmony_ci  public_configs = [ ":cameraTest_config" ]
1289762338dSopenharmony_ci  subsystem_name = "hdf"
1299762338dSopenharmony_ci  part_name = "drivers_interface_camera"
1309762338dSopenharmony_ci}
1319762338dSopenharmony_ci
1329762338dSopenharmony_cigroup("hdi") {
1339762338dSopenharmony_ci  if (!defined(ohos_lite)) {
1349762338dSopenharmony_ci    testonly = true
1359762338dSopenharmony_ci  }
1369762338dSopenharmony_ci  deps = [ ":HatsHdfCameraTest" ]
1379762338dSopenharmony_ci}
138