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 |