# 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.

# GYP version: mojo/mojo_base.gyp:mojo_public_environment_unittests
test("mojo_public_environment_unittests") {
  sources = [
    "async_wait_unittest.cc",
    "async_waiter_unittest.cc",
    "logger_unittest.cc",
    "logging_unittest.cc",
  ]

  deps = [
    "//mojo/edk/test:run_all_unittests",
    "//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",
    "//testing/gtest",
  ]
}
