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

# Since tests involving guest VMs are expensive to build and run, we keep them
# as a separate group that we do not include by default so we can selectively
# include them on a subset of lower-infra-impact builders.  See
# https://fxbug.dev/42073933 for more background.
group("tests-involving-guests") {
  testonly = true
  deps = [ "guest:tests" ]
}

group("tests") {
  testonly = true
  assert_no_deps = [
    "guest/test:*",
    "guest/tests",
  ]
  deps = [
    "configurable-netstack:tests",
    "doc:tests",
    "network-context:tests",
    "runner:tests",
    "service:tests",
    "sync-manager:tests",
  ]
}
