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

group("benchmarks") {
  testonly = true
  deps = [
    ":kernel-boot-benchmarks",
    "//src/tests/benchmarks/fidl:benchmarks",
  ]
}

executable("kernel-boot-stats") {
  testonly = true
  sources = [ "kernel_boot_stats.cc" ]
  deps = [
    "//sdk/fidl/fuchsia.kernel",
    "//sdk/lib/sys/cpp",
    "//sdk/lib/sys/inspect/cpp",
    "//zircon/system/ulib/perftest",
  ]
}

fuchsia_package_with_single_component("kernel-boot-benchmarks") {
  testonly = true
  deps = [ ":kernel-boot-stats" ]
  manifest = "meta/kernel-boot-benchmarks.cml"
}
