diff options
Diffstat (limited to 'jingle')
-rw-r--r-- | jingle/glue/pseudotcp_adapter_unittest.cc | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/jingle/glue/pseudotcp_adapter_unittest.cc b/jingle/glue/pseudotcp_adapter_unittest.cc index 7c592085..34f4f65 100644 --- a/jingle/glue/pseudotcp_adapter_unittest.cc +++ b/jingle/glue/pseudotcp_adapter_unittest.cc @@ -276,8 +276,15 @@ TEST_F(PseudoTcpAdapterTest, DataTransfer) { TestCompletionCallback host_connect_cb; TestCompletionCallback client_connect_cb; - host_pseudotcp_->Connect(&host_connect_cb); - client_pseudotcp_->Connect(&client_connect_cb); + int rv1 = host_pseudotcp_->Connect(&host_connect_cb); + int rv2 = client_pseudotcp_->Connect(&client_connect_cb); + + if (rv1 == net::ERR_IO_PENDING) + rv1 = host_connect_cb.WaitForResult(); + if (rv2 == net::ERR_IO_PENDING) + rv2 = client_connect_cb.WaitForResult(); + ASSERT_EQ(net::OK, rv1); + ASSERT_EQ(net::OK, rv2); scoped_refptr<TCPChannelTester> tester = new TCPChannelTester(&message_loop_, host_pseudotcp_.get(), @@ -295,8 +302,15 @@ TEST_F(PseudoTcpAdapterTest, LossyChannel) { TestCompletionCallback host_connect_cb; TestCompletionCallback client_connect_cb; - host_pseudotcp_->Connect(&host_connect_cb); - client_pseudotcp_->Connect(&client_connect_cb); + int rv1 = host_pseudotcp_->Connect(&host_connect_cb); + int rv2 = client_pseudotcp_->Connect(&client_connect_cb); + + if (rv1 == net::ERR_IO_PENDING) + rv1 = host_connect_cb.WaitForResult(); + if (rv2 == net::ERR_IO_PENDING) + rv2 = client_connect_cb.WaitForResult(); + ASSERT_EQ(net::OK, rv1); + ASSERT_EQ(net::OK, rv2); scoped_refptr<TCPChannelTester> tester = new TCPChannelTester(&message_loop_, host_pseudotcp_.get(), |