# Copyright 2022 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/components.gni")
import("//build/rust/rustc_binary.gni")
import("//build/rust/rustc_test.gni")

rustc_test("test_bin") {
  output_name = "chroot_test"
  edition = "2021"

  deps = [ "//src/lib/fuchsia" ]

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

rustc_binary("writer") {
  output_name = "test_writer"
  edition = "2021"
  source_root = "src/writer.rs"
  sources = [ "src/writer.rs" ]
}

fuchsia_unittest_package("chroot-test") {
  manifest = "meta/test.cml"
  deps = [
    ":test_bin",
    ":writer",
    "//src/sys/tools/chroot:chns",
  ]
}

group("integration_test") {
  testonly = true
  deps = [ ":chroot-test" ]
}
