Home | History | Annotate | Download | only in test
      1 # Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
      2 #
      3 # Use of this source code is governed by a BSD-style license
      4 # that can be found in the LICENSE file in the root of the source
      5 # tree. An additional intellectual property rights grant can be found
      6 # in the file PATENTS.  All contributing project authors may
      7 # be found in the AUTHORS file in the root of the source tree.
      8 
      9 # TODO(andrew): consider moving test_support to src/base/test.
     10 {
     11   'includes': [
     12     '../build/common.gypi',
     13   ],
     14   'targets': [
     15     {
     16       'target_name': 'channel_transport',
     17       'type': 'static_library',
     18       'dependencies': [
     19         '<(DEPTH)/testing/gtest.gyp:gtest',
     20         '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
     21       ],
     22       'sources': [
     23         'channel_transport/channel_transport.cc',
     24         'channel_transport/include/channel_transport.h',
     25         'channel_transport/traffic_control_win.cc',
     26         'channel_transport/traffic_control_win.h',
     27         'channel_transport/udp_socket_manager_posix.cc',
     28         'channel_transport/udp_socket_manager_posix.h',
     29         'channel_transport/udp_socket_manager_wrapper.cc',
     30         'channel_transport/udp_socket_manager_wrapper.h',
     31         'channel_transport/udp_socket_posix.cc',
     32         'channel_transport/udp_socket_posix.h',
     33         'channel_transport/udp_socket_wrapper.cc',
     34         'channel_transport/udp_socket_wrapper.h',
     35         'channel_transport/udp_socket2_manager_win.cc',
     36         'channel_transport/udp_socket2_manager_win.h',
     37         'channel_transport/udp_socket2_win.cc',
     38         'channel_transport/udp_socket2_win.h',
     39         'channel_transport/udp_transport.h',
     40         'channel_transport/udp_transport_impl.cc',
     41         'channel_transport/udp_transport_impl.h',
     42       ],
     43     },
     44     {
     45       'target_name': 'frame_generator',
     46       'type': 'static_library',
     47       'sources': [
     48         'frame_generator.cc',
     49         'frame_generator.h',
     50       ],
     51       'dependencies': [
     52         '<(webrtc_root)/common_video/common_video.gyp:common_video',
     53       ],
     54     },
     55     {
     56       'target_name': 'rtcp_packet_parser',
     57       'type': 'static_library',
     58       'sources': [
     59         'rtcp_packet_parser.cc',
     60         'rtcp_packet_parser.h',
     61       ],
     62       'dependencies': [
     63         '<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
     64       ],
     65     },
     66     {
     67       'target_name': 'field_trial',
     68       'type': 'static_library',
     69       'sources': [
     70         'field_trial.cc',
     71         'field_trial.h',
     72       ],
     73       'dependencies': [
     74         '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
     75       ],
     76     },
     77     {
     78       'target_name': 'test_main',
     79       'type': 'static_library',
     80       'sources': [
     81         'test_main.cc',
     82       ],
     83       'dependencies': [
     84         'field_trial',
     85         '<(DEPTH)/testing/gtest.gyp:gtest',
     86         '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
     87       ],
     88     },
     89     {
     90       'target_name': 'test_support',
     91       'type': 'static_library',
     92       'dependencies': [
     93         '<(DEPTH)/testing/gtest.gyp:gtest',
     94         '<(DEPTH)/testing/gmock.gyp:gmock',
     95         '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
     96       ],
     97       'sources': [
     98         'testsupport/android/root_path_android.cc',
     99         'testsupport/android/root_path_android_chromium.cc',
    100         'testsupport/fileutils.cc',
    101         'testsupport/fileutils.h',
    102         'testsupport/frame_reader.cc',
    103         'testsupport/frame_reader.h',
    104         'testsupport/frame_writer.cc',
    105         'testsupport/frame_writer.h',
    106         'testsupport/gtest_prod_util.h',
    107         'testsupport/gtest_disable.h',
    108         'testsupport/mock/mock_frame_reader.h',
    109         'testsupport/mock/mock_frame_writer.h',
    110         'testsupport/packet_reader.cc',
    111         'testsupport/packet_reader.h',
    112         'testsupport/perf_test.cc',
    113         'testsupport/perf_test.h',
    114         'testsupport/trace_to_stderr.cc',
    115         'testsupport/trace_to_stderr.h',
    116       ],
    117       'conditions': [
    118         ['OS=="android"', {
    119           'dependencies': [
    120             '<(DEPTH)/base/base.gyp:base',
    121           ],
    122           'sources!': [
    123             'testsupport/android/root_path_android.cc',
    124           ],
    125         }, {
    126           'sources!': [
    127             'testsupport/android/root_path_android_chromium.cc',
    128           ],
    129         }],
    130       ],
    131     },
    132     {
    133       # Depend on this target when you want to have test_support but also the
    134       # main method needed for gtest to execute!
    135       'target_name': 'test_support_main',
    136       'type': 'static_library',
    137       'dependencies': [
    138         'field_trial',
    139         'test_support',
    140         '<(DEPTH)/testing/gmock.gyp:gmock',
    141         '<(DEPTH)/testing/gtest.gyp:gtest',
    142         '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
    143       ],
    144       'sources': [
    145         'run_all_unittests.cc',
    146         'test_suite.cc',
    147         'test_suite.h',
    148       ],
    149     },
    150     {
    151       # Depend on this target when you want to have test_support and a special
    152       # main for mac which will run your test on a worker thread and consume
    153       # events on the main thread. Useful if you want to access a webcam.
    154       # This main will provide all the scaffolding and objective-c black magic
    155       # for you. All you need to do is to implement a function in the
    156       # run_threaded_main_mac.h file (ImplementThisToRunYourTest).
    157       'target_name': 'test_support_main_threaded_mac',
    158       'type': 'static_library',
    159       'dependencies': [
    160         'test_support',
    161       ],
    162       'sources': [
    163         'testsupport/mac/run_threaded_main_mac.h',
    164         'testsupport/mac/run_threaded_main_mac.mm',
    165       ],
    166     },
    167     {
    168       'target_name': 'test_support_unittests',
    169       'type': '<(gtest_target_type)',
    170       'dependencies': [
    171         'channel_transport',
    172         'test_support_main',
    173         '<(DEPTH)/testing/gmock.gyp:gmock',
    174         '<(DEPTH)/testing/gtest.gyp:gtest',
    175       ],
    176       'sources': [
    177         'channel_transport/udp_transport_unittest.cc',
    178         'channel_transport/udp_socket_manager_unittest.cc',
    179         'channel_transport/udp_socket_wrapper_unittest.cc',
    180         'testsupport/always_passing_unittest.cc',
    181         'testsupport/unittest_utils.h',
    182         'testsupport/fileutils_unittest.cc',
    183         'testsupport/frame_reader_unittest.cc',
    184         'testsupport/frame_writer_unittest.cc',
    185         'testsupport/packet_reader_unittest.cc',
    186         'testsupport/perf_test_unittest.cc',
    187       ],
    188       # Disable warnings to enable Win64 build, issue 1323.
    189       'msvs_disabled_warnings': [
    190         4267,  # size_t to int truncation.
    191       ],
    192       'conditions': [
    193         ['OS=="android"', {
    194           'dependencies': [
    195             '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
    196           ],
    197         }],
    198       ],
    199     },
    200   ],
    201   'conditions': [
    202     ['include_tests==1 and OS=="android"', {
    203       'targets': [
    204         {
    205           'target_name': 'test_support_unittests_apk_target',
    206           'type': 'none',
    207           'dependencies': [
    208             '<(apk_tests_path):test_support_unittests_apk',
    209           ],
    210         },
    211       ],
    212     }],
    213     ['test_isolation_mode != "noop"', {
    214       'targets': [
    215         {
    216           'target_name': 'test_support_unittests_run',
    217           'type': 'none',
    218           'dependencies': [
    219             'test_support_unittests',
    220           ],
    221           'includes': [
    222             '../build/isolate.gypi',
    223             'test_support_unittests.isolate',
    224           ],
    225           'sources': [
    226             'test_support_unittests.isolate',
    227           ],
    228         },
    229       ],
    230     }],
    231   ],
    232 }
    233