# Copyright 2020 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_test.gni")
import("//src/sys/build/components.gni")

rustc_test("bin") {
  name = "archive_path_test"
  edition = "2018"

  deps = [
    "//sdk/fidl/fuchsia.sys:fuchsia.sys-rustc",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:glob",
    "//third_party/rust_crates:lazy_static",
    "//third_party/rust_crates:maplit",
    "//third_party/rust_crates:regex",
  ]

  sources = [ "src/lib.rs" ]

  inputs = [ "configs/archivist_config.json" ]
}

fuchsia_component("archive_path") {
  testonly = true
  manifest = "meta/archive_path_test.cmx"
  deps = [
    ":archive_path_test_archivist",
    ":bin",
  ]
}

fuchsia_component("archive_path_test_archivist") {
  testonly = true
  manifest = "meta/archive_path_test_archivist.cmx"
  deps = [ "//src/diagnostics/archivist:bin" ]
}

fuchsia_test("test-spec") {
  package = "//src/diagnostics/archivist/tests:archivist-integration-tests"
  component = ":archive_path"
}
