# 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/test/test_package.gni")
import("//build/testing/environments.gni")

unittest_package("rust-crates-tests") {
  deps = [
    "fdio",
    "fuchsia-archive",
    "fuchsia-component:fuchsia-component-blackbox-unit-tests",
    "fuchsia-cprng",
    "fuchsia-framebuffer",
    "fuchsia-hyper:fuchsia-hyper-tests",
    "fuchsia-inspect",
    "fuchsia-merkle",
    "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_component_blackbox_unit_tests_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_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
    },
  ]
}
