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

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

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

package("bluetooth_tests") {
  testonly = true

  package_name = "bluetooth_tests"

  deps = [
    ":bt-host-unittests",
    "//garnet/bin/bluetooth/tests/integration",
  ]

  tests = [
    {
      name = "bt-host-unittests"
    },
    {
      name = "rust_crates/bt_lifecycle_integration_test"
    },
  ]
}
