webrtc_m130/webrtc/api/api_tests.gyp
mikescarlett 9bc517f123 Add QuicDataChannel and QuicDataTransport classes
QuicDataChannel implements DataChannelInterface. It
replaces SCTP data channels by using a QuicTransportChannel
to create a ReliableQuicStream for each message.
QuicDataChannel only implements unordered, reliable delivery
for the initial implementation and does not send a hello message.

QuicDataTransport is a helper class that dispatches each incoming
ReliableQuicStream to a QuicDataChannel when the remote
peer receives a message by parsing the data channel id and message id
from the message header. It is also responsible for encoding the header
before QuicDataChannel sends the message.

Split from CL https://codereview.chromium.org/1844803002/.

BUG=

Review-Url: https://codereview.webrtc.org/1886623002
Cr-Commit-Position: refs/heads/master@{#12574}
2016-04-30 01:31:03 +00:00

208 lines
6.7 KiB
Python

# 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',
],
'direct_dependent_settings': {
'include_dirs': [
'<(DEPTH)/testing/gmock/include',
],
},
'defines': [
# Feature selection.
'HAVE_SCTP',
],
'sources': [
'datachannel_unittest.cc',
'dtlsidentitystore_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/fakedtlsidentitystore.h',
'test/fakeperiodicvideocapturer.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!': [
'-Wnon-virtual-dtor',
'-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.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': [
'<(apk_tests_path):peerconnection_unittests_apk',
],
},
],
'conditions': [
['test_isolation_mode != "noop"',
{
'targets': [
{
'target_name': 'peerconnection_unittests_apk_run',
'type': 'none',
'dependencies': [
'<(apk_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
}