# 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/components.gni")
import("//build/rust/rustc_library.gni")

rustc_library("fuchsia_backoff") {
  version = "0.1.0"
  edition = "2021"
  with_unit_tests = true

  deps = [
    "//src/lib/fuchsia-async",
    "//third_party/rust_crates:futures",
  ]

  sources = [ "src/lib.rs" ]
}

fuchsia_unittest_package("fuchsia_backoff_tests") {
  deps = [ ":fuchsia_backoff_test" ]
}

group("tests") {
  testonly = true
  public_deps = [
    ":fuchsia_backoff_test($host_toolchain)",
    ":fuchsia_backoff_tests($default_toolchain)",
  ]
}
