# 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("bundles") {
  testonly = true
  deps = [
    ":framework",
    ":tools",
  ]
}

group("tools") {
  testonly = true
  public_deps = [
    ":testing",
    "//peridot/packages/prod:basemgr_launcher",
    "//peridot/packages/prod:sessionctl",
  ]
}

group("framework") {
  testonly = true
  public_deps = [
    "//peridot/packages/prod:ledger",
    "//peridot/packages/prod:maxwell",
    "//peridot/packages/prod:modular",
    "//peridot/packages/prod:module_resolver",
  ]
}

# Packages used for authoring and running integration tests.
group("testing") {
  testonly = true
  public_deps = [
    "//peridot/packages/tests:modular_test_harness",
  ]
}

# Packages which contain tests.
group("tests") {
  testonly = true
  public_deps = [
    "//peridot/packages/tests:modular_test_harness",
    "//src/modular:tests",
  ]
}
