# 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.

group("telephony") {
  testonly = true
  public_deps = [
    ":tests",
    "//src/connectivity/telephony/config",
    "//src/connectivity/telephony/ril-qmi",
    "//src/connectivity/telephony/telephony",
    "//src/connectivity/telephony/tools",
  ]
}

group("tests") {
  testonly = true
  public_deps = [
    "//src/connectivity/telephony/lib:tel_devmgr",
    "//src/connectivity/telephony/lib/qmi-protocol:tests",
    "//src/connectivity/telephony/telephony:tests",
    "//src/connectivity/telephony/telephony-snooper",
    "//src/connectivity/telephony/tests:telephony-tests",
    "//src/connectivity/telephony/tests/fake-drivers",
    "//src/lib/isolated_devmgr",
  ]
}

group("drivers") {
  testonly = true
  public_deps = [ "//src/connectivity/telephony/drivers" ]
}
