Index: extensions/browser/api/cast_channel/logger_unittest.cc |
diff --git a/extensions/browser/api/cast_channel/logger_unittest.cc b/extensions/browser/api/cast_channel/logger_unittest.cc |
index d1ec5fcdbbf2d676c92814e2eb21fdd5e3a7b7bc..604ad8e86dd2cb5aef178270c603c542b6089f37 100644 |
--- a/extensions/browser/api/cast_channel/logger_unittest.cc |
+++ b/extensions/browser/api/cast_channel/logger_unittest.cc |
@@ -122,6 +122,52 @@ TEST_F(CastChannelLoggerTest, BasicLogging) { |
} |
} |
+TEST_F(CastChannelLoggerTest, LogSocketReadWrite) { |
+ logger_->LogSocketEventWithRv(1, EventType::SOCKET_READ, 50); |
+ clock_->Advance(base::TimeDelta::FromMicroseconds(1)); |
+ logger_->LogSocketEventWithRv(1, EventType::SOCKET_READ, 30); |
+ clock_->Advance(base::TimeDelta::FromMicroseconds(1)); |
+ logger_->LogSocketEventWithRv(1, EventType::SOCKET_READ, -1); |
+ clock_->Advance(base::TimeDelta::FromMicroseconds(1)); |
+ logger_->LogSocketEventWithRv(1, EventType::SOCKET_WRITE, 20); |
+ clock_->Advance(base::TimeDelta::FromMicroseconds(1)); |
+ |
+ logger_->LogSocketEventWithRv(2, EventType::SOCKET_READ, 100); |
+ clock_->Advance(base::TimeDelta::FromMicroseconds(1)); |
+ logger_->LogSocketEventWithRv(2, EventType::SOCKET_WRITE, 100); |
+ clock_->Advance(base::TimeDelta::FromMicroseconds(1)); |
+ logger_->LogSocketEventWithRv(2, EventType::SOCKET_WRITE, -5); |
+ clock_->Advance(base::TimeDelta::FromMicroseconds(1)); |
+ |
+ std::string output; |
+ bool success = logger_->LogToString(&output); |
+ ASSERT_TRUE(success); |
+ |
+ Log log; |
+ success = log.ParseFromString(output); |
+ ASSERT_TRUE(success); |
+ |
+ EXPECT_EQ(180, log.total_bytes_read()); |
+ EXPECT_EQ(120, log.total_bytes_written()); |
+ ASSERT_EQ(2, log.aggregated_socket_event_size()); |
+ { |
+ const AggregatedSocketEvent& aggregated_socket_event = |
+ log.aggregated_socket_event(0); |
+ EXPECT_EQ(1, aggregated_socket_event.id()); |
+ EXPECT_EQ(4, aggregated_socket_event.socket_event_size()); |
+ EXPECT_EQ(80, aggregated_socket_event.bytes_read()); |
+ EXPECT_EQ(20, aggregated_socket_event.bytes_written()); |
+ } |
+ { |
+ const AggregatedSocketEvent& aggregated_socket_event = |
+ log.aggregated_socket_event(1); |
+ EXPECT_EQ(2, aggregated_socket_event.id()); |
+ EXPECT_EQ(3, aggregated_socket_event.socket_event_size()); |
+ EXPECT_EQ(100, aggregated_socket_event.bytes_read()); |
+ EXPECT_EQ(100, aggregated_socket_event.bytes_written()); |
+ } |
+} |
+ |
TEST_F(CastChannelLoggerTest, TooManySockets) { |
for (int i = 0; i < kMaxSocketsToLog + 5; i++) { |
logger_->LogSocketEvent(i, EventType::CAST_SOCKET_CREATED); |