diff options
Diffstat (limited to 'net/socket/socket_test_util.cc')
-rw-r--r-- | net/socket/socket_test_util.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/net/socket/socket_test_util.cc b/net/socket/socket_test_util.cc index ef10f76..18ece28 100644 --- a/net/socket/socket_test_util.cc +++ b/net/socket/socket_test_util.cc @@ -150,13 +150,17 @@ void MockTCPClientSocket::OnReadComplete(const MockRead& data) { DCHECK_NE(ERR_IO_PENDING, data.result); // Since we've been waiting for data, need_read_data_ should be true. DCHECK(need_read_data_); - // In order to fire the callback, this IO needs to be marked as async. - DCHECK(data.async); read_data_ = data; need_read_data_ = false; - CompleteRead(); + // The caller is simulating that this IO completes right now. Don't + // let CompleteRead() schedule a callback. + read_data_.async = false; + + net::CompletionCallback* callback = pending_callback_; + int rv = CompleteRead(); + RunCallback(callback, rv); } int MockTCPClientSocket::CompleteRead() { |