# Copyright 2019 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/unification/zx_library.gni")

zx_library("perftest") {
  sdk = "source"
  sdk_headers = [
    "perftest/perftest.h",
    "perftest/results.h",
    "perftest/runner.h",
  ]
  testonly = true
  sources = [
    "results.cc",
    "runner.cc",
  ]
  deps = [
    "//zircon/public/lib/async",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/zx",
    "//zircon/system/ulib/async-loop",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/async-loop:async-loop-default",
    "//zircon/system/ulib/trace",
    "//zircon/system/ulib/trace-engine",
    "//zircon/system/ulib/trace-provider:trace-provider-with-fdio",
  ]
}

group("tests") {
  testonly = true
  deps = [ "test:tests" ]
}
