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

import("//build/go/go_library.gni")
import("//build/go/go_test.gni")
import("//build/testing/host_test_data.gni")

test_packages = [
  "artifacts",
  "avb",
  "ffx",
  "omaha_tool",
  "packages",
  "paver",
  "util",
  "zbi",
]

group("tests") {
  testonly = true

  public_deps = []
  foreach(testpkg, test_packages) {
    public_deps +=
        [ "${testpkg}:host-target-testing-${testpkg}-test($host_toolchain)" ]
  }
}
