# Copyright 2018 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")

package("rust-crates-tests") {
  testonly = true

  deps = [
    "fdio",
    "fuchsia-archive",
    "fuchsia-async",
    "fuchsia-cobalt",
    "fuchsia-component",
    "fuchsia-cprng",
    "fuchsia-framebuffer",
    "fuchsia-hyper:fuchsia-hyper-tests",
    "fuchsia-inspect",
    "fuchsia-merkle",
    "fuchsia-syslog",
    "fuchsia-syslog",
    "fuchsia-trace",
    "fuchsia-vfs/pseudo-fs",
    "fuchsia-zircon",
    "mapped-vmo",
    "mundane",
    "packet",
    "shared-buffer",
    "zerocopy",
  ]

  tests = [
    {
      name = "fdio_lib_test"
      environments = basic_envs
    },
    {
      name = "fuchsia_archive_lib_test"
      environments = basic_envs
    },
    {
      name = "fuchsia_async_lib_test"
      environments = basic_envs
    },
    {
      name = "fuchsia_cobalt_lib_test"
      environments = basic_envs
    },
    {
      name = "fuchsia_cprng_lib_test"
      environments = basic_envs
    },
    {
      name = "fuchsia_inspect_lib_test"
      environments = basic_envs
    },
    {
      name = "fuchsia_merkle_lib_test"
      environments = basic_envs
    },
    {
      name = "fuchsia_syslog_lib_test"
      environments = basic_envs
    },
    {
      name = "fuchsia_trace_lib_test"
      environments = basic_envs
    },
    {
      name = "fuchsia_vfs_pseudo_fs_lib_test"
      environments = basic_envs
    },
    {
      name = "fuchsia_zircon_lib_test"
      environments = basic_envs
    },
    {
      name = "mapped_vmo_lib_test"
      environments = basic_envs
    },
    {
      name = "mundane_lib_test"
      environments = basic_envs
    },
    {
      name = "packet_lib_test"
      environments = basic_envs
    },
    {
      name = "shared_buffer_lib_test"
      environments = basic_envs
    },
    {
      name = "zerocopy_lib_test"
      environments = basic_envs
    },
  ]
}
