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

# This target does not come with an implementation. Currently, the
# implementation is provided by the EDK targets that actually produce the
# (native) test binary (see //mojo/edk/test:test_support_impl).
mojo_sdk_source_set("test_support") {
  testonly = true

  sources = [
    "test_support.h",
  ]

  mojo_sdk_deps = [ "mojo/public/cpp/system" ]
}

# This target should be "pure Mojo" and have no external dependencies.
mojo_sdk_source_set("test_utils") {
  testonly = true

  sources = [
    "lib/test_utils.cc",
    "test_utils.h",
  ]

  mojo_sdk_deps = [ "mojo/public/cpp/system" ]
}
