| # 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/nacl/config.gni") | 
 | import("//build/module_args/mojo.gni") | 
 | import("//mojo/public/mojo.gni") | 
 | import("//testing/test.gni") | 
 |  | 
 | declare_args() { | 
 |   mojo_use_go = false | 
 | } | 
 |  | 
 | group("mojo") { | 
 |   # Meta-target, don't link into production code. | 
 |   testonly = true | 
 |   deps = [ | 
 |     ":system_thunks", | 
 |     ":tests", | 
 |     "//mojo/common", | 
 |     "//mojo/dart", | 
 |     "//mojo/public", | 
 |     "//mojo/services", | 
 |   ] | 
 |  | 
 |   if (is_android) { | 
 |     deps += [ | 
 |       "//mojo/android", | 
 |       "//mojo/java", | 
 |       "//mojo/tools:remote_file_reader", | 
 |     ] | 
 |   } | 
 |  | 
 |   if (is_linux && mojo_use_go) { | 
 |     deps += [ "//mojo/go" ] | 
 |   } | 
 |  | 
 |   if (is_linux && !is_fnl) { | 
 |     deps += [ "//mojo/python" ] | 
 |   } | 
 |  | 
 |   if (mojo_use_nacl) { | 
 |     if (mojo_use_nacl_sfi) { | 
 |       deps += [ | 
 |         "//mojo/nacl/sfi:mojo_nacl", | 
 |         "//mojo/nacl/sfi:mojo_nacl_tests", | 
 |       ] | 
 |     } | 
 |  | 
 |     if (mojo_use_nacl_nonsfi) { | 
 |       deps += [ | 
 |         "//mojo/nacl/nonsfi:mojo_nacl_nonsfi", | 
 |         "//mojo/nacl/nonsfi:mojo_nacl_tests_nonsfi", | 
 |       ] | 
 |     } | 
 |   } | 
 | } | 
 |  | 
 | group("tests") { | 
 |   testonly = true | 
 |   deps = [ | 
 |     ":public_tests", | 
 |     "//mojo/common:mojo_common_unittests", | 
 |     "//mojo/converters:mojo_converters_unittests", | 
 |     "//mojo/dart/embedder/test:dart_unittests", | 
 |     "//mojo/edk:tests", | 
 |     "//mojo/gles2:mgl_unittests", | 
 |     "//mojo/gpu:apptests", | 
 |     "//mojo/public/cpp/bindings/tests:versioning_apptests", | 
 |     "//mojo/services/files/c:apptests", | 
 |     "//mojo/services/files/cpp:files_impl_apptests", | 
 |     "//mojo/services/view_manager/cpp/tests:mojo_view_manager_lib_unittests", | 
 |     "//mojo/tools:message_generator", | 
 |   ] | 
 |  | 
 |   if (is_linux || is_android) { | 
 |     deps += [ "//mojo/converters/surfaces/tests:mojo_surfaces_lib_unittests" ] | 
 |   } | 
 |  | 
 |   if (mojo_use_prebuilt_network_service) { | 
 |     deps += [ "//mojo/public/tools:copy_network_service_apptests" ] | 
 |   } | 
 | } | 
 |  | 
 | # This archives the system thunks implementation for exporting to SDK consumers. | 
 | static_library("system_thunks") { | 
 |   complete_static_lib = true | 
 |   deps = [ | 
 |     "//mojo/public/platform/native:system", | 
 |   ] | 
 | } | 
 |  | 
 | # Public SDK test targets follow. These targets are not defined within the | 
 | # public SDK itself since they are built as native executable binaries, needing | 
 | # to be linked with the EDK. | 
 | # TODO(vtl): They should be converted to "apptests", i.e., run as apps. | 
 |  | 
 | group("public_tests") { | 
 |   testonly = true | 
 |   deps = [ | 
 |     ":mojo_public_application_unittests", | 
 |     ":mojo_public_bindings_perftests", | 
 |     ":mojo_public_bindings_unittests", | 
 |     ":mojo_public_environment_unittests", | 
 |     ":mojo_public_system_perftests", | 
 |     ":mojo_public_system_unittests", | 
 |     ":mojo_public_utility_unittests", | 
 |     ":mojo_system_impl_private_unittests", | 
 |   ] | 
 | } | 
 |  | 
 | test("mojo_public_application_unittests") { | 
 |   deps = [ | 
 |     "//mojo/edk/test:run_all_unittests", | 
 |     "//mojo/public/cpp/application/tests", | 
 |   ] | 
 | } | 
 |  | 
 | test("mojo_public_bindings_unittests") { | 
 |   deps = [ | 
 |     "//mojo/edk/test:run_all_unittests", | 
 |     "//mojo/public/cpp/bindings/tests", | 
 |   ] | 
 | } | 
 |  | 
 | test("mojo_public_bindings_perftests") { | 
 |   deps = [ | 
 |     "//mojo/edk/test:run_all_perftests", | 
 |     "//mojo/public/cpp/bindings/tests:perftests", | 
 |   ] | 
 | } | 
 |  | 
 | test("mojo_public_environment_unittests") { | 
 |   deps = [ | 
 |     "//mojo/edk/test:run_all_unittests", | 
 |     "//mojo/public/cpp/environment/tests", | 
 |   ] | 
 | } | 
 |  | 
 | test("mojo_public_system_perftests") { | 
 |   deps = [ | 
 |     "//mojo/edk/test:run_all_perftests", | 
 |     "//mojo/public/c/system/tests:perftests", | 
 |   ] | 
 | } | 
 |  | 
 | test("mojo_public_system_unittests") { | 
 |   deps = [ | 
 |     "//mojo/edk/test:run_all_unittests", | 
 |     "//mojo/public/cpp/system/tests", | 
 |   ] | 
 | } | 
 |  | 
 | test("mojo_public_utility_unittests") { | 
 |   deps = [ | 
 |     "//mojo/edk/test:run_all_unittests", | 
 |     "//mojo/public/cpp/utility/tests", | 
 |   ] | 
 | } | 
 |  | 
 | test("mojo_system_impl_private_unittests") { | 
 |   deps = [ | 
 |     "//mojo/edk/test:run_all_unittests", | 
 |     "//mojo/public/platform/native:system_impl_private_tests", | 
 |   ] | 
 | } |