| Index: net/socket/socket_test_util.cc
|
| diff --git a/net/socket/socket_test_util.cc b/net/socket/socket_test_util.cc
|
| index b92f228ded65ff8b333395109c9b204b7d768d4d..4ef64f91261173de6ae05628b335d5e63fb578c0 100644
|
| --- a/net/socket/socket_test_util.cc
|
| +++ b/net/socket/socket_test_util.cc
|
| @@ -606,8 +606,10 @@ SequencedSocketData::~SequencedSocketData() {
|
| }
|
|
|
| DeterministicSocketData::DeterministicSocketData(MockRead* reads,
|
| - size_t reads_count, MockWrite* writes, size_t writes_count)
|
| - : StaticSocketDataProvider(reads, reads_count, writes, writes_count),
|
| + size_t reads_count,
|
| + MockWrite* writes,
|
| + size_t writes_count)
|
| + : helper_(reads, reads_count, writes, writes_count),
|
| sequence_number_(0),
|
| current_read_(),
|
| current_write_(),
|
| @@ -667,7 +669,7 @@ void DeterministicSocketData::StopAfter(int seq) {
|
| }
|
|
|
| MockRead DeterministicSocketData::OnRead() {
|
| - current_read_ = helper()->PeekRead();
|
| + current_read_ = helper_.PeekRead();
|
|
|
| // Synchronous read while stopped is an error
|
| if (stopped() && current_read_.mode == SYNCHRONOUS) {
|
| @@ -691,7 +693,7 @@ MockRead DeterministicSocketData::OnRead() {
|
| }
|
|
|
| NET_TRACE(1, " *** ") << "Stage " << sequence_number_ << ": Read "
|
| - << read_index();
|
| + << helper_.read_index();
|
| if (print_debug_)
|
| DumpMockReadWrite(current_read_);
|
|
|
| @@ -700,13 +702,13 @@ MockRead DeterministicSocketData::OnRead() {
|
| NextStep();
|
|
|
| DCHECK_NE(ERR_IO_PENDING, current_read_.result);
|
| - StaticSocketDataProvider::OnRead();
|
|
|
| + helper_.AdvanceRead();
|
| return current_read_;
|
| }
|
|
|
| MockWriteResult DeterministicSocketData::OnWrite(const std::string& data) {
|
| - const MockWrite& next_write = helper()->PeekWrite();
|
| + const MockWrite& next_write = helper_.PeekWrite();
|
| current_write_ = next_write;
|
|
|
| // Synchronous write while stopped is an error
|
| @@ -725,7 +727,7 @@ MockWriteResult DeterministicSocketData::OnWrite(const std::string& data) {
|
| }
|
| } else {
|
| NET_TRACE(1, " *** ") << "Stage " << sequence_number_ << ": Write "
|
| - << write_index();
|
| + << helper_.write_index();
|
| }
|
|
|
| if (print_debug_)
|
| @@ -736,15 +738,26 @@ MockWriteResult DeterministicSocketData::OnWrite(const std::string& data) {
|
| if (next_write.mode == SYNCHRONOUS)
|
| NextStep();
|
|
|
| - // This is either a sync write for this step, or an async write.
|
| - return StaticSocketDataProvider::OnWrite(data);
|
| + // Check that what we are writing matches the expectation.
|
| + // Then give the mocked return value.
|
| + if (!helper_.VerifyWriteData(data))
|
| + return MockWriteResult(SYNCHRONOUS, ERR_UNEXPECTED);
|
| +
|
| + helper_.AdvanceWrite();
|
| +
|
| + // In the case that the write was successful, return the number of bytes
|
| + // written. Otherwise return the error code.
|
| + int result =
|
| + next_write.result == OK ? next_write.data_len : next_write.result;
|
| + return MockWriteResult(next_write.mode, result);
|
| }
|
|
|
| -void DeterministicSocketData::Reset() {
|
| - NET_TRACE(1, " *** ") << "Stage " << sequence_number_ << ": Reset()";
|
| - sequence_number_ = 0;
|
| - StaticSocketDataProvider::Reset();
|
| - NOTREACHED();
|
| +bool DeterministicSocketData::AllReadDataConsumed() const {
|
| + return helper_.AllReadDataConsumed();
|
| +}
|
| +
|
| +bool DeterministicSocketData::AllWriteDataConsumed() const {
|
| + return helper_.AllWriteDataConsumed();
|
| }
|
|
|
| void DeterministicSocketData::InvokeCallbacks() {
|
| @@ -1391,16 +1404,6 @@ const BoundNetLog& DeterministicMockUDPClientSocket::NetLog() const {
|
| return helper_.net_log();
|
| }
|
|
|
| -void DeterministicMockUDPClientSocket::OnReadComplete(const MockRead& data) {}
|
| -
|
| -void DeterministicMockUDPClientSocket::OnWriteComplete(int rv) {
|
| -}
|
| -
|
| -void DeterministicMockUDPClientSocket::OnConnectComplete(
|
| - const MockConnect& data) {
|
| - NOTIMPLEMENTED();
|
| -}
|
| -
|
| DeterministicMockTCPClientSocket::DeterministicMockTCPClientSocket(
|
| net::NetLog* net_log,
|
| DeterministicSocketData* data)
|
| @@ -1488,14 +1491,6 @@ bool DeterministicMockTCPClientSocket::GetSSLInfo(SSLInfo* ssl_info) {
|
| return false;
|
| }
|
|
|
| -void DeterministicMockTCPClientSocket::OnReadComplete(const MockRead& data) {}
|
| -
|
| -void DeterministicMockTCPClientSocket::OnWriteComplete(int rv) {
|
| -}
|
| -
|
| -void DeterministicMockTCPClientSocket::OnConnectComplete(
|
| - const MockConnect& data) {}
|
| -
|
| // static
|
| void MockSSLClientSocket::ConnectCallback(
|
| MockSSLClientSocket* ssl_client_socket,
|
|
|