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