# Copyright 2018 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/test/test_package.gni")
import("//build/testing/environments.gni")
import("//src/sys/build/components.gni")

group("tests") {
  testonly = true
  deps = [
    ":archivist-integration-tests",
    "archive_path:test-spec",
    "feedback_reader:test-spec",
    "logs-from-crash",
    "logs-redaction",
    "logs/cpp:test-spec",
    "logs/rust:test-spec",
    "unified_reader:test-spec",
    "v2:tests",
  ]
}

# only depend on this via the above `tests` group so that fx test sees the tests
fuchsia_package("archivist-integration-tests") {
  testonly = true
  deps = [
    "archive_path",
    "feedback_reader",
    "logs/cpp",
    "logs/rust",
    "unified_reader",
  ]
}
