# 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")

copy("copy_run_benchmarks") {
  sources = [
    "run_benchmarks.sh",
  ]

  outputs = [
    "$root_out_dir/run_benchmarks",
  ]
}

package("run_benchmarks") {
  testonly = true
  deprecated_system_image = true

  deps = [
    ":copy_run_benchmarks",
  ]

  tests = [ {
        name = "run_benchmarks"
      }, {
        name = "run_benchmarks"
        dest = "perf/run_benchmarks"
      } ]
}

