# Copyright 2021 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_library.gni")

rustc_library("directory") {
  name = "test_output_directory"
  with_unit_tests = true
  edition = "2021"

  sources = [
    "src/lib.rs",
    "src/macros.rs",
    "src/testing.rs",
    "src/v1.rs",
  ]
  inputs = [
    "//sdk/schema/ffx_test/run_summary-8d1dd964.json",
    "//sdk/schema/common-00000000.json",
  ]

  deps = [
    "//src/lib/testing/test_list",
    "//third_party/rust_crates:serde",
    "//third_party/rust_crates:serde_json",
  ]

  test_deps = [
    "//src/lib/testing/fixture",
    "//third_party/rust_crates:tempfile",
    "//third_party/rust_crates:valico",
  ]
}

fuchsia_unittest_component("test-output-directory-lib-test") {
  manifest = "meta/test-output-directory-lib-test.cml"
  deps = [ ":directory_test" ]
}

fuchsia_test_package("test-output-directory-unit-tests") {
  test_components = [ ":test-output-directory-lib-test" ]
  test_specs = {
    log_settings = {
      max_severity = "ERROR"
    }
  }
}

group("tests") {
  testonly = true
  deps = [
    ":directory_test($host_toolchain)",
    ":test-output-directory-unit-tests",
  ]
}
