# 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("//build/config/ui.gni")

group("mojo") {
  # Meta-target, don't link into production code.
  testonly = true
  deps = [
    ":tests",
    "//mojo/common",
  ]

  if (!(is_linux && current_cpu == "x86")) {
    deps += [ "//mojo/public" ]
  }

  if (is_android) {
    deps += [ "//mojo/android" ]
  }

  deps += [ "//services/service_manager:all" ]
}

group("tests") {
  testonly = true
  deps = [
    "//ipc:ipc_tests",
    "//mojo/common:mojo_common_unittests",
    "//mojo/edk/js/test:js_integration_tests",
    "//mojo/edk/js/test:js_unittests",
    "//mojo/edk/system:mojo_message_pipe_perftests",
    "//mojo/edk/system:mojo_system_unittests",
    "//mojo/edk/test:mojo_public_bindings_perftests",
    "//mojo/edk/test:mojo_public_bindings_unittests",
    "//mojo/edk/test:mojo_public_system_perftests",
    "//mojo/edk/test:mojo_public_system_unittests",
    "//services/service_manager/public/cpp/tests:mojo_public_application_unittests",
    "//services/service_manager/runner/host:mojo_runner_host_unittests",
    "//services/service_manager/tests",
  ]
}
