Home | History | Annotate | Download | only in webrtc
      1 # Copyright (c) 2013 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   'targets': [
     10     {
     11       'target_name': 'rtc_unittests',
     12       'type': '<(gtest_target_type)',
     13       'dependencies': [
     14         'base/base.gyp:rtc_base',
     15         'base/base_tests.gyp:rtc_base_tests_utils',
     16         'base/base_tests.gyp:rtc_base_tests',
     17         'libjingle/xmllite/xmllite.gyp:rtc_xmllite',
     18         'libjingle/xmpp/xmpp.gyp:rtc_xmpp',
     19         'p2p/p2p.gyp:rtc_p2p',
     20         'p2p/p2p.gyp:libstunprober',
     21         'rtc_p2p_unittest',
     22         'rtc_sound_tests',
     23         'rtc_xmllite_unittest',
     24         'rtc_xmpp_unittest',
     25         'sound/sound.gyp:rtc_sound',
     26         '<(DEPTH)/testing/gtest.gyp:gtest',
     27         '<(DEPTH)/testing/gmock.gyp:gmock',
     28       ],
     29       'conditions': [
     30         ['OS=="android"', {
     31           'dependencies': [
     32             '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
     33           ],
     34         }],
     35         ['OS=="ios"', {
     36           'dependencies': [
     37             'api/api_tests.gyp:rtc_api_objc_test',
     38           ]
     39         }]
     40       ],
     41     },
     42     {
     43       'target_name': 'webrtc_tests',
     44       'type': 'none',
     45       'dependencies': [
     46         'video_engine_tests',
     47         'video_loopback',
     48         'video_replay',
     49         'webrtc_perf_tests',
     50         'webrtc_nonparallel_tests',
     51       ],
     52     },
     53     {
     54       'target_name': 'video_quality_test',
     55       'type': 'static_library',
     56       'sources': [
     57         'video/video_quality_test.cc',
     58         'video/video_quality_test.h',
     59       ],
     60       'dependencies': [
     61         '<(DEPTH)/testing/gtest.gyp:gtest',
     62         '<(webrtc_root)/modules/modules.gyp:video_render',
     63         '<(webrtc_root)/modules/modules.gyp:video_capture_module_internal_impl',
     64         '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
     65         'webrtc',
     66       ],
     67       'conditions': [
     68         ['OS=="android"', {
     69           'dependencies!': [
     70             '<(webrtc_root)/modules/modules.gyp:video_capture_module_internal_impl',
     71           ],
     72         }],
     73       ],
     74     },
     75     {
     76       'target_name': 'video_loopback',
     77       'type': 'executable',
     78       'sources': [
     79         'test/mac/run_test.mm',
     80         'test/run_test.cc',
     81         'test/run_test.h',
     82         'video/video_loopback.cc',
     83       ],
     84       'conditions': [
     85         ['OS=="mac"', {
     86           'sources!': [
     87             'test/run_test.cc',
     88           ],
     89         }],
     90       ],
     91       'dependencies': [
     92         'video_quality_test',
     93         '<(DEPTH)/testing/gtest.gyp:gtest',
     94         '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
     95         'test/webrtc_test_common.gyp:webrtc_test_common',
     96         'test/webrtc_test_common.gyp:webrtc_test_renderer',
     97         'test/test.gyp:test_main',
     98         'webrtc',
     99       ],
    100     },
    101     {
    102       'target_name': 'screenshare_loopback',
    103       'type': 'executable',
    104       'sources': [
    105         'test/mac/run_test.mm',
    106         'test/run_test.cc',
    107         'test/run_test.h',
    108         'video/screenshare_loopback.cc',
    109       ],
    110       'conditions': [
    111         ['OS=="mac"', {
    112           'sources!': [
    113             'test/run_test.cc',
    114           ],
    115         }],
    116       ],
    117       'dependencies': [
    118         'video_quality_test',
    119         '<(DEPTH)/testing/gtest.gyp:gtest',
    120         '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
    121         'test/webrtc_test_common.gyp:webrtc_test_common',
    122         'test/webrtc_test_common.gyp:webrtc_test_renderer',
    123         'test/test.gyp:test_main',
    124         'webrtc',
    125       ],
    126     },
    127     {
    128       'target_name': 'video_replay',
    129       'type': 'executable',
    130       'sources': [
    131         'test/mac/run_test.mm',
    132         'test/run_test.cc',
    133         'test/run_test.h',
    134         'video/replay.cc',
    135       ],
    136       'conditions': [
    137         ['OS=="mac"', {
    138           'sources!': [
    139             'test/run_test.cc',
    140           ],
    141         }],
    142       ],
    143       'dependencies': [
    144         '<(DEPTH)/testing/gtest.gyp:gtest',
    145         '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
    146         'test/webrtc_test_common.gyp:webrtc_test_common',
    147         'test/webrtc_test_common.gyp:webrtc_test_renderer',
    148         '<(webrtc_root)/modules/modules.gyp:video_capture',
    149         '<(webrtc_root)/modules/modules.gyp:video_render',
    150         '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
    151         'webrtc',
    152       ],
    153     },
    154     {
    155       # TODO(solenberg): Rename to webrtc_call_tests.
    156       'target_name': 'video_engine_tests',
    157       'type': '<(gtest_target_type)',
    158       'sources': [
    159         'audio/audio_receive_stream_unittest.cc',
    160         'audio/audio_send_stream_unittest.cc',
    161         'audio/audio_state_unittest.cc',
    162         'call/bitrate_allocator_unittest.cc',
    163         'call/bitrate_estimator_tests.cc',
    164         'call/call_unittest.cc',
    165         'call/packet_injection_tests.cc',
    166         'test/common_unittest.cc',
    167         'test/testsupport/metrics/video_metrics_unittest.cc',
    168         'video/call_stats_unittest.cc',
    169         'video/encoder_state_feedback_unittest.cc',
    170         'video/end_to_end_tests.cc',
    171         'video/overuse_frame_detector_unittest.cc',
    172         'video/payload_router_unittest.cc',
    173         'video/report_block_stats_unittest.cc',
    174         'video/send_statistics_proxy_unittest.cc',
    175         'video/stream_synchronization_unittest.cc',
    176         'video/video_capture_input_unittest.cc',
    177         'video/video_decoder_unittest.cc',
    178         'video/video_encoder_unittest.cc',
    179         'video/video_send_stream_tests.cc',
    180         'video/vie_codec_unittest.cc',
    181         'video/vie_remb_unittest.cc',
    182       ],
    183       'dependencies': [
    184         '<(DEPTH)/testing/gmock.gyp:gmock',
    185         '<(DEPTH)/testing/gtest.gyp:gtest',
    186         '<(webrtc_root)/common.gyp:webrtc_common',
    187         '<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
    188         '<(webrtc_root)/modules/modules.gyp:video_capture',
    189         '<(webrtc_root)/modules/modules.gyp:video_render',
    190         '<(webrtc_root)/test/test.gyp:channel_transport',
    191         '<(webrtc_root)/voice_engine/voice_engine.gyp:voice_engine',
    192         'test/metrics.gyp:metrics',
    193         'test/test.gyp:test_main',
    194         'test/webrtc_test_common.gyp:webrtc_test_common',
    195         'webrtc',
    196       ],
    197       'conditions': [
    198         ['OS=="android"', {
    199           'dependencies': [
    200             '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
    201           ],
    202         }],
    203         ['enable_protobuf==1', {
    204           'defines': [
    205             'ENABLE_RTC_EVENT_LOG',
    206           ],
    207           'dependencies': [
    208             'webrtc.gyp:rtc_event_log',
    209             'webrtc.gyp:rtc_event_log_proto',
    210           ],
    211           'sources': [
    212             'call/rtc_event_log_unittest.cc',
    213           ],
    214         }],
    215       ],
    216     },
    217     {
    218       'target_name': 'webrtc_perf_tests',
    219       'type': '<(gtest_target_type)',
    220       'sources': [
    221         'call/call_perf_tests.cc',
    222         'call/rampup_tests.cc',
    223         'call/rampup_tests.h',
    224         'modules/audio_coding/neteq/test/neteq_performance_unittest.cc',
    225         'modules/audio_processing/audio_processing_performance_unittest.cc',
    226         'modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc',
    227         'video/full_stack.cc',
    228       ],
    229       'dependencies': [
    230         '<(DEPTH)/testing/gmock.gyp:gmock',
    231         '<(DEPTH)/testing/gtest.gyp:gtest',
    232         '<(webrtc_root)/modules/modules.gyp:audio_processing',
    233         '<(webrtc_root)/modules/modules.gyp:audioproc_test_utils',
    234         '<(webrtc_root)/modules/modules.gyp:video_capture',
    235         '<(webrtc_root)/test/test.gyp:channel_transport',
    236         '<(webrtc_root)/voice_engine/voice_engine.gyp:voice_engine',
    237         'video_quality_test',
    238         'modules/modules.gyp:neteq_test_support',
    239         'modules/modules.gyp:bwe_simulator',
    240         'modules/modules.gyp:rtp_rtcp',
    241         'test/test.gyp:test_main',
    242         'test/webrtc_test_common.gyp:webrtc_test_common',
    243         'test/webrtc_test_common.gyp:webrtc_test_renderer',
    244         'webrtc',
    245       ],
    246       'conditions': [
    247         ['OS=="android"', {
    248           'dependencies': [
    249             '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
    250           ],
    251         }],
    252       ],
    253     },
    254     {
    255       'target_name': 'webrtc_nonparallel_tests',
    256       'type': '<(gtest_target_type)',
    257       'sources': [
    258         'base/nullsocketserver_unittest.cc',
    259         'base/physicalsocketserver_unittest.cc',
    260         'base/socket_unittest.cc',
    261         'base/socket_unittest.h',
    262         'base/socketaddress_unittest.cc',
    263         'base/virtualsocket_unittest.cc',
    264       ],
    265       'defines': [
    266         'GTEST_RELATIVE_PATH',
    267       ],
    268       'dependencies': [
    269         '<(DEPTH)/testing/gtest.gyp:gtest',
    270         'base/base.gyp:rtc_base',
    271         'test/test.gyp:test_main',
    272       ],
    273       'conditions': [
    274         ['OS=="android"', {
    275           'dependencies': [
    276             '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
    277           ],
    278         }],
    279         ['OS=="win"', {
    280           'sources': [
    281             'base/win32socketserver_unittest.cc',
    282           ],
    283           'sources!': [
    284             # TODO(ronghuawu): Fix TestUdpReadyToSendIPv6 on windows bot
    285             # then reenable these tests.
    286             # TODO(pbos): Move test disabling to ifdefs within the test files
    287             # instead of here.
    288             'base/physicalsocketserver_unittest.cc',
    289             'base/socket_unittest.cc',
    290             'base/win32socketserver_unittest.cc',
    291           ],
    292         }],
    293         ['OS=="mac"', {
    294           'sources': [
    295             'base/macsocketserver_unittest.cc',
    296           ],
    297         }],
    298         ['OS=="ios" or (OS=="mac" and target_arch!="ia32")', {
    299           'defines': [
    300             'CARBON_DEPRECATED=YES',
    301           ],
    302         }],
    303       ],
    304     },
    305   ],
    306   'conditions': [
    307     ['OS=="android"', {
    308       'targets': [
    309         {
    310           'target_name': 'rtc_unittests_apk_target',
    311           'type': 'none',
    312           'dependencies': [
    313             '<(apk_tests_path):rtc_unittests_apk',
    314           ],
    315         },
    316         {
    317           'target_name': 'video_engine_tests_apk_target',
    318           'type': 'none',
    319           'dependencies': [
    320             '<(apk_tests_path):video_engine_tests_apk',
    321           ],
    322         },
    323         {
    324           'target_name': 'webrtc_perf_tests_apk_target',
    325           'type': 'none',
    326           'dependencies': [
    327             '<(apk_tests_path):webrtc_perf_tests_apk',
    328           ],
    329         },
    330         {
    331           'target_name': 'webrtc_nonparallel_tests_apk_target',
    332           'type': 'none',
    333           'dependencies': [
    334             '<(apk_tests_path):webrtc_nonparallel_tests_apk',
    335           ],
    336         },
    337       ],
    338     }],
    339     ['test_isolation_mode != "noop"', {
    340       'targets': [
    341         {
    342           'target_name': 'rtc_unittests_run',
    343           'type': 'none',
    344           'dependencies': [
    345             'rtc_unittests',
    346           ],
    347           'includes': [
    348             'build/isolate.gypi',
    349           ],
    350           'sources': [
    351             'rtc_unittests.isolate',
    352           ],
    353         },
    354         {
    355           'target_name': 'video_engine_tests_run',
    356           'type': 'none',
    357           'dependencies': [
    358             'video_engine_tests',
    359           ],
    360           'includes': [
    361             'build/isolate.gypi',
    362           ],
    363           'sources': [
    364             'video_engine_tests.isolate',
    365           ],
    366         },
    367         {
    368           'target_name': 'webrtc_nonparallel_tests_run',
    369           'type': 'none',
    370           'dependencies': [
    371             'webrtc_nonparallel_tests',
    372           ],
    373           'includes': [
    374             'build/isolate.gypi',
    375           ],
    376           'sources': [
    377             'webrtc_nonparallel_tests.isolate',
    378           ],
    379         },
    380         {
    381           'target_name': 'webrtc_perf_tests_run',
    382           'type': 'none',
    383           'dependencies': [
    384             'webrtc_perf_tests',
    385           ],
    386           'includes': [
    387             'build/isolate.gypi',
    388           ],
    389           'sources': [
    390             'webrtc_perf_tests.isolate',
    391           ],
    392         },
    393       ],
    394     }],
    395   ],
    396 }
    397