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

{
  'includes': [
    '../mojo_variables.gypi',
  ],
  'targets': [
    {
      'target_name': 'mojo_edk_tests',
      'type': 'none',
      'dependencies': [
        # NOTE: If adding a new dependency here, please consider whether it
        # should also be added to the list of Mojo-related dependencies of
        # build/all.gyp:All on iOS, as All cannot depend on the mojo_base
        # target on iOS due to the presence of the js targets, which cause v8
        # to be built.
        'mojo_message_pipe_perftests',
        'mojo_public_application_unittests',
        'mojo_public_bindings_unittests',
        'mojo_public_environment_unittests',
        'mojo_public_system_perftests',
        'mojo_public_system_unittests',
        'mojo_public_utility_unittests',
        'mojo_system_unittests',
        'mojo_js_unittests',
        'mojo_js_integration_tests',
      ],
    },
    # TODO(vtl): Reorganize the mojo_public_*_unittests.
    {
      # GN version: //mojo/public/cpp/bindings/tests:mojo_public_bindings_unittests
      'target_name': 'mojo_public_bindings_unittests',
      'type': 'executable',
      'dependencies': [
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_run_all_unittests',
        '../public/mojo_public.gyp:mojo_cpp_bindings',
        '../public/mojo_public.gyp:mojo_environment_standalone',
        '../public/mojo_public.gyp:mojo_public_bindings_test_utils',
        '../public/mojo_public.gyp:mojo_public_test_interfaces',
        '../public/mojo_public.gyp:mojo_public_test_utils',
        '../public/mojo_public.gyp:mojo_utility',
      ],
      'sources': [
        '../public/cpp/bindings/tests/array_unittest.cc',
        '../public/cpp/bindings/tests/bounds_checker_unittest.cc',
        '../public/cpp/bindings/tests/buffer_unittest.cc',
        '../public/cpp/bindings/tests/connector_unittest.cc',
        '../public/cpp/bindings/tests/container_test_util.cc',
        '../public/cpp/bindings/tests/equals_unittest.cc',
        '../public/cpp/bindings/tests/handle_passing_unittest.cc',
        '../public/cpp/bindings/tests/interface_ptr_unittest.cc',
        '../public/cpp/bindings/tests/map_unittest.cc',
        '../public/cpp/bindings/tests/request_response_unittest.cc',
        '../public/cpp/bindings/tests/router_unittest.cc',
        '../public/cpp/bindings/tests/sample_service_unittest.cc',
        '../public/cpp/bindings/tests/serialization_warning_unittest.cc',
        '../public/cpp/bindings/tests/string_unittest.cc',
        '../public/cpp/bindings/tests/struct_unittest.cc',
        '../public/cpp/bindings/tests/type_conversion_unittest.cc',
        '../public/cpp/bindings/tests/validation_unittest.cc',
      ],
    },
    {
      # GN version: //mojo/public/cpp/environment/tests:mojo_public_environment_unittests
      'target_name': 'mojo_public_environment_unittests',
      'type': 'executable',
      'dependencies': [
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_run_all_unittests',
        '../public/mojo_public.gyp:mojo_environment_standalone',
        '../public/mojo_public.gyp:mojo_public_test_utils',
        '../public/mojo_public.gyp:mojo_utility',
      ],
      'include_dirs': [ '../..' ],
      'sources': [
        '../public/cpp/environment/tests/async_wait_unittest.cc',
        '../public/cpp/environment/tests/async_waiter_unittest.cc',
        '../public/cpp/environment/tests/logger_unittest.cc',
        '../public/cpp/environment/tests/logging_unittest.cc',
      ],
    },
    {
      # GN version: //mojo/public/cpp/application/tests:mojo_public_application_unittests
      'target_name': 'mojo_public_application_unittests',
      'type': 'executable',
      'dependencies': [
        '../../base/base.gyp:base',
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_run_all_unittests',
        '../public/mojo_public.gyp:mojo_application_standalone',
        '../public/mojo_public.gyp:mojo_utility',
        '../public/mojo_public.gyp:mojo_environment_standalone',
      ],
      'sources': [
        '../public/cpp/application/tests/service_registry_unittest.cc',
      ],
    },
    {
      # GN version: //mojo/public/cpp/system/tests:mojo_public_system_unittests
      # and         //mojo/public/c/system/tests
      'target_name': 'mojo_public_system_unittests',
      'type': 'executable',
      'dependencies': [
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_run_all_unittests',
        '../public/mojo_public.gyp:mojo_public_test_utils',
      ],
      'include_dirs': [ '../..' ],
      'sources': [
        '<@(mojo_public_system_unittest_sources)',
      ],
    },
    {
      # GN version: //mojo/public/cpp/application/tests:mojo_public_utility_unittests
      'target_name': 'mojo_public_utility_unittests',
      'type': 'executable',
      'dependencies': [
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_run_all_unittests',
        '../public/mojo_public.gyp:mojo_public_test_utils',
        '../public/mojo_public.gyp:mojo_utility',
      ],
      'include_dirs': [ '../..' ],
      'sources': [
        '../public/cpp/utility/tests/mutex_unittest.cc',
        '../public/cpp/utility/tests/run_loop_unittest.cc',
        '../public/cpp/utility/tests/thread_unittest.cc',
      ],
      'conditions': [
        # See crbug.com/342893:
        ['OS=="win"', {
          'sources!': [
            '../public/cpp/utility/tests/mutex_unittest.cc',
            '../public/cpp/utility/tests/thread_unittest.cc',
          ],
        }],
      ],
    },
    {
      # GN version: //mojo/public/c/system/tests:perftests
      'target_name': 'mojo_public_system_perftests',
      'type': 'executable',
      'dependencies': [
        '../../base/base.gyp:base',
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_run_all_perftests',
        '../public/mojo_public.gyp:mojo_public_test_utils',
        '../public/mojo_public.gyp:mojo_utility',
      ],
      'sources': [
        '../public/c/system/tests/core_perftest.cc',
      ],
    },
    {
      # GN version: //mojo/edk/system:mojo_system_unittests
      'target_name': 'mojo_system_unittests',
      'type': 'executable',
      'dependencies': [
        '../../base/base.gyp:base',
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_common_test_support',
        'mojo_edk.gyp:mojo_system_impl',
      ],
      'sources': [
        'embedder/embedder_unittest.cc',
        'embedder/platform_channel_pair_posix_unittest.cc',
        'embedder/simple_platform_shared_buffer_unittest.cc',
        'system/channel_endpoint_id_unittest.cc',
        'system/channel_manager_unittest.cc',
        'system/channel_unittest.cc',
        'system/core_unittest.cc',
        'system/core_test_base.cc',
        'system/core_test_base.h',
        'system/data_pipe_unittest.cc',
        'system/dispatcher_unittest.cc',
        'system/local_data_pipe_unittest.cc',
        'system/memory_unittest.cc',
        'system/message_pipe_dispatcher_unittest.cc',
        'system/message_pipe_test_utils.h',
        'system/message_pipe_test_utils.cc',
        'system/message_pipe_unittest.cc',
        'system/multiprocess_message_pipe_unittest.cc',
        'system/options_validation_unittest.cc',
        'system/platform_handle_dispatcher_unittest.cc',
        'system/raw_channel_unittest.cc',
        'system/remote_message_pipe_unittest.cc',
        'system/run_all_unittests.cc',
        'system/shared_buffer_dispatcher_unittest.cc',
        'system/simple_dispatcher_unittest.cc',
        'system/test_utils.cc',
        'system/test_utils.h',
        'system/waiter_list_unittest.cc',
        'system/waiter_test_utils.cc',
        'system/waiter_test_utils.h',
        'system/waiter_unittest.cc',
        'test/multiprocess_test_helper_unittest.cc',
      ],
      'conditions': [
        ['OS=="ios"', {
          'sources!': [
            'embedder/embedder_unittest.cc',
            'system/multiprocess_message_pipe_unittest.cc',
            'test/multiprocess_test_helper_unittest.cc',
          ],
        }],
      ],
    },
    {
      # GN version: //mojo/edk/system:mojo_message_pipe_perftests
      'target_name': 'mojo_message_pipe_perftests',
      'type': 'executable',
      'dependencies': [
        '../../base/base.gyp:base',
        '../../base/base.gyp:test_support_base',
        '../../base/base.gyp:test_support_perf',
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_common_test_support',
        'mojo_edk.gyp:mojo_system_impl',
      ],
      'sources': [
        'system/message_pipe_perftest.cc',
        'system/message_pipe_test_utils.h',
        'system/message_pipe_test_utils.cc',
        'system/test_utils.cc',
        'system/test_utils.h',
      ],
    },
    {
      # GN version: //mojo/edk/js/test:js_unittests
      'target_name': 'mojo_js_unittests',
      'type': 'executable',
      'dependencies': [
        '../../gin/gin.gyp:gin_test',
        'mojo_edk.gyp:mojo_common_test_support',
        'mojo_edk.gyp:mojo_run_all_unittests',
        'mojo_edk.gyp:mojo_js_lib',
        '../public/mojo_public.gyp:mojo_environment_standalone',
        '../public/mojo_public.gyp:mojo_public_test_interfaces',
        '../public/mojo_public.gyp:mojo_utility',
      ],
      'sources': [
        'js/handle_unittest.cc',
        'js/test/run_js_tests.cc',
      ],
    },
    {
      # GN version: //mojo/edk/js/test:js_integration_tests
      'target_name': 'mojo_js_integration_tests',
      'type': 'executable',
      'dependencies': [
        '../../base/base.gyp:base',
        '../../gin/gin.gyp:gin_test',
        '../public/mojo_public.gyp:mojo_environment_standalone',
        '../public/mojo_public.gyp:mojo_public_test_interfaces',
        '../public/mojo_public.gyp:mojo_utility',
        'mojo_edk.gyp:mojo_js_lib',
        'mojo_edk.gyp:mojo_run_all_unittests',
        'mojo_js_to_cpp_bindings',
      ],
      'sources': [
        'js/test/run_js_integration_tests.cc',
        'js/tests/js_to_cpp_tests',
      ],
    },
    {
      'target_name': 'mojo_js_to_cpp_bindings',
      'type': 'none',
      'variables': {
        'mojom_files': [
          'js/tests/js_to_cpp.mojom',
        ],
      },
      'includes': [ '../public/tools/bindings/mojom_bindings_generator_explicit.gypi' ],
    },
  ],
}

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

{
  'includes': [
    '../mojo_variables.gypi',
  ],
  'targets': [
    {
      'target_name': 'mojo_edk_tests',
      'type': 'none',
      'dependencies': [
        # NOTE: If adding a new dependency here, please consider whether it
        # should also be added to the list of Mojo-related dependencies of
        # build/all.gyp:All on iOS, as All cannot depend on the mojo_base
        # target on iOS due to the presence of the js targets, which cause v8
        # to be built.
        'mojo_message_pipe_perftests',
        'mojo_public_application_unittests',
        'mojo_public_bindings_unittests',
        'mojo_public_environment_unittests',
        'mojo_public_system_perftests',
        'mojo_public_system_unittests',
        'mojo_public_utility_unittests',
        'mojo_system_unittests',
        'mojo_js_unittests',
        'mojo_js_integration_tests',
      ],
    },
    # TODO(vtl): Reorganize the mojo_public_*_unittests.
    {
      # GN version: //mojo/public/cpp/bindings/tests:mojo_public_bindings_unittests
      'target_name': 'mojo_public_bindings_unittests',
      'type': 'executable',
      'dependencies': [
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_run_all_unittests',
        '../public/mojo_public.gyp:mojo_cpp_bindings',
        '../public/mojo_public.gyp:mojo_environment_standalone',
        '../public/mojo_public.gyp:mojo_public_bindings_test_utils',
        '../public/mojo_public.gyp:mojo_public_test_interfaces',
        '../public/mojo_public.gyp:mojo_public_test_utils',
        '../public/mojo_public.gyp:mojo_utility',
      ],
      'sources': [
        '../public/cpp/bindings/tests/array_unittest.cc',
        '../public/cpp/bindings/tests/bounds_checker_unittest.cc',
        '../public/cpp/bindings/tests/buffer_unittest.cc',
        '../public/cpp/bindings/tests/connector_unittest.cc',
        '../public/cpp/bindings/tests/container_test_util.cc',
        '../public/cpp/bindings/tests/equals_unittest.cc',
        '../public/cpp/bindings/tests/handle_passing_unittest.cc',
        '../public/cpp/bindings/tests/interface_ptr_unittest.cc',
        '../public/cpp/bindings/tests/map_unittest.cc',
        '../public/cpp/bindings/tests/request_response_unittest.cc',
        '../public/cpp/bindings/tests/router_unittest.cc',
        '../public/cpp/bindings/tests/sample_service_unittest.cc',
        '../public/cpp/bindings/tests/serialization_warning_unittest.cc',
        '../public/cpp/bindings/tests/string_unittest.cc',
        '../public/cpp/bindings/tests/struct_unittest.cc',
        '../public/cpp/bindings/tests/type_conversion_unittest.cc',
        '../public/cpp/bindings/tests/validation_unittest.cc',
      ],
    },
    {
      # GN version: //mojo/public/cpp/environment/tests:mojo_public_environment_unittests
      'target_name': 'mojo_public_environment_unittests',
      'type': 'executable',
      'dependencies': [
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_run_all_unittests',
        '../public/mojo_public.gyp:mojo_environment_standalone',
        '../public/mojo_public.gyp:mojo_public_test_utils',
        '../public/mojo_public.gyp:mojo_utility',
      ],
      'include_dirs': [ '../..' ],
      'sources': [
        '../public/cpp/environment/tests/async_wait_unittest.cc',
        '../public/cpp/environment/tests/async_waiter_unittest.cc',
        '../public/cpp/environment/tests/logger_unittest.cc',
        '../public/cpp/environment/tests/logging_unittest.cc',
      ],
    },
    {
      # GN version: //mojo/public/cpp/application/tests:mojo_public_application_unittests
      'target_name': 'mojo_public_application_unittests',
      'type': 'executable',
      'dependencies': [
        '../../base/base.gyp:base',
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_run_all_unittests',
        '../public/mojo_public.gyp:mojo_application_standalone',
        '../public/mojo_public.gyp:mojo_utility',
        '../public/mojo_public.gyp:mojo_environment_standalone',
      ],
      'sources': [
        '../public/cpp/application/tests/service_registry_unittest.cc',
      ],
    },
    {
      # GN version: //mojo/public/cpp/system/tests:mojo_public_system_unittests
      # and         //mojo/public/c/system/tests
      'target_name': 'mojo_public_system_unittests',
      'type': 'executable',
      'dependencies': [
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_run_all_unittests',
        '../public/mojo_public.gyp:mojo_public_test_utils',
      ],
      'include_dirs': [ '../..' ],
      'sources': [
        '<@(mojo_public_system_unittest_sources)',
      ],
    },
    {
      # GN version: //mojo/public/cpp/application/tests:mojo_public_utility_unittests
      'target_name': 'mojo_public_utility_unittests',
      'type': 'executable',
      'dependencies': [
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_run_all_unittests',
        '../public/mojo_public.gyp:mojo_public_test_utils',
        '../public/mojo_public.gyp:mojo_utility',
      ],
      'include_dirs': [ '../..' ],
      'sources': [
        '../public/cpp/utility/tests/mutex_unittest.cc',
        '../public/cpp/utility/tests/run_loop_unittest.cc',
        '../public/cpp/utility/tests/thread_unittest.cc',
      ],
      'conditions': [
        # See crbug.com/342893:
        ['OS=="win"', {
          'sources!': [
            '../public/cpp/utility/tests/mutex_unittest.cc',
            '../public/cpp/utility/tests/thread_unittest.cc',
          ],
        }],
      ],
    },
    {
      # GN version: //mojo/public/c/system/tests:perftests
      'target_name': 'mojo_public_system_perftests',
      'type': 'executable',
      'dependencies': [
        '../../base/base.gyp:base',
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_run_all_perftests',
        '../public/mojo_public.gyp:mojo_public_test_utils',
        '../public/mojo_public.gyp:mojo_utility',
      ],
      'sources': [
        '../public/c/system/tests/core_perftest.cc',
      ],
    },
    {
      # GN version: //mojo/edk/system:mojo_system_unittests
      'target_name': 'mojo_system_unittests',
      'type': 'executable',
      'dependencies': [
        '../../base/base.gyp:base',
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_common_test_support',
        'mojo_edk.gyp:mojo_system_impl',
      ],
      'sources': [
        'embedder/embedder_unittest.cc',
        'embedder/platform_channel_pair_posix_unittest.cc',
        'embedder/simple_platform_shared_buffer_unittest.cc',
        'system/channel_endpoint_id_unittest.cc',
        'system/channel_manager_unittest.cc',
        'system/channel_unittest.cc',
        'system/core_unittest.cc',
        'system/core_test_base.cc',
        'system/core_test_base.h',
        'system/data_pipe_unittest.cc',
        'system/dispatcher_unittest.cc',
        'system/local_data_pipe_unittest.cc',
        'system/memory_unittest.cc',
        'system/message_pipe_dispatcher_unittest.cc',
        'system/message_pipe_test_utils.h',
        'system/message_pipe_test_utils.cc',
        'system/message_pipe_unittest.cc',
        'system/multiprocess_message_pipe_unittest.cc',
        'system/options_validation_unittest.cc',
        'system/platform_handle_dispatcher_unittest.cc',
        'system/raw_channel_unittest.cc',
        'system/remote_message_pipe_unittest.cc',
        'system/run_all_unittests.cc',
        'system/shared_buffer_dispatcher_unittest.cc',
        'system/simple_dispatcher_unittest.cc',
        'system/test_utils.cc',
        'system/test_utils.h',
        'system/waiter_list_unittest.cc',
        'system/waiter_test_utils.cc',
        'system/waiter_test_utils.h',
        'system/waiter_unittest.cc',
        'test/multiprocess_test_helper_unittest.cc',
      ],
      'conditions': [
        ['OS=="ios"', {
          'sources!': [
            'embedder/embedder_unittest.cc',
            'system/multiprocess_message_pipe_unittest.cc',
            'test/multiprocess_test_helper_unittest.cc',
          ],
        }],
      ],
    },
    {
      # GN version: //mojo/edk/system:mojo_message_pipe_perftests
      'target_name': 'mojo_message_pipe_perftests',
      'type': 'executable',
      'dependencies': [
        '../../base/base.gyp:base',
        '../../base/base.gyp:test_support_base',
        '../../base/base.gyp:test_support_perf',
        '../../testing/gtest.gyp:gtest',
        'mojo_edk.gyp:mojo_common_test_support',
        'mojo_edk.gyp:mojo_system_impl',
      ],
      'sources': [
        'system/message_pipe_perftest.cc',
        'system/message_pipe_test_utils.h',
        'system/message_pipe_test_utils.cc',
        'system/test_utils.cc',
        'system/test_utils.h',
      ],
    },
    {
      # GN version: //mojo/edk/js/test:js_unittests
      'target_name': 'mojo_js_unittests',
      'type': 'executable',
      'dependencies': [
        '../../gin/gin.gyp:gin_test',
        'mojo_edk.gyp:mojo_common_test_support',
        'mojo_edk.gyp:mojo_run_all_unittests',
        'mojo_edk.gyp:mojo_js_lib',
        '../public/mojo_public.gyp:mojo_environment_standalone',
        '../public/mojo_public.gyp:mojo_public_test_interfaces',
        '../public/mojo_public.gyp:mojo_utility',
      ],
      'sources': [
        'js/handle_unittest.cc',
        'js/test/run_js_tests.cc',
      ],
    },
    {
      # GN version: //mojo/edk/js/test:js_integration_tests
      'target_name': 'mojo_js_integration_tests',
      'type': 'executable',
      'dependencies': [
        '../../base/base.gyp:base',
        '../../gin/gin.gyp:gin_test',
        '../public/mojo_public.gyp:mojo_environment_standalone',
        '../public/mojo_public.gyp:mojo_public_test_interfaces',
        '../public/mojo_public.gyp:mojo_utility',
        'mojo_edk.gyp:mojo_js_lib',
        'mojo_edk.gyp:mojo_run_all_unittests',
        'mojo_js_to_cpp_bindings',
      ],
      'sources': [
        'js/test/run_js_integration_tests.cc',
        'js/tests/js_to_cpp_tests',
      ],
    },
    {
      'target_name': 'mojo_js_to_cpp_bindings',
      'type': 'none',
      'variables': {
        'mojom_files': [
          'js/tests/js_to_cpp.mojom',
        ],
      },
      'includes': [ '../public/tools/bindings/mojom_bindings_generator_explicit.gypi' ],
    },
  ],
}

# 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. # NOTE: If adding a new dependency here, please consider whether it # should also be added to the list of Mojo-related dependencies of # build/all.gyp:All on iOS, as All cannot depend on the mojo_base # target on iOS due to the presence of the js targets, which cause v8 # to be built. # TODO(vtl): Reorganize the mojo_public_*_unittests. # GN version: //mojo/public/cpp/bindings/tests:mojo_public_bindings_unittests # GN version: //mojo/public/cpp/environment/tests:mojo_public_environment_unittests # GN version: //mojo/public/cpp/application/tests:mojo_public_application_unittests # GN version: //mojo/public/cpp/system/tests:mojo_public_system_unittests # and         //mojo/public/c/system/tests # GN version: //mojo/public/cpp/application/tests:mojo_public_utility_unittests # See crbug.com/342893: # GN version: //mojo/public/c/system/tests:perftests # GN version: //mojo/edk/system:mojo_system_unittests # GN version: //mojo/edk/system:mojo_message_pipe_perftests # GN version: //mojo/edk/js/test:js_unittests # GN version: //mojo/edk/js/test:js_integration_tests