# 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-at",
    "//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" ]
}
