THRIFT-1850 make check hangs on TSocket tests in TransportTest.cpp
Patch: Randy Abernethy
diff --git a/lib/cpp/test/TransportTest.cpp b/lib/cpp/test/TransportTest.cpp
old mode 100644
new mode 100755
index 508d3e3..4233e6e
--- a/lib/cpp/test/TransportTest.cpp
+++ b/lib/cpp/test/TransportTest.cpp
@@ -236,6 +236,7 @@
in.reset(new TSocket(sockets[0]));
out.reset(new TSocket(sockets[1]));
+ out->setSendTimeout(100);
}
};
@@ -511,7 +512,14 @@
write_size = wchunk_size - chunk_written;
}
- transports.out->write(wbuf.get() + total_written, write_size);
+ try {
+ transports.out->write(wbuf.get() + total_written, write_size);
+ }
+ catch (TTransportException & te) {
+ if (te.getType() == TTransportException::TIMED_OUT)
+ break;
+ throw te;
+ }
chunk_written += write_size;
total_written += write_size;
}
@@ -856,7 +864,7 @@
// each send() call. If we have more than ~400 outstanding 1-byte write
// requests, additional send() calls start blocking.
TEST_RW(CoupledSocketTransports, 1024*16, 1, 1,
- 0, 0, 400);
+ 0, 0, socket_max_outstanding);
TEST_RW(CoupledSocketTransports, 1024*256, 0, 0,
rand4k, rand4k, socket_max_outstanding);
TEST_RW(CoupledSocketTransports, 1024*256, rand4k, rand4k,
@@ -864,7 +872,7 @@
TEST_RW(CoupledSocketTransports, 1024*256, 167, 163,
rand4k, rand4k, socket_max_outstanding);
TEST_RW(CoupledSocketTransports, 1024*16, 1, 1,
- rand4k, rand4k, 400);
+ rand4k, rand4k, socket_max_outstanding);
TEST_BLOCKING_BEHAVIOR(CoupledSocketTransports);