From 967600ef4f09445d9dbb6654dca8d235d9d65f5b Mon Sep 17 00:00:00 2001 From: Roger Meier Date: Fri, 3 May 2013 22:39:53 +0200 Subject: [PATCH] THRIFT-1850 make check hangs on TSocket tests in TransportTest.cpp Patch: Randy Abernethy --- lib/cpp/test/TransportTest.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) mode change 100644 => 100755 lib/cpp/test/TransportTest.cpp diff --git a/lib/cpp/test/TransportTest.cpp b/lib/cpp/test/TransportTest.cpp old mode 100644 new mode 100755 index 508d3e37..4233e6e2 --- a/lib/cpp/test/TransportTest.cpp +++ b/lib/cpp/test/TransportTest.cpp @@ -236,6 +236,7 @@ class CoupledSocketTransports : public CoupledTransports { in.reset(new TSocket(sockets[0])); out.reset(new TSocket(sockets[1])); + out->setSendTimeout(100); } }; @@ -511,7 +512,14 @@ void test_rw(uint32_t totalSize, 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 @@ class TransportTestGen { // 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 @@ class TransportTestGen { 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); -- 2.17.1