blob: 51fb63df41ab2db4ad6a92507469f05a5a0a488b [file] [log] [blame]
# 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/mock_datachannel.h',
'test/mock_peerconnection.h',
'test/mock_webrtcsession.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
}