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);