# 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")

package("tests") {
  testonly = true

  package_name = "bluetooth_tests"

  deps = [
    ":bt-host-unittests",
    "integration",
  ]

  tests = [
    {
      name = "bt-host-unittests"
    },
    {
      name = "rust_crates/host_integration"
      dest = "bt-host-integration-tests"
    },
    {
     name = "rust_crates/host_lifecycle"
     dest = "bt-host-lifecycle-test"
   },
  ]
}

executable("bt-host-unittests") {
  testonly = true

  deps = [
    "//garnet/drivers/bluetooth/lib:tests",
    "//garnet/drivers/bluetooth/lib/testing:gtest_main",
    "//third_party/googletest:gtest",
  ]
}
