chromium/mojo/core/test/BUILD.gn

# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/features.gni")
import("//mojo/features.gni")
import("//third_party/protobuf/proto_library.gni")

static_library("test_support") {
  testonly = true
  sources = [
    "mojo_test_base.cc",
    "mojo_test_base.h",
    "mojo_test_suite_base.cc",
    "mojo_test_suite_base.h",
    "scoped_mojo_support.cc",
    "scoped_mojo_support.h",
    "test_switches.cc",
    "test_switches.h",
    "test_utils.h",
  ]

  if (mojo_support_legacy_core) {
    sources += [
      "mock_node_channel_delegate.cc",
      "mock_node_channel_delegate.h",
    ]
  }

  if (use_blink) {
    sources += [
      "multiprocess_test_helper.cc",
      "multiprocess_test_helper.h",
    ]
  }

  if (is_win) {
    sources += [ "test_utils_win.cc" ]
  }

  if (is_fuchsia || is_posix) {
    sources += [ "test_utils.cc" ]
  }

  public_deps = [
    "//base",
    "//base/test:test_support",
    "//mojo/core:embedder_internal",
    "//mojo/core/embedder",
    "//mojo/public/cpp/system",
    "//testing/gmock",
    "//testing/gtest",
  ]

  deps = [
    ":test_support_impl",
    "//build:blink_buildflags",
    "//mojo/public/c/test_support",
  ]
}

source_set("run_all_unittests") {
  testonly = true
  sources = [ "run_all_unittests.cc" ]

  deps = [
    ":test_support",
    ":test_support_impl",
    "//base",
    "//base/test:test_support",
    "//mojo/core/embedder",
    "//mojo/public/c/test_support",
    "//testing/gtest",
  ]

  if ((is_linux || is_chromeos) && !is_component_build) {
    public_configs = [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
  }
}

source_set("run_all_perftests") {
  testonly = true
  deps = [
    ":test_support_impl",
    "//base",
    "//base/test:test_support",
    "//mojo/core/embedder",
    "//mojo/core/test:test_support",
    "//mojo/public/c/test_support",
  ]

  sources = [ "run_all_perftests.cc" ]

  if ((is_linux || is_chromeos) && !is_component_build) {
    public_configs = [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
  }
}

static_library("test_support_impl") {
  testonly = true
  deps = [
    "//base",
    "//base/test:test_support",
    "//mojo/public/c/test_support",
    "//mojo/public/cpp/system",
  ]

  sources = [
    "test_support_impl.cc",
    "test_support_impl.h",
  ]
}

if (is_mac) {
  proto_library("channel_mac_proto") {
    proto_in_dir = "//"
    sources = [ "data/channel_mac/channel_mac.proto" ]
    link_deps = [ "//testing/libfuzzer/fuzzers/mach:proto" ]
  }
}