Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <queue> | 5 #include <queue> |
| 6 | 6 |
| 7 #include "base/memory/ref_counted.h" | 7 #include "base/memory/ref_counted.h" |
| 8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 9 #include "net/base/rand_callback.h" | 9 #include "net/base/rand_callback.h" |
| 10 #include "net/base/test_completion_callback.h" | 10 #include "net/base/test_completion_callback.h" |
| (...skipping 1105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1116 EXPECT_CALL(*socket_ipv4_, RecvFrom(_, _, _, _)) | 1116 EXPECT_CALL(*socket_ipv4_, RecvFrom(_, _, _, _)) |
| 1117 .WillOnce(Return(ERR_IO_PENDING)); | 1117 .WillOnce(Return(ERR_IO_PENDING)); |
| 1118 EXPECT_CALL(*socket_ipv6_, RecvFrom(_, _, _, _)) | 1118 EXPECT_CALL(*socket_ipv6_, RecvFrom(_, _, _, _)) |
| 1119 .WillOnce( | 1119 .WillOnce( |
| 1120 Invoke(socket_ipv6_, &MockMDnsDatagramServerSocket::HandleRecvNow)) | 1120 Invoke(socket_ipv6_, &MockMDnsDatagramServerSocket::HandleRecvNow)) |
| 1121 .WillOnce(Return(ERR_IO_PENDING)); | 1121 .WillOnce(Return(ERR_IO_PENDING)); |
| 1122 | 1122 |
| 1123 EXPECT_CALL(delegate_, HandlePacketInternal(sample_packet)); | 1123 EXPECT_CALL(delegate_, HandlePacketInternal(sample_packet)); |
| 1124 | 1124 |
| 1125 ASSERT_TRUE(InitConnection()); | 1125 ASSERT_TRUE(InitConnection()); |
| 1126 base::MessageLoop::current()->RunUntilIdle(); | |
| 1126 } | 1127 } |
| 1127 | 1128 |
| 1128 TEST_F(MDnsConnectionTest, ReceiveAsynchronous) { | 1129 TEST_F(MDnsConnectionTest, ReceiveAsynchronous) { |
| 1129 std::string sample_packet = MakeString(kSamplePacket1, | 1130 std::string sample_packet = MakeString(kSamplePacket1, |
| 1130 sizeof(kSamplePacket1)); | 1131 sizeof(kSamplePacket1)); |
| 1131 socket_ipv6_->SetResponsePacket(sample_packet); | 1132 socket_ipv6_->SetResponsePacket(sample_packet); |
| 1132 EXPECT_CALL(*socket_ipv4_, RecvFrom(_, _, _, _)) | 1133 EXPECT_CALL(*socket_ipv4_, RecvFrom(_, _, _, _)) |
| 1133 .WillOnce(Return(ERR_IO_PENDING)); | 1134 .WillOnce(Return(ERR_IO_PENDING)); |
| 1134 EXPECT_CALL(*socket_ipv6_, RecvFrom(_, _, _, _)) | 1135 EXPECT_CALL(*socket_ipv6_, RecvFrom(_, _, _, _)) |
| 1135 .WillOnce( | 1136 .WillOnce( |
| 1136 Invoke(socket_ipv6_, &MockMDnsDatagramServerSocket::HandleRecvLater)) | 1137 Invoke(socket_ipv6_, &MockMDnsDatagramServerSocket::HandleRecvLater)) |
| 1137 .WillOnce(Return(ERR_IO_PENDING)); | 1138 .WillOnce(Return(ERR_IO_PENDING)); |
| 1138 | 1139 |
| 1139 ASSERT_TRUE(InitConnection()); | 1140 ASSERT_TRUE(InitConnection()); |
| 1140 | 1141 |
| 1141 EXPECT_CALL(delegate_, HandlePacketInternal(sample_packet)); | 1142 EXPECT_CALL(delegate_, HandlePacketInternal(sample_packet)); |
| 1142 | |
| 1143 base::MessageLoop::current()->RunUntilIdle(); | 1143 base::MessageLoop::current()->RunUntilIdle(); |
| 1144 } | 1144 } |
| 1145 | 1145 |
| 1146 TEST_F(MDnsConnectionTest, Send) { | 1146 TEST_F(MDnsConnectionTest, Send) { |
| 1147 std::string sample_packet = MakeString(kSamplePacket1, | 1147 std::string sample_packet = MakeString(kSamplePacket1, |
| 1148 sizeof(kSamplePacket1)); | 1148 sizeof(kSamplePacket1)); |
| 1149 | 1149 |
| 1150 scoped_refptr<IOBufferWithSize> buf( | 1150 scoped_refptr<IOBufferWithSize> buf( |
| 1151 new IOBufferWithSize(sizeof kSamplePacket1)); | 1151 new IOBufferWithSize(sizeof kSamplePacket1)); |
| 1152 memcpy(buf->data(), kSamplePacket1, sizeof(kSamplePacket1)); | 1152 memcpy(buf->data(), kSamplePacket1, sizeof(kSamplePacket1)); |
| 1153 | 1153 |
| 1154 EXPECT_CALL(*socket_ipv4_, RecvFrom(_, _, _, _)) | 1154 EXPECT_CALL(*socket_ipv4_, RecvFrom(_, _, _, _)) |
| 1155 .WillOnce(Return(ERR_IO_PENDING)); | 1155 .WillOnce(Return(ERR_IO_PENDING)); |
| 1156 EXPECT_CALL(*socket_ipv6_, RecvFrom(_, _, _, _)) | 1156 EXPECT_CALL(*socket_ipv6_, RecvFrom(_, _, _, _)) |
| 1157 .WillOnce(Return(ERR_IO_PENDING)); | 1157 .WillOnce(Return(ERR_IO_PENDING)); |
| 1158 | 1158 |
| 1159 ASSERT_TRUE(InitConnection()); | 1159 ASSERT_TRUE(InitConnection()); |
| 1160 | 1160 |
| 1161 EXPECT_CALL(*socket_ipv4_, | 1161 EXPECT_CALL(*socket_ipv4_, |
| 1162 SendToInternal(sample_packet, "224.0.0.251:5353", _)); | 1162 SendToInternal(sample_packet, "224.0.0.251:5353", _)); |
| 1163 EXPECT_CALL(*socket_ipv6_, | 1163 EXPECT_CALL(*socket_ipv6_, |
| 1164 SendToInternal(sample_packet, "[ff02::fb]:5353", _)); | 1164 SendToInternal(sample_packet, "[ff02::fb]:5353", _)); |
| 1165 | 1165 |
| 1166 connection_.Send(buf.get(), buf->size()); | 1166 connection_.Send(buf); |
| 1167 base::MessageLoop::current()->RunUntilIdle(); | |
| 1167 } | 1168 } |
| 1168 | 1169 |
| 1169 TEST_F(MDnsConnectionTest, Error) { | 1170 TEST_F(MDnsConnectionTest, Error) { |
| 1170 CompletionCallback callback; | 1171 CompletionCallback callback; |
| 1171 | 1172 |
| 1172 EXPECT_CALL(*socket_ipv4_, RecvFrom(_, _, _, _)) | 1173 EXPECT_CALL(*socket_ipv4_, RecvFrom(_, _, _, _)) |
| 1173 .WillOnce(Return(ERR_IO_PENDING)); | 1174 .WillOnce(Return(ERR_IO_PENDING)); |
| 1174 EXPECT_CALL(*socket_ipv6_, RecvFrom(_, _, _, _)) | 1175 EXPECT_CALL(*socket_ipv6_, RecvFrom(_, _, _, _)) |
| 1175 .WillOnce(DoAll(SaveArg<3>(&callback), Return(ERR_IO_PENDING))); | 1176 .WillOnce(DoAll(SaveArg<3>(&callback), Return(ERR_IO_PENDING))); |
| 1176 | 1177 |
| 1177 ASSERT_TRUE(InitConnection()); | 1178 ASSERT_TRUE(InitConnection()); |
| 1178 | 1179 |
| 1179 EXPECT_CALL(delegate_, OnConnectionError(ERR_SOCKET_NOT_CONNECTED)); | 1180 EXPECT_CALL(delegate_, OnConnectionError(ERR_SOCKET_NOT_CONNECTED)); |
| 1180 callback.Run(ERR_SOCKET_NOT_CONNECTED); | 1181 callback.Run(ERR_SOCKET_NOT_CONNECTED); |
| 1182 base::MessageLoop::current()->RunUntilIdle(); | |
| 1181 } | 1183 } |
| 1182 | 1184 |
|
Ryan Hamilton
2014/09/22 19:26:44
I don't see any tests of the new behavior. Specifi
Vitaly Buka (NO REVIEWS)
2014/09/22 22:53:49
Done.
| |
| 1183 } // namespace | 1185 } // namespace |
| 1184 | 1186 |
| 1185 } // namespace net | 1187 } // namespace net |
| OLD | NEW |