# Copyright (c) 2021-2023 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import("//build/test.gni")
import("./../multimedia_camera_framework.gni")
group("camera_fuzz_test") {
  testonly = true
  deps = [
    "fuzztest/hcameraservice_fuzzer:fuzztest",
    "fuzztest/hcameraswitchsession_fuzzer:fuzztest",
    "fuzztest/hmechsession_fuzzer:fuzztest",
    "fuzztest/hstreammetadata_fuzzer:fuzztest",
    "fuzztest/cameraability_fuzzer:fuzztest",
    "fuzztest/cameradevice_fuzzer:fuzztest",
    "fuzztest/camerainput_fuzzer:fuzztest",
    "fuzztest/cameralistenerstub_fuzzer:fuzztest",
    "fuzztest/cameramanager_fuzzer:fuzztest",
    "fuzztest/captureoutput_fuzzer:fuzztest",
    "fuzztest/capturesession_fuzzer:fuzztest",
    "fuzztest/capturesessionadd_fuzzer:fuzztest",
    "fuzztest/cloudenhancesession_fuzzer:fuzztest",
    "fuzztest/deferredvideoprocsession_fuzzer:fuzztest",
    "fuzztest/hcameradevice_fuzzer:fuzztest",
    "fuzztest/hcameraservicecallbackstub_fuzzer:fuzztest",
    "fuzztest/hstreamcapture_fuzzer:fuzztest",
    "fuzztest/lightscansession_fuzzer:fuzztest",
    "fuzztest/mediamanagerproxy_fuzzer:fuzztest",
    "fuzztest/mooncaptureboostfeature_fuzzer:fuzztest",
    "fuzztest/movingphotoproxy_fuzzer:fuzztest",
    "fuzztest/photooutput_fuzzer:fuzztest",
    "fuzztest/photosession_fuzzer:fuzztest",
    "fuzztest/previewoutput_fuzzer:fuzztest",
    "fuzztest/professionsession_fuzzer:fuzztest",
    "fuzztest/sketchwrapper_fuzzer:fuzztest",
    "fuzztest/slowmotionsession_fuzzer:fuzztest",
    "fuzztest/timebroker_fuzzer:fuzztest",
    "fuzztest/timelapsephotosession_fuzzer:fuzztest",
    "fuzztest/timercore_fuzzer:fuzztest",
    "fuzztest/videooutput_fuzzer:fuzztest",
    "fuzztest/compositionfeature_fuzzer:fuzztest",
  ]
  if (fwk_no_hidden || use_libfuzzer || use_clang_coverage) {
    deps += [
      "fuzztest/audiocapturersession_fuzzer:fuzztest",
      "fuzztest/audiodeferredprocess_fuzzer:fuzztest",
      "fuzztest/audioencoder_fuzzer:fuzztest",
      "fuzztest/audiovideomuxer_fuzzer:fuzztest",
      "fuzztest/avcodectaskmanager_fuzzer:fuzztest",
      "fuzztest/bmsadapter_fuzzer:fuzztest",
      "fuzztest/cameraabilitybuilder_fuzzer:fuzztest",
      "fuzztest/camerademuxer_fuzzer:fuzztest",
      "fuzztest/cameradeviceserviceproxy_fuzzer:fuzztest",
      "fuzztest/cameradeviceservicestub_fuzzer:fuzztest",
      "fuzztest/cameraserviceproxy_fuzzer:fuzztest",
      "fuzztest/cameraoutputcapability_fuzzer:fuzztest",
      "fuzztest/camerareportdfxutils_fuzzer:fuzztest",
      "fuzztest/cameraserverphotoproxy_fuzzer:fuzztest",
      "fuzztest/camerawindowmanagerclient_fuzzer:fuzztest",
      "fuzztest/capturesessionproxy_fuzzer:fuzztest",
      "fuzztest/commandserver_fuzzer:fuzztest",
      "fuzztest/commandserverimpl_fuzzer:fuzztest",
      "fuzztest/deferredphotoprocessingsessionstub_fuzzer:fuzztest",
      "fuzztest/deferredprocessingstub_fuzzer:fuzztest",
      "fuzztest/deferredprocessingserviceeventmonitor_fuzzer:fuzztest",
      "fuzztest/deferredvideocontroller_fuzzer:fuzztest",
      "fuzztest/deferredvideoprocessingsessioncallbackproxy_fuzzer:fuzztest",
      "fuzztest/deferredvideoprocessingsessioncallbackstub_fuzzer:fuzztest",
      "fuzztest/deferredvideoprocessingsessionproxy_fuzzer:fuzztest",
      "fuzztest/deferredvideoprocessingsessionstub_fuzzer:fuzztest",
      "fuzztest/deferredvideoprocessor_fuzzer:fuzztest",
      "fuzztest/dpsvideoreport_fuzzer:fuzztest",
      "fuzztest/hcameradevicemanager_fuzzer:fuzztest",
      "fuzztest/hcamerahostmanager_fuzzer:fuzztest",
      "fuzztest/hcamerapreconfig_fuzzer:fuzztest",
      "fuzztest/hcapturesession_fuzzer:fuzztest",
      "fuzztest/hstreamcapturestub_fuzzer:fuzztest",
      "fuzztest/hstreamdepthdata_fuzzer:fuzztest",
      "fuzztest/hstreamdepthdatacallbackproxy_fuzzer:fuzztest",
      "fuzztest/hstreamdepthdatacallbackstub_fuzzer:fuzztest",
      "fuzztest/hstreamdepthdataproxy_fuzzer:fuzztest",
      "fuzztest/hstreamdepthdatastub_fuzzer:fuzztest",
      "fuzztest/hstreammetadatacallbackproxy_fuzzer:fuzztest",
      "fuzztest/hstreammetadatacallbackstub_fuzzer:fuzztest",
      "fuzztest/hstreammetadatastub_fuzzer:fuzztest",
      "fuzztest/hstreamoperator_fuzzer:fuzztest",
      "fuzztest/hstreamrepeat_fuzzer:fuzztest",
      "fuzztest/hstreamrepeatstub_fuzzer:fuzztest",
      "fuzztest/hstreamrepeatcallbackstub_fuzzer:fuzztest",
      "fuzztest/mediamanager_fuzzer:fuzztest",
      "fuzztest/metadataoutput_fuzzer:fuzztest",
      "fuzztest/movingphotosurfacewrapper_fuzzer:fuzztest",
      "fuzztest/mpegmanager_fuzzer:fuzztest",
      "fuzztest/photojobrepository_fuzzer:fuzztest",
      "fuzztest/portraitsession_fuzzer:fuzztest",
      "fuzztest/reader_fuzzer:fuzztest",
      "fuzztest/streamcapture_fuzzer:fuzztest",
      "fuzztest/streamcapturestub_fuzzer:fuzztest",
      "fuzztest/streammetadatastub_fuzzer:fuzztest",
      "fuzztest/streamrepeatstub_fuzzer:fuzztest",
      "fuzztest/streamcaptureproxy_fuzzer:fuzztest",
      "fuzztest/streamdepthdataproxy_fuzzer:fuzztest",
      "fuzztest/streamrepeatproxy_fuzzer:fuzztest",
      "fuzztest/videoencoder_fuzzer:fuzztest",
      "fuzztest/videojobqueue_fuzzer:fuzztest",
      "fuzztest/videojobrepository_fuzzer:fuzztest",
      "fuzztest/videopostprocessor_fuzzer:fuzztest",
      "fuzztest/videoprocesscommand_fuzzer:fuzztest",
      "fuzztest/videostrategycenter_fuzzer:fuzztest",
    ]
  }

  if (camera_framework_feature_movie_file) {
    deps += [
      "fuzztest/hcameramoviefileoutput_fuzzer:fuzztest",
    ]
  }

}