# 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("virtualization") {
  testonly = true

  deps = [
    "bin",
    "lib",
    "packages",
  ]
}

# To avoid creating excessive load on infra, we split out tests that pull in
# heavyweight guest packages (which are expensive to include in built images)
# or tests that involve actually booting guest images.  See
# https://fxbug.dev/42073933 for more background.
group("tests-involving-guests") {
  testonly = true

  deps = [
    "lib:tests-involving-guests",
    "tests",
  ]
}

group("tests") {
  testonly = true

  # Make sure we don't accidentally pull in tests that involve large guest images.
  assert_no_deps = [
    "tests",
    "//src/virtualization/packages/debian_guest",
    "//src/virtualization/packages/termina_guest",
  ]

  deps = [
    "bin:tests",
    "lib:tests",
    "tests/smoke",

    # Build some of the components that are normally packaged into some of the
    # larger test images. This allows us to get CQ coverage of building the
    # executables without also pulling in the larger guest images that are only
    # included on the virtualization builders.
    "tests:build_only",
  ]
}
