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

rustc_library("escaped-cstring") {
  name = "escaped-cstring"
  version = "0.1.0"
  edition = "2018"
  with_unit_tests = true

  deps = [
    "//third_party/rust_crates:memchr",
    "//third_party/rust_crates:smallvec",
  ]
}

test_package("escaped-cstring-tests") {
  deps = [
    ":escaped-cstring",
  ]

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