# Copyright 2016 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/package.gni")
import("//build/testing/environments.gni")
import("//peridot/build/tests_package.gni")

group("peridot") {
  testonly = true
  deps = [
    ":peridot_tests",
    "bin",
    "cloud",
    "examples",
    "lib",
    "public",
    "tests",
  ]
}

config("internal") {
  include_dirs = [
    ".",
    "$root_gen_dir/peridot",
  ]
}

# All peridot tests that can run as test binaries in a package, and are not
# associated with the package of a binary already anyway.
hermetic_tests_package("peridot_tests") {
  deps = [
    "//peridot/lib:peridot_lib_unittests",
    "//peridot/public/lib:peridot_public_lib_unittests",
  ]
  environments = basic_envs
}
