Fix broken thrift test code for new model


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664839 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/test/py/TestClient.py b/test/py/TestClient.py
index 3edff1c..a2fa3c7 100755
--- a/test/py/TestClient.py
+++ b/test/py/TestClient.py
@@ -9,12 +9,49 @@
 from thrift.transport import TSocket
 from thrift.protocol import TBinaryProtocol
 
+import hotshot
+from hotshot import stats
+prof = None
+
+# Uncomment if you want to profile this biznizzy
+#prof = hotshot.Profile('hotshot_thrift_stats')
+#prof.start()
+
 import timing
 
-transport = TTransport.TBufferedTransport(TSocket.TSocket('localhost', 9090))
+host = 'localhost'
+port = 9090
+framed = False
+framedInput = True
+argi = 1
+
+# Parse args
+while argi < len(sys.argv):
+  if sys.argv[argi] == '-h':
+    parts = sys.argv[argi+1].split(':') 
+    host = parts[0]
+    port = int(parts[1])
+    argi += 1
+  elif sys.argv[argi] == '-f' or sys.argv[argi] == '-framed':
+    framed = True
+  elif sys.argv[argi] == '-fo':
+    framed = True
+    framedInput = False
+  argi += 1
+
+# Make socket
+socket = TSocket.TSocket(host, port)
+
+# Frame or buffer depending upon args
+if framed:
+  transport = TTransport.TFramedTransport(socket, framedInput, True)
+else:
+  transport = TTransport.TBufferedTransport(socket)
+
 protocol = TBinaryProtocol.TBinaryProtocol()
 client = ThriftTest.Client(transport, protocol)
 
+# Connect!
 transport.open()
 
 # Start debug timing
@@ -63,4 +100,12 @@
 timing.finish()
 print "Total time: %d microsecs" % timing.micro()
 
+# Close!
 transport.close()
+
+# Profiler output
+if prof != None:
+  prof.stop()
+  prof.close()
+  s = stats.load('hotshot_thrift_stats')
+  s.sort_stats('time').print_stats()