Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(294)

Unified Diff: webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc

Issue 2666533002: Add probe logging to RtcEventLog. (Closed)
Patch Set: Fix comments. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
diff --git a/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc b/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
index 5bd8e4d0609c60f805e01e19343fbe2b824ea360..c8456b1dc4b9b866612a3ad4d0ec43b9c2a2e89f 100644
--- a/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
+++ b/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
@@ -42,6 +42,21 @@ MediaType GetRuntimeMediaType(rtclog::MediaType media_type) {
RTC_NOTREACHED();
return MediaType::ANY;
}
+
+rtclog::BweProbeResult::ResultType ConvertProbeResultType(
+ ProbeFailureReason failure_reason) {
+ switch (failure_reason) {
+ case kInvalidSendReceiveInterval:
+ return rtclog::BweProbeResult::INVALID_SEND_RECEIVE_INTERVAL;
+ case kInvalidSendReceiveRatio:
+ return rtclog::BweProbeResult::INVALID_SEND_RECEIVE_RATIO;
+ case kTimeout:
+ return rtclog::BweProbeResult::TIMEOUT;
+ }
+ RTC_NOTREACHED();
+ return rtclog::BweProbeResult::SUCCESS;
+}
+
} // namespace
// Checks that the event has a timestamp, a type and exactly the data field
@@ -98,6 +113,19 @@ MediaType GetRuntimeMediaType(rtclog::MediaType media_type) {
<< (event.has_audio_sender_config() ? "" : "no ")
<< "audio sender config";
}
+ if ((type == rtclog::Event::BWE_PROBE_CLUSTER_CREATED_EVENT) !=
+ event.has_probe_cluster()) {
+ return ::testing::AssertionFailure()
+ << "Event of type " << type << " has "
+ << (event.has_probe_cluster() ? "" : "no ") << "bwe probe cluster";
+ }
+ if ((type == rtclog::Event::BWE_PROBE_RESULT_EVENT) !=
+ event.has_probe_result()) {
+ return ::testing::AssertionFailure()
+ << "Event of type " << type << " has "
+ << (event.has_probe_result() ? "" : "no ") << "bwe probe result";
+ }
+
return ::testing::AssertionSuccess();
}
@@ -492,4 +520,67 @@ void RtcEventLogTestHelper::VerifyLogEndEvent(
EXPECT_EQ(rtclog::Event::LOG_END, event.type());
}
+void RtcEventLogTestHelper::VerifyBweProbeCluster(
+ const ParsedRtcEventLog& parsed_log,
+ size_t index,
+ uint32_t id,
+ uint32_t bitrate_bps,
+ uint32_t min_probes,
+ uint32_t min_bytes) {
+ const rtclog::Event& event = parsed_log.events_[index];
+ ASSERT_TRUE(IsValidBasicEvent(event));
+ EXPECT_EQ(rtclog::Event::BWE_PROBE_CLUSTER_CREATED_EVENT, event.type());
+
+ const rtclog::BweProbeCluster& bwe_event = event.probe_cluster();
+ ASSERT_TRUE(bwe_event.has_id());
+ EXPECT_EQ(id, bwe_event.id());
+ ASSERT_TRUE(bwe_event.has_bitrate_bps());
+ EXPECT_EQ(bitrate_bps, bwe_event.bitrate_bps());
+ ASSERT_TRUE(bwe_event.has_min_probes());
+ EXPECT_EQ(min_probes, bwe_event.min_probes());
+ ASSERT_TRUE(bwe_event.has_min_bytes());
+ EXPECT_EQ(min_bytes, bwe_event.min_bytes());
+
+ // TODO(philipel): Verify the parser when parsing has been implemented.
+}
+
+void RtcEventLogTestHelper::VerifyProbeResultSuccess(
+ const ParsedRtcEventLog& parsed_log,
+ size_t index,
+ uint32_t id,
+ uint32_t bitrate_bps) {
+ const rtclog::Event& event = parsed_log.events_[index];
+ ASSERT_TRUE(IsValidBasicEvent(event));
+ EXPECT_EQ(rtclog::Event::BWE_PROBE_RESULT_EVENT, event.type());
+
+ const rtclog::BweProbeResult& bwe_event = event.probe_result();
+ ASSERT_TRUE(bwe_event.has_id());
+ EXPECT_EQ(id, bwe_event.id());
+ ASSERT_TRUE(bwe_event.has_bitrate_bps());
+ EXPECT_EQ(bitrate_bps, bwe_event.bitrate_bps());
+ ASSERT_TRUE(bwe_event.has_result());
+ EXPECT_EQ(rtclog::BweProbeResult::SUCCESS, bwe_event.result());
+
+ // TODO(philipel): Verify the parser when parsing has been implemented.
+}
+
+void RtcEventLogTestHelper::VerifyProbeResultFailure(
+ const ParsedRtcEventLog& parsed_log,
+ size_t index,
+ uint32_t id,
+ ProbeFailureReason failure_reason) {
+ const rtclog::Event& event = parsed_log.events_[index];
+ ASSERT_TRUE(IsValidBasicEvent(event));
+ EXPECT_EQ(rtclog::Event::BWE_PROBE_RESULT_EVENT, event.type());
+
+ const rtclog::BweProbeResult& bwe_event = event.probe_result();
+ ASSERT_TRUE(bwe_event.has_id());
+ EXPECT_EQ(id, bwe_event.id());
+ ASSERT_TRUE(bwe_event.has_result());
+ EXPECT_EQ(ConvertProbeResultType(failure_reason), bwe_event.result());
+ ASSERT_FALSE(bwe_event.has_bitrate_bps());
+
+ // TODO(philipel): Verify the parser when parsing has been implemented.
+}
+
} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698