| Index: net/test/test_server_posix.cc
|
| diff --git a/net/test/test_server_posix.cc b/net/test/test_server_posix.cc
|
| index f9c594d17055843d01be7fd2b27050f6940f7809..43bdb10c8a6fff7dffbb09142a5f032ae90cec7a 100644
|
| --- a/net/test/test_server_posix.cc
|
| +++ b/net/test/test_server_posix.cc
|
| @@ -139,15 +139,27 @@ bool TestServer::WaitToStart() {
|
| base::TimeDelta remaining_time = base::TimeDelta::FromMilliseconds(
|
| TestTimeouts::action_max_timeout_ms());
|
|
|
| - // Try to read two bytes from the pipe indicating the ephemeral port number.
|
| - uint16 port = 0;
|
| - if (!ReadData(child_fd_, sizeof(port),
|
| - reinterpret_cast<uint8*>(&port), &remaining_time)) {
|
| - LOG(ERROR) << "Could not read port";
|
| + uint32 server_data_len = 0;
|
| + if (!ReadData(child_fd_, sizeof(server_data_len),
|
| + reinterpret_cast<uint8*>(&server_data_len),
|
| + &remaining_time)) {
|
| + LOG(ERROR) << "Could not read server_data_len";
|
| + return false;
|
| + }
|
| + std::string server_data(server_data_len, '\0');
|
| + if (!ReadData(child_fd_, server_data_len,
|
| + reinterpret_cast<uint8*>(&server_data[0]),
|
| + &remaining_time)) {
|
| + LOG(ERROR) << "Could not read server_data (" << server_data_len
|
| + << " bytes)";
|
| + return false;
|
| + }
|
| +
|
| + if (!ParseServerData(server_data)) {
|
| + LOG(ERROR) << "Could not parse server_data: " << server_data;
|
| return false;
|
| }
|
|
|
| - host_port_pair_.set_port(port);
|
| return true;
|
| }
|
|
|
|
|