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

rustc_library("shared-buffer") {
  name = "shared_buffer"
  version = "0.1.0"
  with_unit_tests = true
  edition = "2018"

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

unittest_package("shared-buffer-tests") {
  deps = [ ":shared-buffer_test" ]

  tests = [
    {
      name = "shared_buffer_lib_test"
    },
  ]
}

group("tests") {
  testonly = true
  public_deps = [ ":shared-buffer-tests" ]
}
