# Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. # # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file in the root of the source # tree. An additional intellectual property rights grant can be found # in the file PATENTS. All contributing project authors may # be found in the AUTHORS file in the root of the source tree. # TODO(andrew): consider moving test_support to src/base/test. { 'includes': [ '../build/common.gypi', ], 'targets': [ { 'target_name': 'channel_transport', 'type': 'static_library', 'dependencies': [ '<(DEPTH)/testing/gtest.gyp:gtest', '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', ], 'sources': [ 'channel_transport/channel_transport.cc', 'channel_transport/include/channel_transport.h', 'channel_transport/traffic_control_win.cc', 'channel_transport/traffic_control_win.h', 'channel_transport/udp_socket_manager_posix.cc', 'channel_transport/udp_socket_manager_posix.h', 'channel_transport/udp_socket_manager_wrapper.cc', 'channel_transport/udp_socket_manager_wrapper.h', 'channel_transport/udp_socket_posix.cc', 'channel_transport/udp_socket_posix.h', 'channel_transport/udp_socket_wrapper.cc', 'channel_transport/udp_socket_wrapper.h', 'channel_transport/udp_socket2_manager_win.cc', 'channel_transport/udp_socket2_manager_win.h', 'channel_transport/udp_socket2_win.cc', 'channel_transport/udp_socket2_win.h', 'channel_transport/udp_transport.h', 'channel_transport/udp_transport_impl.cc', 'channel_transport/udp_transport_impl.h', ], }, { 'target_name': 'frame_generator', 'type': 'static_library', 'sources': [ 'frame_generator.cc', 'frame_generator.h', ], 'dependencies': [ '<(webrtc_root)/common_video/common_video.gyp:common_video', ], }, { 'target_name': 'rtcp_packet_parser', 'type': 'static_library', 'sources': [ 'rtcp_packet_parser.cc', 'rtcp_packet_parser.h', ], 'dependencies': [ '<(webrtc_root)/modules/modules.gyp:rtp_rtcp', ], }, { 'target_name': 'field_trial', 'type': 'static_library', 'sources': [ 'field_trial.cc', 'field_trial.h', ], 'dependencies': [ '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', ], }, { 'target_name': 'test_main', 'type': 'static_library', 'sources': [ 'test_main.cc', ], 'dependencies': [ 'field_trial', '<(DEPTH)/testing/gtest.gyp:gtest', '<(DEPTH)/third_party/gflags/gflags.gyp:gflags', ], }, { 'target_name': 'test_support', 'type': 'static_library', 'dependencies': [ '<(DEPTH)/testing/gtest.gyp:gtest', '<(DEPTH)/testing/gmock.gyp:gmock', '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', ], 'sources': [ 'testsupport/android/root_path_android.cc', 'testsupport/android/root_path_android_chromium.cc', 'testsupport/fileutils.cc', 'testsupport/fileutils.h', 'testsupport/frame_reader.cc', 'testsupport/frame_reader.h', 'testsupport/frame_writer.cc', 'testsupport/frame_writer.h', 'testsupport/gtest_prod_util.h', 'testsupport/gtest_disable.h', 'testsupport/mock/mock_frame_reader.h', 'testsupport/mock/mock_frame_writer.h', 'testsupport/packet_reader.cc', 'testsupport/packet_reader.h', 'testsupport/perf_test.cc', 'testsupport/perf_test.h', 'testsupport/trace_to_stderr.cc', 'testsupport/trace_to_stderr.h', ], 'conditions': [ ['OS=="android"', { 'dependencies': [ '<(DEPTH)/base/base.gyp:base', ], 'sources!': [ 'testsupport/android/root_path_android.cc', ], }, { 'sources!': [ 'testsupport/android/root_path_android_chromium.cc', ], }], ], }, { # Depend on this target when you want to have test_support but also the # main method needed for gtest to execute! 'target_name': 'test_support_main', 'type': 'static_library', 'dependencies': [ 'field_trial', 'test_support', '<(DEPTH)/testing/gmock.gyp:gmock', '<(DEPTH)/testing/gtest.gyp:gtest', '<(DEPTH)/third_party/gflags/gflags.gyp:gflags', ], 'sources': [ 'run_all_unittests.cc', 'test_suite.cc', 'test_suite.h', ], }, { # Depend on this target when you want to have test_support and a special # main for mac which will run your test on a worker thread and consume # events on the main thread. Useful if you want to access a webcam. # This main will provide all the scaffolding and objective-c black magic # for you. All you need to do is to implement a function in the # run_threaded_main_mac.h file (ImplementThisToRunYourTest). 'target_name': 'test_support_main_threaded_mac', 'type': 'static_library', 'dependencies': [ 'test_support', ], 'sources': [ 'testsupport/mac/run_threaded_main_mac.h', 'testsupport/mac/run_threaded_main_mac.mm', ], }, { 'target_name': 'test_support_unittests', 'type': '<(gtest_target_type)', 'dependencies': [ 'channel_transport', 'test_support_main', '<(DEPTH)/testing/gmock.gyp:gmock', '<(DEPTH)/testing/gtest.gyp:gtest', ], 'sources': [ 'channel_transport/udp_transport_unittest.cc', 'channel_transport/udp_socket_manager_unittest.cc', 'channel_transport/udp_socket_wrapper_unittest.cc', 'testsupport/always_passing_unittest.cc', 'testsupport/unittest_utils.h', 'testsupport/fileutils_unittest.cc', 'testsupport/frame_reader_unittest.cc', 'testsupport/frame_writer_unittest.cc', 'testsupport/packet_reader_unittest.cc', 'testsupport/perf_test_unittest.cc', ], # Disable warnings to enable Win64 build, issue 1323. 'msvs_disabled_warnings': [ 4267, # size_t to int truncation. ], 'conditions': [ ['OS=="android"', { 'dependencies': [ '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code', ], }], ], }, ], 'conditions': [ ['include_tests==1 and OS=="android"', { 'targets': [ { 'target_name': 'test_support_unittests_apk_target', 'type': 'none', 'dependencies': [ '<(apk_tests_path):test_support_unittests_apk', ], }, ], }], ['test_isolation_mode != "noop"', { 'targets': [ { 'target_name': 'test_support_unittests_run', 'type': 'none', 'dependencies': [ 'test_support_unittests', ], 'includes': [ '../build/isolate.gypi', 'test_support_unittests.isolate', ], 'sources': [ 'test_support_unittests.isolate', ], }, ], }], ], }