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

assert(is_host, "antlion tests only supported for host testing")

group("e2e_tests") {
  testonly = true
  public_deps = [
    "compliance:e2e_tests",
    "facade:e2e_tests",
    "functional:e2e_tests",
    "misc:e2e_tests",
    "performance:e2e_tests",
  ]
}

group("e2e_tests_quick") {
  testonly = true
  public_deps = [
    "functional:e2e_tests_quick",
  ]
}

group("e2e_tests_manual") {
  testonly = true
  public_deps = [
    "functional:e2e_tests_manual",
    "performance:e2e_tests_manual",
  ]
}
