# 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")

rustc_library("parser") {
  name = "ext4_parser"
  edition = "2018"
  with_unit_tests = true

  deps = [
    "//sdk/fidl/fuchsia.mem:fuchsia.mem-rustc",
    "//src/lib/storage/vfs/rust:vfs",
    "//src/lib/zircon/rust:fuchsia-zircon",
    "//src/storage/ext4/read-only:ext4-read-only",
  ]

  test_deps = [ "//sdk/fidl/fuchsia.io:fuchsia.io-rustc" ]

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

test_package("tests") {
  package_name = "storage-ext4-parser-tests"

  deps = [ ":parser_test" ]

  resources = [
    {
      path = rebase_path("../read-only/test_files/nest.img")
      dest = "nest.img"
    },
  ]

  tests = [
    {
      name = "ext4_parser_lib_test"
      dest = "ext4_parser_test"
      environments = basic_envs
    },
  ]
}
