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