| Index: talk/app/webrtc/peerconnection_unittest.cc | 
| diff --git a/talk/app/webrtc/peerconnection_unittest.cc b/talk/app/webrtc/peerconnection_unittest.cc | 
| index 175996511ea033c5c2da0c23289612232f58ad5a..605e1a5e1f91f83701f17a8cd3e6a63c9a5bd1a7 100644 | 
| --- a/talk/app/webrtc/peerconnection_unittest.cc | 
| +++ b/talk/app/webrtc/peerconnection_unittest.cc | 
| @@ -908,11 +908,9 @@ class PeerConnectionTestClient : public webrtc::PeerConnectionObserver, | 
| rtc::scoped_ptr<MockDataChannelObserver> data_observer_; | 
| }; | 
|  | 
| -// TODO(deadbeef): Rename this to P2PTestConductor once the Linux memcheck and | 
| -// Windows DrMemory Full bots' blacklists are updated. | 
| -class JsepPeerConnectionP2PTestClient : public testing::Test { | 
| +class P2PTestConductor : public testing::Test { | 
| public: | 
| -  JsepPeerConnectionP2PTestClient() | 
| +  P2PTestConductor() | 
| : pss_(new rtc::PhysicalSocketServer), | 
| ss_(new rtc::VirtualSocketServer(pss_.get())), | 
| ss_scope_(ss_.get()) {} | 
| @@ -967,7 +965,7 @@ class JsepPeerConnectionP2PTestClient : public testing::Test { | 
| receiving_client_->VerifyLocalIceUfragAndPassword(); | 
| } | 
|  | 
| -  ~JsepPeerConnectionP2PTestClient() { | 
| +  ~P2PTestConductor() { | 
| if (initiating_client_) { | 
| initiating_client_->set_signaling_message_receiver(nullptr); | 
| } | 
| @@ -1153,7 +1151,7 @@ class JsepPeerConnectionP2PTestClient : public testing::Test { | 
| // This test sets up a Jsep call between two parties and test Dtmf. | 
| // TODO(holmer): Disabled due to sometimes crashing on buildbots. | 
| // See issue webrtc/2378. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, DISABLED_LocalP2PTestDtmf) { | 
| +TEST_F(P2PTestConductor, DISABLED_LocalP2PTestDtmf) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| LocalP2PTest(); | 
| VerifyDtmf(); | 
| @@ -1161,7 +1159,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, DISABLED_LocalP2PTestDtmf) { | 
|  | 
| // This test sets up a Jsep call between two parties and test that we can get a | 
| // video aspect ratio of 16:9. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTest16To9) { | 
| +TEST_F(P2PTestConductor, LocalP2PTest16To9) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| FakeConstraints constraint; | 
| double requested_ratio = 640.0/360; | 
| @@ -1186,7 +1184,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTest16To9) { | 
| // received video has a resolution of 1280*720. | 
| // TODO(mallinath): Enable when | 
| // http://code.google.com/p/webrtc/issues/detail?id=981 is fixed. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, DISABLED_LocalP2PTest1280By720) { | 
| +TEST_F(P2PTestConductor, DISABLED_LocalP2PTest1280By720) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| FakeConstraints constraint; | 
| constraint.SetMandatoryMinWidth(1280); | 
| @@ -1198,13 +1196,13 @@ TEST_F(JsepPeerConnectionP2PTestClient, DISABLED_LocalP2PTest1280By720) { | 
|  | 
| // This test sets up a call between two endpoints that are configured to use | 
| // DTLS key agreement. As a result, DTLS is negotiated and used for transport. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestDtls) { | 
| +TEST_F(P2PTestConductor, LocalP2PTestDtls) { | 
| SetupAndVerifyDtlsCall(); | 
| } | 
|  | 
| // This test sets up a audio call initially and then upgrades to audio/video, | 
| // using DTLS. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestDtlsRenegotiate) { | 
| +TEST_F(P2PTestConductor, LocalP2PTestDtlsRenegotiate) { | 
| MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); | 
| FakeConstraints setup_constraints; | 
| setup_constraints.AddMandatory(MediaConstraintsInterface::kEnableDtlsSrtp, | 
| @@ -1218,7 +1216,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestDtlsRenegotiate) { | 
|  | 
| // This test sets up a call transfer to a new caller with a different DTLS | 
| // fingerprint. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestDtlsTransferCallee) { | 
| +TEST_F(P2PTestConductor, LocalP2PTestDtlsTransferCallee) { | 
| MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); | 
| SetupAndVerifyDtlsCall(); | 
|  | 
| @@ -1236,7 +1234,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestDtlsTransferCallee) { | 
|  | 
| // This test sets up a call transfer to a new callee with a different DTLS | 
| // fingerprint. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestDtlsTransferCaller) { | 
| +TEST_F(P2PTestConductor, LocalP2PTestDtlsTransferCaller) { | 
| MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); | 
| SetupAndVerifyDtlsCall(); | 
|  | 
| @@ -1255,7 +1253,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestDtlsTransferCaller) { | 
| // This test sets up a call between two endpoints that are configured to use | 
| // DTLS key agreement. The offerer don't support SDES. As a result, DTLS is | 
| // negotiated and used for transport. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestOfferDtlsButNotSdes) { | 
| +TEST_F(P2PTestConductor, LocalP2PTestOfferDtlsButNotSdes) { | 
| MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); | 
| FakeConstraints setup_constraints; | 
| setup_constraints.AddMandatory(MediaConstraintsInterface::kEnableDtlsSrtp, | 
| @@ -1268,7 +1266,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestOfferDtlsButNotSdes) { | 
|  | 
| // This test sets up a Jsep call between two parties, and the callee only | 
| // accept to receive video. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestAnswerVideo) { | 
| +TEST_F(P2PTestConductor, LocalP2PTestAnswerVideo) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| receiving_client()->SetReceiveAudioVideo(false, true); | 
| LocalP2PTest(); | 
| @@ -1276,7 +1274,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestAnswerVideo) { | 
|  | 
| // This test sets up a Jsep call between two parties, and the callee only | 
| // accept to receive audio. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestAnswerAudio) { | 
| +TEST_F(P2PTestConductor, LocalP2PTestAnswerAudio) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| receiving_client()->SetReceiveAudioVideo(true, false); | 
| LocalP2PTest(); | 
| @@ -1284,7 +1282,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestAnswerAudio) { | 
|  | 
| // This test sets up a Jsep call between two parties, and the callee reject both | 
| // audio and video. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestAnswerNone) { | 
| +TEST_F(P2PTestConductor, LocalP2PTestAnswerNone) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| receiving_client()->SetReceiveAudioVideo(false, false); | 
| LocalP2PTest(); | 
| @@ -1295,8 +1293,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestAnswerNone) { | 
| // being rejected. Once the re-negotiation is done, the video flow should stop | 
| // and the audio flow should continue. | 
| // Disabled due to b/14955157. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, | 
| -       DISABLED_UpdateOfferWithRejectedContent) { | 
| +TEST_F(P2PTestConductor, DISABLED_UpdateOfferWithRejectedContent) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| LocalP2PTest(); | 
| TestUpdateOfferWithRejectedContent(); | 
| @@ -1305,8 +1302,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, | 
| // This test sets up a Jsep call between two parties. The MSID is removed from | 
| // the SDP strings from the caller. | 
| // Disabled due to b/14955157. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, | 
| -       DISABLED_LocalP2PTestWithoutMsid) { | 
| +TEST_F(P2PTestConductor, DISABLED_LocalP2PTestWithoutMsid) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| receiving_client()->RemoveMsidFromReceivedSdp(true); | 
| // TODO(perkj): Currently there is a bug that cause audio to stop playing if | 
| @@ -1321,7 +1317,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, | 
| // sends two steams. | 
| // TODO(perkj): Disabled due to | 
| // https://code.google.com/p/webrtc/issues/detail?id=1454 | 
| -TEST_F(JsepPeerConnectionP2PTestClient, DISABLED_LocalP2PTestTwoStreams) { | 
| +TEST_F(P2PTestConductor, DISABLED_LocalP2PTestTwoStreams) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| // Set optional video constraint to max 320pixels to decrease CPU usage. | 
| FakeConstraints constraint; | 
| @@ -1335,7 +1331,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, DISABLED_LocalP2PTestTwoStreams) { | 
| } | 
|  | 
| // Test that we can receive the audio output level from a remote audio track. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, GetAudioOutputLevelStats) { | 
| +TEST_F(P2PTestConductor, GetAudioOutputLevelStats) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| LocalP2PTest(); | 
|  | 
| @@ -1354,7 +1350,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, GetAudioOutputLevelStats) { | 
| } | 
|  | 
| // Test that an audio input level is reported. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, GetAudioInputLevelStats) { | 
| +TEST_F(P2PTestConductor, GetAudioInputLevelStats) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| LocalP2PTest(); | 
|  | 
| @@ -1365,7 +1361,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, GetAudioInputLevelStats) { | 
| } | 
|  | 
| // Test that we can get incoming byte counts from both audio and video tracks. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, GetBytesReceivedStats) { | 
| +TEST_F(P2PTestConductor, GetBytesReceivedStats) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| LocalP2PTest(); | 
|  | 
| @@ -1387,7 +1383,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, GetBytesReceivedStats) { | 
| } | 
|  | 
| // Test that we can get outgoing byte counts from both audio and video tracks. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, GetBytesSentStats) { | 
| +TEST_F(P2PTestConductor, GetBytesSentStats) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| LocalP2PTest(); | 
|  | 
| @@ -1409,7 +1405,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, GetBytesSentStats) { | 
| } | 
|  | 
| // Test that DTLS 1.0 is used if both sides only support DTLS 1.0. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12None) { | 
| +TEST_F(P2PTestConductor, GetDtls12None) { | 
| PeerConnectionFactory::Options init_options; | 
| init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; | 
| PeerConnectionFactory::Options recv_options; | 
| @@ -1440,7 +1436,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12None) { | 
| } | 
|  | 
| // Test that DTLS 1.2 is used if both ends support it. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12Both) { | 
| +TEST_F(P2PTestConductor, GetDtls12Both) { | 
| PeerConnectionFactory::Options init_options; | 
| init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; | 
| PeerConnectionFactory::Options recv_options; | 
| @@ -1472,7 +1468,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12Both) { | 
|  | 
| // Test that DTLS 1.0 is used if the initator supports DTLS 1.2 and the | 
| // received supports 1.0. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12Init) { | 
| +TEST_F(P2PTestConductor, GetDtls12Init) { | 
| PeerConnectionFactory::Options init_options; | 
| init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; | 
| PeerConnectionFactory::Options recv_options; | 
| @@ -1504,7 +1500,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12Init) { | 
|  | 
| // Test that DTLS 1.0 is used if the initator supports DTLS 1.0 and the | 
| // received supports 1.2. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12Recv) { | 
| +TEST_F(P2PTestConductor, GetDtls12Recv) { | 
| PeerConnectionFactory::Options init_options; | 
| init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; | 
| PeerConnectionFactory::Options recv_options; | 
| @@ -1536,7 +1532,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12Recv) { | 
|  | 
| // This test sets up a call between two parties with audio, video and an RTP | 
| // data channel. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestRtpDataChannel) { | 
| +TEST_F(P2PTestConductor, LocalP2PTestRtpDataChannel) { | 
| FakeConstraints setup_constraints; | 
| setup_constraints.SetAllowRtpDataChannels(); | 
| ASSERT_TRUE(CreateTestClients(&setup_constraints, &setup_constraints)); | 
| @@ -1568,7 +1564,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestRtpDataChannel) { | 
|  | 
| // This test sets up a call between two parties with audio, video and an SCTP | 
| // data channel. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestSctpDataChannel) { | 
| +TEST_F(P2PTestConductor, LocalP2PTestSctpDataChannel) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| initializing_client()->CreateDataChannel(); | 
| LocalP2PTest(); | 
| @@ -1602,7 +1598,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestSctpDataChannel) { | 
| // transport has detected that a channel is writable and thus data can be | 
| // received before the data channel state changes to open. That is hard to test | 
| // but the same buffering is used in that case. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, RegisterDataChannelObserver) { | 
| +TEST_F(P2PTestConductor, RegisterDataChannelObserver) { | 
| FakeConstraints setup_constraints; | 
| setup_constraints.SetAllowRtpDataChannels(); | 
| ASSERT_TRUE(CreateTestClients(&setup_constraints, &setup_constraints)); | 
| @@ -1632,8 +1628,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, RegisterDataChannelObserver) { | 
|  | 
| // This test sets up a call between two parties with audio, video and but only | 
| // the initiating client support data. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, | 
| -       LocalP2PTestReceiverDoesntSupportData) { | 
| +TEST_F(P2PTestConductor, LocalP2PTestReceiverDoesntSupportData) { | 
| FakeConstraints setup_constraints_1; | 
| setup_constraints_1.SetAllowRtpDataChannels(); | 
| // Must disable DTLS to make negotiation succeed. | 
| @@ -1652,8 +1647,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, | 
|  | 
| // This test sets up a call between two parties with audio, video. When audio | 
| // and video is setup and flowing and data channel is negotiated. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, | 
| -       AddDataChannelAfterRenegotiation) { | 
| +TEST_F(P2PTestConductor, AddDataChannelAfterRenegotiation) { | 
| FakeConstraints setup_constraints; | 
| setup_constraints.SetAllowRtpDataChannels(); | 
| ASSERT_TRUE(CreateTestClients(&setup_constraints, &setup_constraints)); | 
| @@ -1672,7 +1666,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, | 
| // This test sets up a Jsep call with SCTP DataChannel and verifies the | 
| // negotiation is completed without error. | 
| #ifdef HAVE_SCTP | 
| -TEST_F(JsepPeerConnectionP2PTestClient, CreateOfferWithSctpDataChannel) { | 
| +TEST_F(P2PTestConductor, CreateOfferWithSctpDataChannel) { | 
| MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp); | 
| FakeConstraints constraints; | 
| constraints.SetMandatory( | 
| @@ -1686,7 +1680,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, CreateOfferWithSctpDataChannel) { | 
| // This test sets up a call between two parties with audio, and video. | 
| // During the call, the initializing side restart ice and the test verifies that | 
| // new ice candidates are generated and audio and video still can flow. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, IceRestart) { | 
| +TEST_F(P2PTestConductor, IceRestart) { | 
| ASSERT_TRUE(CreateTestClients()); | 
|  | 
| // Negotiate and wait for ice completion and make sure audio and video plays. | 
| @@ -1736,7 +1730,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, IceRestart) { | 
| // This test sets up a call between two parties with audio, and video. | 
| // It then renegotiates setting the video m-line to "port 0", then later | 
| // renegotiates again, enabling video. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestVideoDisableEnable) { | 
| +TEST_F(P2PTestConductor, LocalP2PTestVideoDisableEnable) { | 
| ASSERT_TRUE(CreateTestClients()); | 
|  | 
| // Do initial negotiation. Will result in video and audio sendonly m-lines. | 
| @@ -1760,8 +1754,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestVideoDisableEnable) { | 
| // VideoDecoderFactory. | 
| // TODO(holmer): Disabled due to sometimes crashing on buildbots. | 
| // See issue webrtc/2378. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, | 
| -       DISABLED_LocalP2PTestWithVideoDecoderFactory) { | 
| +TEST_F(P2PTestConductor, DISABLED_LocalP2PTestWithVideoDecoderFactory) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| EnableVideoDecoderFactory(); | 
| LocalP2PTest(); | 
| @@ -1770,7 +1763,7 @@ TEST_F(JsepPeerConnectionP2PTestClient, | 
| // This tests that if we negotiate after calling CreateSender but before we | 
| // have a track, then set a track later, frames from the newly-set track are | 
| // received end-to-end. | 
| -TEST_F(JsepPeerConnectionP2PTestClient, EarlyWarmupTest) { | 
| +TEST_F(P2PTestConductor, EarlyWarmupTest) { | 
| ASSERT_TRUE(CreateTestClients()); | 
| auto audio_sender = initializing_client()->pc()->CreateSender("audio"); | 
| auto video_sender = initializing_client()->pc()->CreateSender("video"); | 
|  |