# Copyright (c) 2015 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. { 'includes': [ '../build/common.gypi', ], 'targets': [ { 'target_name': 'peerconnection_unittests', 'type': '<(gtest_target_type)', 'dependencies': [ '<(DEPTH)/testing/gmock.gyp:gmock', '<(webrtc_root)/api/api.gyp:libjingle_peerconnection', '<(webrtc_root)/base/base_tests.gyp:rtc_base_tests_utils', '<(webrtc_root)/common.gyp:webrtc_common', '<(webrtc_root)/media/media.gyp:rtc_unittest_main', '<(webrtc_root)/pc/pc.gyp:rtc_pc', '<(webrtc_root)/system_wrappers/system_wrappers.gyp:metrics_default', ], 'defines': [ # Feature selection. 'HAVE_SCTP', ], 'sources': [ 'datachannel_unittest.cc', 'dtmfsender_unittest.cc', 'fakemetricsobserver.cc', 'fakemetricsobserver.h', 'jsepsessiondescription_unittest.cc', 'localaudiosource_unittest.cc', 'mediaconstraintsinterface_unittest.cc', 'mediastream_unittest.cc', 'peerconnection_unittest.cc', 'peerconnectionendtoend_unittest.cc', 'peerconnectionfactory_unittest.cc', 'peerconnectioninterface_unittest.cc', 'proxy_unittest.cc', 'rtpsenderreceiver_unittest.cc', 'statscollector_unittest.cc', 'test/fakeaudiocapturemodule.cc', 'test/fakeaudiocapturemodule.h', 'test/fakeaudiocapturemodule_unittest.cc', 'test/fakeconstraints.h', 'test/fakedatachannelprovider.h', 'test/fakeperiodicvideocapturer.h', 'test/fakertccertificategenerator.h', 'test/fakevideotrackrenderer.h', 'test/mockpeerconnectionobservers.h', 'test/peerconnectiontestwrapper.h', 'test/peerconnectiontestwrapper.cc', 'test/testsdpstrings.h', 'videocapturertracksource_unittest.cc', 'videotrack_unittest.cc', 'webrtcsdp_unittest.cc', 'webrtcsession_unittest.cc', ], # TODO(kjellander): Make the code compile without disabling these flags. # See https://bugs.chromium.org/p/webrtc/issues/detail?id=3307 'cflags': [ '-Wno-sign-compare', ], 'cflags!': [ '-Wextra', ], 'cflags_cc!': [ '-Woverloaded-virtual', ], 'msvs_disabled_warnings': [ 4245, # conversion from 'int' to 'size_t', signed/unsigned mismatch. 4267, # conversion from 'size_t' to 'int', possible loss of data. 4389, # signed/unsigned mismatch. ], 'conditions': [ ['clang==1', { # TODO(kjellander): Make the code compile without disabling these flags. # See https://bugs.chromium.org/p/webrtc/issues/detail?id=3307 'cflags!': [ '-Wextra', ], 'xcode_settings': { 'WARNING_CFLAGS!': ['-Wextra'], }, }], ['OS=="android"', { 'sources': [ 'test/androidtestinitializer.cc', 'test/androidtestinitializer.h', ], 'dependencies': [ '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code', '<(webrtc_root)/api/api.gyp:libjingle_peerconnection_jni', ], }], ['OS=="win" and clang==1', { 'msvs_settings': { 'VCCLCompilerTool': { 'AdditionalOptions': [ # Disable warnings failing when compiling with Clang on Windows. # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366 '-Wno-sign-compare', '-Wno-unused-function', ], }, }, }], ['use_quic==1', { 'dependencies': [ '<(DEPTH)/third_party/libquic/libquic.gyp:libquic', ], 'sources': [ 'quicdatachannel_unittest.cc', 'quicdatatransport_unittest.cc', ], 'export_dependent_settings': [ '<(DEPTH)/third_party/libquic/libquic.gyp:libquic', ], }], ], # conditions }, # target peerconnection_unittests ], # targets 'conditions': [ ['OS=="android"', { 'targets': [ { 'target_name': 'libjingle_peerconnection_android_unittest', 'type': 'none', 'dependencies': [ '<(webrtc_root)/api/api_java.gyp:libjingle_peerconnection_java', ], 'variables': { 'apk_name': 'libjingle_peerconnection_android_unittest', 'java_in_dir': 'androidtests', 'resource_dir': 'androidtests/res', 'native_lib_target': 'libjingle_peerconnection_so', 'is_test_apk': 1, 'test_type': 'instrumentation', 'tested_apk_path': '', 'never_lint': 1, }, 'includes': [ '../../build/java_apk.gypi', '../../build/android/test_runner.gypi', ], }, ], # targets }], # OS=="android" ['OS=="android"', { 'targets': [ { 'target_name': 'peerconnection_unittests_apk_target', 'type': 'none', 'dependencies': [ '<(android_tests_path):peerconnection_unittests_apk', ], }, ], 'conditions': [ ['test_isolation_mode != "noop"', { 'targets': [ { 'target_name': 'peerconnection_unittests_apk_run', 'type': 'none', 'dependencies': [ '<(android_tests_path):peerconnection_unittests_apk', ], 'includes': [ '../build/isolate.gypi', ], 'sources': [ 'peerconnection_unittests_apk.isolate', ], }, ] } ], ], }], # OS=="android" ['test_isolation_mode != "noop"', { 'targets': [ { 'target_name': 'peerconnection_unittests_run', 'type': 'none', 'dependencies': [ 'peerconnection_unittests', ], 'includes': [ '../build/isolate.gypi', ], 'sources': [ 'peerconnection_unittests.isolate', ], }, ], # targets }], # test_isolation_mode != "noop" ], # conditions }