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

group("tests") {
  testonly = true
  deps = [ ":stash-integration-tests" ]
}

test_package("stash-integration-tests") {
  deps = [
    "inspect:inspect_test",
    "//src/sys/stash:bin",
  ]

  binaries = [
    {
      name = "stash"
    },
  ]

  meta = [
    {
      path = rebase_path("meta/stash.cmx")
      dest = "stash.cmx"
    },
    {
      path = rebase_path("meta/stash_secure.cmx")
      dest = "stash_secure.cmx"
    },
  ]

  tests = [
    {
      name = "inspect_test"
      environments = basic_envs
    },
  ]
}
