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

group("rust") {
  testonly = true
  deps = [
    ":tests",

    # TODO(fxbug.dev/50421): This target seems broken.
    # "cdylib",
    "eth-rs",
    "staticlib",
  ]
}

group("tests") {
  testonly = true
  deps = [
    ":garnet-rust-examples",
    "rust_static_linking:tests",

    # Until such time that these directories have tests, at least check that
    # they compile properly.

    # TODO(fxbug.dev/50421): This target seems broken.
    # "cdylib",
    "eth-rs",
    "staticlib",
  ]
}

test_package("garnet-rust-examples") {
  deps = [ "testing:testing-tests" ]  #TARGET

  # You need to include these for them to end up in the final image
  tests = [
    {
      name = "testing_lib_test"
      environments = basic_envs
    },
    {
      name = "testing_integration_test"
      environments = basic_envs
    },
    {
      name = "testing_integration_test_two"
      environments = basic_envs
    },
  ]
}
