|  | #!/usr/bin/env python | 
|  |  | 
|  | import time | 
|  | import subprocess | 
|  | import sys | 
|  | import os | 
|  | import signal | 
|  |  | 
|  | def relfile(fname): | 
|  | return os.path.join(os.path.dirname(__file__), fname) | 
|  |  | 
|  | def runTest(server_class): | 
|  | print "Testing ", server_class | 
|  | serverproc = subprocess.Popen([sys.executable, relfile("TestServer.py"), server_class]) | 
|  | try: | 
|  |  | 
|  | ret = subprocess.call([sys.executable, relfile("TestClient.py")]) | 
|  | if ret != 0: | 
|  | raise Exception("subprocess failed") | 
|  | finally: | 
|  | # fixme: should check that server didn't die | 
|  | os.kill(serverproc.pid, signal.SIGKILL) | 
|  |  | 
|  | # wait for shutdown | 
|  | time.sleep(5) | 
|  |  | 
|  | map(runTest, ["TForkingServer", "TThreadPoolServer", | 
|  | "TThreadedServer", "TSimpleServer"]) |