# Copyright 2014 The Chromium 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("../../../mojo_sdk.gni")

mojo_sdk_source_set("tests") {
  testonly = true

  sources = [
    "async_wait_unittest.cc",
    "async_waiter_unittest.cc",
    "logger_unittest.cc",
    "logging_unittest.cc",
  ]

  mojo_sdk_deps = [
    "mojo/public:gtest",
    "mojo/public/c:environment",
    "mojo/public/cpp/bindings:callback",
    "mojo/public/cpp/environment:standalone",
    "mojo/public/cpp/system",
    "mojo/public/cpp/test_support:test_utils",
    "mojo/public/cpp/utility",
  ]
}

mojo_sdk_source_set("perftests") {
  testonly = true

  sources = [
    "run_loop_async_wait_perftest.cc",
  ]

  mojo_sdk_deps = [
    "mojo/public:gtest",
    "mojo/public/c:environment_perftest_helpers",
    "mojo/public/cpp/environment:standalone",
    "mojo/public/cpp/system",
    "mojo/public/cpp/test_support",
    "mojo/public/cpp/utility",
  ]
}
