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

rustc_library("fuchsia-bootfs") {
  name = "fuchsia_bootfs"
  edition = "2018"
  with_unit_tests = true

  deps = [
    "//src/lib/zerocopy",
    "//src/lib/zircon/rust:fuchsia-zircon",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:byteorder",
    "//third_party/rust_crates:num",
    "//third_party/rust_crates:thiserror",
  ]

  test_deps = [ "//third_party/rust_crates:lazy_static" ]
}

test_package("fuchsia-bootfs-tests") {
  deps = [ ":fuchsia-bootfs_test" ]

  resources = [
    {
      path = rebase_path("testdata/basic.bootfs.uncompresssed")
      dest = "basic.bootfs.uncompresssed"
    },
    {
      path = rebase_path("testdata/input/dir/empty")
      dest = "golden/dir/empty"
    },
    {
      path = rebase_path("testdata/input/dir/lorem.txt")
      dest = "golden/dir/lorem.txt"
    },
    {
      path = rebase_path("testdata/input/empty")
      dest = "golden/empty"
    },
    {
      path = rebase_path("testdata/input/random.dat")
      dest = "golden/random.dat"
    },
    {
      path = rebase_path("testdata/input/simple.txt")
      dest = "golden/simple.txt"
    },
  ]

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