#!/usr/bin/env python # ********************************************************************** # # Copyright (c) 2001 # MutableRealms, Inc. # Huntsville, AL, USA # # All Rights Reserved # # ********************************************************************** import sys, os protocol = "tcp" serverOptions = " --Ice.PrintProcessId --Ice.PrintAdapterReady --Ice.ServerIdleTime=60" + \ " --Ice.Ssl.Config=TOPLEVELDIR/Certs/server_sslconfig.xml --Ice.Protocol=" + protocol clientOptions = " --Ice.Ssl.Config=TOPLEVELDIR/Certs/client_sslconfig.xml --Ice.Protocol=" + protocol collocatedOptions = " --Ice.Ssl.Config=TOPLEVELDIR/Certs/sslconfig.xml --Ice.Protocol=" + protocol serverPids = [] def killServers(): global serverPids for pid in serverPids: if os.name == "nt": import win32api handle = win32api.OpenProcess(1, 0, pid) return (0 != win32api.TerminateProcess(handle, 0)) else: os.kill(pid, 9) serverPids = [] def getServerPid(serverPipe): output = serverPipe.readline().strip() if not output: print "failed!" killServers() sys.exit(1) serverPids.append(int(output)) def getAdapterReady(serverPipe): output = serverPipe.readline().strip() if not output: print "failed!" killServers() sys.exit(1) def clientServerTest(toplevel, name): testdir = os.path.normpath(toplevel + "/test/" + name) server = os.path.normpath(testdir + "/server") client = os.path.normpath(testdir + "/client") updatedServerOptions = serverOptions.replace("TOPLEVELDIR", toplevel) print "starting server...", serverPipe = os.popen(server + updatedServerOptions) getServerPid(serverPipe) getAdapterReady(serverPipe) print "ok" updatedClientOptions = clientOptions.replace("TOPLEVELDIR", toplevel) print "starting client...", clientPipe = os.popen(client + updatedClientOptions) output = clientPipe.readline() if not output: print "failed!" killServers() sys.exit(1) print "ok" print output, while 1: output = clientPipe.readline() if not output: break; print output, def collocatedTest(toplevel, name): testdir = os.path.normpath(toplevel + "/test/" + name) collocated = os.path.normpath(testdir + "/collocated") updatedCollocatedOptions = collocatedOptions.replace("TOPLEVELDIR", toplevel) print "starting collocated...", collocatedPipe = os.popen(collocated + updatedCollocatedOptions) output = collocatedPipe.read().strip() if not output: print "failed!" sys.exit(1) print "ok" print output