# Copyright 2019 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/rust/rustc_library.gni")

rustc_library("wlan-bitfield-wrapper") {
  name = "wlan-bitfield-wrapper"
  version = "0.1.0"
  edition = "2018"

  with_unit_tests = true

  deps = [
    "//src/connectivity/wlan/lib/bitfield:wlan-bitfield",
  ]
}

package("wlan-bitfield-tests") {
  testonly = true

  deps = [
    ":wlan-bitfield-wrapper",
  ]

  tests = [
    {
      name = "wlan_bitfield_wrapper_lib_test"
      environments = basic_envs
    },
  ]
}
