diff options
author | Marc Laukien <marc@zeroc.com> | 2002-12-31 00:35:02 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2002-12-31 00:35:02 +0000 |
commit | 5f2ea7293b5d36f8a96bbd5c5fb09999c458acb0 (patch) | |
tree | 8fc00d39d0856b0532577a40624e29364d89b29a /java/config/TestUtil.py | |
parent | more amd stuff (diff) | |
download | ice-5f2ea7293b5d36f8a96bbd5c5fb09999c458acb0.tar.bz2 ice-5f2ea7293b5d36f8a96bbd5c5fb09999c458acb0.tar.xz ice-5f2ea7293b5d36f8a96bbd5c5fb09999c458acb0.zip |
more AMD
Diffstat (limited to 'java/config/TestUtil.py')
-rw-r--r-- | java/config/TestUtil.py | 423 |
1 files changed, 210 insertions, 213 deletions
diff --git a/java/config/TestUtil.py b/java/config/TestUtil.py index 681624ac4b0..0cffbda23c8 100644 --- a/java/config/TestUtil.py +++ b/java/config/TestUtil.py @@ -1,213 +1,210 @@ -#!/usr/bin/env python
-# **********************************************************************
-#
-# Copyright (c) 2002
-# ZeroC, Inc.
-# Billerica, MA, USA
-#
-# All Rights Reserved.
-#
-# Ice is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License version 2 as published by
-# the Free Software Foundation.
-#
-# **********************************************************************
-
-#
-# Set the host to the host name the test servers are running on. If
-# not set, Ice will try to find out the IP address for the
-# hostname. If you DNS isn't set up propertly, you should therefore
-# use "localhost".
-#
-
-#host = "someotherhost"
-host = "localhost"
-
-#
-# Don't change anything below this line!
-#
-
-import sys, os
-
-def isCygwin():
-
- # The substring on sys.platform is required because some cygwin
- # versions return variations like "cygwin_nt-4.01".
- if sys.platform[:6] == "cygwin":
- return 1
- else:
- return 0
-
-def isWin32():
-
- if sys.platform == "win32" or isCygwin():
- return 1
- else:
- return 0
-
-# Only used for C++ programs
-serverPids = []
-def killServers():
-
- global serverPids
-
- for pid in serverPids:
- if isCygwin():
- print "killServers(): not implemented for cygwin python."
- sys.exit(1)
- elif isWin32():
- try:
- import win32api
- handle = win32api.OpenProcess(1, 0, pid)
- win32api.TerminateProcess(handle, 0)
- except:
- pass # Ignore errors, such as non-existing processes.
- else:
- try:
- os.kill(pid, 9)
- except:
- pass # Ignore errors, such as non-existing processes.
-
- serverPids = []
-
-# Only used for C++ programs
-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)
-
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
- raise "can't find toplevel directory!"
-
-sep = ""
-if isWin32():
- sep = ";"
-else:
- sep = ":"
-
-os.environ["CLASSPATH"] = os.path.join(toplevel, "lib") + sep + os.getenv("CLASSPATH", "")
-
-clientProtocol = ""
-serverProtocol = ""
-clientServerProtocol = ""
-
-if host != "":
- defaultHost = " --Ice.Default.Host=" + host
-else:
- defaultHost = ""
-
-commonServerOptions = " --Ice.PrintAdapterReady --Ice.ThreadPool.Server.Size=3" + \
- " --Ice.Warn.Connections --Ice.ServerIdleTime=30"
-
-clientOptions = clientProtocol + defaultHost
-serverOptions = serverProtocol + defaultHost + commonServerOptions
-clientServerOptions = clientServerProtocol + defaultHost + commonServerOptions
-collocatedOptions = clientServerProtocol + defaultHost
-
-def clientServerTestWithOptions(name, additionalServerOptions, additionalClientOptions):
-
- testdir = os.path.join(toplevel, "test", name)
- server = "java -ea Server --Ice.ProgramName=Server "
- client = "java -ea Client --Ice.ProgramName=Client "
-
- print "starting server...",
- serverPipe = os.popen(server + serverOptions + additionalServerOptions)
- getAdapterReady(serverPipe)
- print "ok"
-
- print "starting client...",
- clientPipe = os.popen(client + clientOptions + additionalClientOptions)
- print "ok"
-
- for output in clientPipe.xreadlines():
- print output,
-
- clientStatus = clientPipe.close()
- serverStatus = serverPipe.close()
-
- if clientStatus or serverStatus:
- killServers()
- sys.exit(1)
-
-def clientServerTest(name):
-
- clientServerTestWithOptions(name, "", "")
-
-def mixedClientServerTestWithOptions(name, additionalServerOptions, additionalClientOptions):
-
- testdir = os.path.join(toplevel, "test", name)
- server = "java -ea Server --Ice.ProgramName=Server "
- client = "java -ea Client --Ice.ProgramName=Client "
-
- print "starting server...",
- serverPipe = os.popen(server + serverOptions + additionalServerOptions)
- getAdapterReady(serverPipe)
- print "ok"
-
- print "starting client...",
- clientPipe = os.popen(client + clientOptions + additionalClientOptions)
- print "ok"
-
- for output in clientPipe.xreadlines():
- print output,
-
- clientStatus = clientPipe.close()
- serverStatus = serverPipe.close()
-
- if clientStatus or serverStatus:
- killServers()
- sys.exit(1)
-
-def mixedClientServerTest(name):
-
- mixedClientServerTestWithOptions(name, "", "")
-
-def collocatedTestWithOptions(name, additionalOptions):
-
- testdir = os.path.join(toplevel, "test", name)
- collocated = "java -ea Collocated --Ice.ProgramName=Collocated "
-
- print "starting collocated...",
- collocatedPipe = os.popen(collocated + collocatedOptions + additionalOptions)
- print "ok"
-
- for output in collocatedPipe.xreadlines():
- print output,
-
- collocatedStatus = collocatedPipe.close()
-
- if collocatedStatus:
- killServers()
- sys.exit(1)
-
-def collocatedTest(name):
-
- collocatedTestWithOptions(name, "")
-
-def cleanDbDir(path):
-
- files = os.listdir(path)
-
- for filename in files:
- if filename != "CVS" and filename != ".dummy":
- fullpath = os.path.join(path, filename);
- os.remove(fullpath)
+#!/usr/bin/env python +# ********************************************************************** +# +# Copyright (c) 2002 +# ZeroC, Inc. +# Billerica, MA, USA +# +# All Rights Reserved. +# +# Ice is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# ********************************************************************** + +# +# Set the host to the host name the test servers are running on. If +# not set, Ice will try to find out the IP address for the +# hostname. If you DNS isn't set up propertly, you should therefore +# use "localhost". +# + +#host = "someotherhost" +host = "localhost" + +# +# Don't change anything below this line! +# + +import sys, os + +def isCygwin(): + + # The substring on sys.platform is required because some cygwin + # versions return variations like "cygwin_nt-4.01". + if sys.platform[:6] == "cygwin": + return 1 + else: + return 0 + +def isWin32(): + + if sys.platform == "win32" or isCygwin(): + return 1 + else: + return 0 + +# Only used for C++ programs +serverPids = [] +def killServers(): + + global serverPids + + for pid in serverPids: + if isCygwin(): + print "killServers(): not implemented for cygwin python." + sys.exit(1) + elif isWin32(): + try: + import win32api + handle = win32api.OpenProcess(1, 0, pid) + win32api.TerminateProcess(handle, 0) + except: + pass # Ignore errors, such as non-existing processes. + else: + try: + os.kill(pid, 9) + except: + pass # Ignore errors, such as non-existing processes. + + serverPids = [] + +# Only used for C++ programs +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) + +for toplevel in [".", "..", "../..", "../../..", "../../../.."]: + toplevel = os.path.normpath(toplevel) + if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")): + break +else: + raise "can't find toplevel directory!" + +sep = "" +if isWin32(): + sep = ";" +else: + sep = ":" + +os.environ["CLASSPATH"] = os.path.join(toplevel, "lib") + sep + os.getenv("CLASSPATH", "") + +clientProtocol = "" +serverProtocol = "" +clientServerProtocol = "" + +if host != "": + defaultHost = " --Ice.Default.Host=" + host +else: + defaultHost = "" + +commonServerOptions = " --Ice.PrintAdapterReady --Ice.ThreadPool.Server.Size=3" + \ + " --Ice.Warn.Connections --Ice.ServerIdleTime=30" + +clientOptions = clientProtocol + defaultHost +serverOptions = serverProtocol + defaultHost + commonServerOptions +clientServerOptions = clientServerProtocol + defaultHost + commonServerOptions +collocatedOptions = clientServerProtocol + defaultHost + +def clientServerTestWithOptions(additionalServerOptions, additionalClientOptions): + + server = "java -ea Server --Ice.ProgramName=Server " + client = "java -ea Client --Ice.ProgramName=Client " + + print "starting server...", + serverPipe = os.popen(server + serverOptions + additionalServerOptions) + getAdapterReady(serverPipe) + print "ok" + + print "starting client...", + clientPipe = os.popen(client + clientOptions + additionalClientOptions) + print "ok" + + for output in clientPipe.xreadlines(): + print output, + + clientStatus = clientPipe.close() + serverStatus = serverPipe.close() + + if clientStatus or serverStatus: + killServers() + sys.exit(1) + +def clientServerTest(): + + clientServerTestWithOptions("", "") + +def mixedClientServerTestWithOptions(additionalServerOptions, additionalClientOptions): + + server = "java -ea Server --Ice.ProgramName=Server " + client = "java -ea Client --Ice.ProgramName=Client " + + print "starting server...", + serverPipe = os.popen(server + serverOptions + additionalServerOptions) + getAdapterReady(serverPipe) + print "ok" + + print "starting client...", + clientPipe = os.popen(client + clientOptions + additionalClientOptions) + print "ok" + + for output in clientPipe.xreadlines(): + print output, + + clientStatus = clientPipe.close() + serverStatus = serverPipe.close() + + if clientStatus or serverStatus: + killServers() + sys.exit(1) + +def mixedClientServerTest(): + + mixedClientServerTestWithOptions("", "") + +def collocatedTestWithOptions(additionalOptions): + + collocated = "java -ea Collocated --Ice.ProgramName=Collocated " + + print "starting collocated...", + collocatedPipe = os.popen(collocated + collocatedOptions + additionalOptions) + print "ok" + + for output in collocatedPipe.xreadlines(): + print output, + + collocatedStatus = collocatedPipe.close() + + if collocatedStatus: + killServers() + sys.exit(1) + +def collocatedTest(): + + collocatedTestWithOptions("") + +def cleanDbDir(path): + + files = os.listdir(path) + + for filename in files: + if filename != "CVS" and filename != ".dummy": + fullpath = os.path.join(path, filename); + os.remove(fullpath) |