# Copyright (c) 2021 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("../../sensor.gni")

HDF_CORE_PATH = "../../../../hdf_core"
if (defined(ohos_lite)) {
  import("//build/lite/config/component/lite_component.gni")
  import("//build/lite/config/test.gni")
} else {
  import("//build/ohos.gni")
  import("//build/test.gni")
  import("$HDF_CORE_PATH/adapter/uhdf2/uhdf.gni")
}

if (defined(ohos_lite)) {
  unittest("hdf_peripheral_sensor_test") {
    output_extension = "bin"
    output_dir = "$root_out_dir/test/unittest/hdf"
    include_dirs = [
      "//third_party/bounds_checking_function/include",
      "../../interfaces/include",
    ]

    sources = [ "./common/hdf_sensor_test.cpp" ]
    cflags = [
      "-Wall",
      "-Wextra",
      "-Werror",
      "-fsigned-char",
      "-fno-common",
      "-fno-strict-aliasing",
    ]
    if (ohos_build_compiler != "clang") {
      cflags += [
        "-Wno-format",
        "-Wno-format-extra-args",
      ]
    }
    public_deps = [
      "$HDF_CORE_PATH/adapter/build/test_common:libhdf_test_common",
      "$HDF_CORE_PATH/adapter/uhdf/manager:hdf_core",
      "$HDF_CORE_PATH/adapter/uhdf/posix:hdf_posix_osal",
      "../../hal:hdi_sensor",
      "//third_party/bounds_checking_function:libsec_shared",
    ]

    external_deps = [ "hilog_lite:hilog_shared" ]
  }
} else {
  module_output_path = "drivers_peripheral_sensor/sensor"
  ohos_unittest("hdf_unittest_sensor") {
    module_out_path = module_output_path
    include_dirs = []

    sources = [ "./common/hdf_sensor_test.cpp" ]
    cflags = [
      "-Wall",
      "-Wextra",
      "-Werror",
      "-fsigned-char",
      "-fno-common",
      "-fno-strict-aliasing",
    ]
    deps = [ "../../hal:hdi_sensor" ]
    if (is_standard_system) {
      external_deps = [
        "hdf_core:libhdf_utils",
        "hilog:libhilog",
      ]
      if (c_utils_enable) {
        external_deps += [ "c_utils:utils" ]
      }
    } else {
      external_deps = [ "hilog:libhilog" ]
    }
  }
}