# 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",
  ]

  deps = [
    "//testing/gtest",
  ]

  mojo_sdk_deps = [
    "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",
  ]
}
