Correct data histogram entry for incoming DC

Both incoming and outgoing datachannels should cause
the DATA_ADDED flag to be set.

This CL also moves all tests into their own file, and
improves scaffolding.

Bug: chromium:718508
Change-Id: I5c4c257ccb6f26799f7593bce8b27ebf59015b1e
Reviewed-on: https://webrtc-review.googlesource.com/85348
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23766}
This commit is contained in:
Harald Alvestrand
2018-06-28 12:04:41 +02:00
committed by Commit Bot
parent 77cc8182ae
commit 183e09d23c
3 changed files with 113 additions and 52 deletions

View File

@ -178,14 +178,6 @@ int FindFirstMediaStatsIndexByKind(
return -1;
}
int MakeUsageFingerprint(std::set<PeerConnection::UsageEvent> events) {
int signature = 0;
for (const auto it : events) {
signature |= static_cast<int>(it);
}
return signature;
}
class SignalingMessageReceiver {
public:
virtual void ReceiveSdpMessage(SdpType type, const std::string& msg) = 0;
@ -4633,38 +4625,6 @@ TEST_P(PeerConnectionIntegrationInteropTest,
ASSERT_TRUE(ExpectNewFrames(media_expectations));
}
// Test getting the usage fingerprint for a simple test case.
TEST_P(PeerConnectionIntegrationTest, UsageFingerprintHistogram) {
ASSERT_TRUE(CreatePeerConnectionWrappers());
ConnectFakeSignaling();
// Register UMA observer before signaling begins.
rtc::scoped_refptr<webrtc::FakeMetricsObserver> caller_observer =
new rtc::RefCountedObject<webrtc::FakeMetricsObserver>();
caller()->pc()->RegisterUMAObserver(caller_observer);
rtc::scoped_refptr<webrtc::FakeMetricsObserver> callee_observer =
new rtc::RefCountedObject<webrtc::FakeMetricsObserver>();
callee()->pc()->RegisterUMAObserver(callee_observer);
caller()->AddAudioTrack();
caller()->AddVideoTrack();
caller()->CreateAndSetAndSignalOffer();
ASSERT_TRUE_WAIT(DtlsConnected(), kDefaultTimeout);
caller()->pc()->Close();
callee()->pc()->Close();
int expected_fingerprint = MakeUsageFingerprint(
{PeerConnection::UsageEvent::AUDIO_ADDED,
PeerConnection::UsageEvent::VIDEO_ADDED,
PeerConnection::UsageEvent::SET_LOCAL_DESCRIPTION_CALLED,
PeerConnection::UsageEvent::SET_REMOTE_DESCRIPTION_CALLED,
PeerConnection::UsageEvent::CANDIDATE_COLLECTED,
PeerConnection::UsageEvent::REMOTE_CANDIDATE_ADDED,
PeerConnection::UsageEvent::ICE_STATE_CONNECTED,
PeerConnection::UsageEvent::CLOSE_CALLED});
EXPECT_TRUE(caller_observer->ExpectOnlySingleEnumCount(
webrtc::kEnumCounterUsagePattern, expected_fingerprint));
EXPECT_TRUE(callee_observer->ExpectOnlySingleEnumCount(
webrtc::kEnumCounterUsagePattern, expected_fingerprint));
}
INSTANTIATE_TEST_CASE_P(
PeerConnectionIntegrationTest,
PeerConnectionIntegrationInteropTest,