# Copyright 2018 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/package.gni")
import("//build/test/test_package.gni")
import("//build/testing/environments.gni")

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

  deps = [
    "integration:bt-integration-tests",
    "//src/connectivity/bluetooth/core/bt-host:tests",
  ]

  tests = [
    {
      name = "bt-host-unittests"
      environments = basic_envs
    },
    {
      name = "bt_integration_tests"
      dest = "bt-integration-tests"
      environments = basic_envs
    },
  ]
}
