# 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/package.gni")

# Builds the modular integration testing shell script into a package that runs
# all Topaz modular integration tests.
package("topaz_modular_integration_tests") {
  testonly = true

  tests = [
    {
      name = rebase_path("run_topaz_modular_integration_tests.sh")
      dest = "run_topaz_modular_integration_tests.sh"
      environments = [
        {
          dimensions = {
            device_type = "Intel NUC Kit NUC7i5DNHE"
          }
        },
      ]
    },
  ]

  resources = [
    {
      path = rebase_path("topaz_modular_integration_tests.json")
      dest = "topaz_modular_integration_tests.json"
    },
  ]
}
