# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/test/test_package.gni")
import("//build/testing/environments.gni")
import("//src/lib/isolated_devmgr/devmgr_manifest.gni")

devmgr_manifest("devmgr-manifest") {
}

test_package("telephony-tests") {
  package_name = "telephony-tests"

  public_deps = [
    ":devmgr-manifest",
    "component-integration:fake-at-driver-test",
    "component-integration:fake-at-query",
    "component-integration:fake-qmi-query",
    "component-integration:snooper",
    "driver-integration:telephony-qmi-usb-integration-test",
    "driver-unit:tel-driver-unit-test",
  ]

  extra = [ "$target_gen_dir/devmgr.manifest" ]

  tests = [
    {
      name = "telephony-qmi-usb-integration-test"
      environments = basic_envs
    },
    {
      name = "tel-driver-unit-test"
      environments = basic_envs
    },
    {
      name = "tel_fake_qmi_query"
      environments = basic_envs
    },
    {
      name = "tel_fake_at_query"
      environments = basic_envs
    },
    {
      name = "tel_fake_at_driver_test"
      environments = basic_envs
    },
    {
      name = "tel_snooper_multi_clients"
      environments = basic_envs
    },
  ]
}
