diff options
author | Benoit Foucher <benoit@zeroc.com> | 2016-11-25 13:13:22 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2016-11-25 13:13:22 +0100 |
commit | dcdc32af1fced49d80a8ccd93230e15d91ab45d8 (patch) | |
tree | eb69e2555fbd54496fce8a33f4dd610e1473ff51 /scripts/IceGridAdmin.py | |
parent | C# IceSSL/configuration log expired certificate exceptions. (diff) | |
download | ice-dcdc32af1fced49d80a8ccd93230e15d91ab45d8.tar.bz2 ice-dcdc32af1fced49d80a8ccd93230e15d91ab45d8.tar.xz ice-dcdc32af1fced49d80a8ccd93230e15d91ab45d8.zip |
Refactored test scripts
Diffstat (limited to 'scripts/IceGridAdmin.py')
-rw-r--r-- | scripts/IceGridAdmin.py | 329 |
1 files changed, 0 insertions, 329 deletions
diff --git a/scripts/IceGridAdmin.py b/scripts/IceGridAdmin.py deleted file mode 100644 index f020d088865..00000000000 --- a/scripts/IceGridAdmin.py +++ /dev/null @@ -1,329 +0,0 @@ -#!/usr/bin/env python -# ********************************************************************** -# -# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. -# -# This copy of Ice is licensed to you under the terms described in the -# ICE_LICENSE file included in this distribution. -# -# ********************************************************************** - -import sys, os, TestUtil, shlex -from threading import Thread - -# -# Set nreplicas to a number N to test replication with N replicas. -# -nreplicas=0 -#nreplicas=1 - -iceGridPort = 12010; - -nodeOptions = r' --Ice.Warn.Connections=0' + \ - r' --IceGrid.InstanceName=TestIceGrid' + \ - r' --IceGrid.Node.Endpoints=default' + \ - r' --IceGrid.Node.WaitTime=240' + \ - r' --Ice.ProgramName=icegridnode' + \ - r' --IceGrid.Node.Trace.Replica=0' + \ - r' --IceGrid.Node.Trace.Activator=0' + \ - r' --IceGrid.Node.Trace.Adapter=0' + \ - r' --IceGrid.Node.Trace.Server=0' + \ - r' --IceGrid.Node.ThreadPool.SizeWarn=0' + \ - r' --IceGrid.Node.PrintServersReady=node1' + \ - r' --Ice.NullHandleAbort' + \ - r' --Ice.ThreadPool.Server.Size=1' + \ - r' --Ice.ServerIdleTime=0' - -registryOptions = r' --Ice.Warn.Connections=0' + \ - r' --IceGrid.InstanceName=TestIceGrid' + \ - r' --IceGrid.Registry.PermissionsVerifier=TestIceGrid/NullPermissionsVerifier' + \ - r' --IceGrid.Registry.AdminPermissionsVerifier=TestIceGrid/NullPermissionsVerifier' + \ - r' --IceGrid.Registry.SSLPermissionsVerifier=TestIceGrid/NullSSLPermissionsVerifier' + \ - r' --IceGrid.Registry.AdminSSLPermissionsVerifier=TestIceGrid/NullSSLPermissionsVerifier' + \ - r' --IceGrid.Registry.Server.Endpoints=default' + \ - r' --IceGrid.Registry.Internal.Endpoints=default' + \ - r' --IceGrid.Registry.SessionManager.Endpoints=default' + \ - r' --IceGrid.Registry.AdminSessionManager.Endpoints=default' + \ - r' --IceGrid.Registry.Trace.Session=0' + \ - r' --IceGrid.Registry.Trace.Application=0' + \ - r' --IceGrid.Registry.Trace.Node=0' + \ - r' --IceGrid.Registry.Trace.Replica=0' + \ - r' --IceGrid.Registry.Trace.Adapter=0' + \ - r' --IceGrid.Registry.Trace.Object=0' + \ - r' --IceGrid.Registry.Trace.Server=0' + \ - r' --IceGrid.Registry.Trace.Locator=0' + \ - r' --IceGrid.Registry.SessionTimeout=60' + \ - r' --Ice.ThreadPool.Server.Size=1 ' + \ - r' --Ice.ThreadPool.Client.SizeWarn=0' + \ - r' --IceGrid.Registry.Client.ThreadPool.SizeWarn=0' + \ - r' --Ice.ServerIdleTime=0' + \ - r' --IceGrid.Registry.DefaultTemplates="' + \ - os.path.abspath(os.path.join(TestUtil.toplevel, "cpp", "config", "templates.xml") + '"') - -if TestUtil.ipv6 and TestUtil.isDarwin(): - registryOptions += r' --IceGrid.Registry.Discovery.Interface="::1"' - -def getDefaultLocatorProperty(): - - i = 0 - property = '--Ice.Default.Locator="TestIceGrid/Locator'; - objrefs = "" - while i < nreplicas + 1: - objrefs = objrefs + ':default -p ' + str(iceGridPort + i) - i = i + 1 - - return ' %s%s"' % (property, objrefs) - -def startIceGridRegistry(testdir, dynamicRegistration = False): - - iceGrid = TestUtil.getIceGridRegistry() - - command = ' --nowarn ' + registryOptions - if dynamicRegistration: - command += r' --IceGrid.Registry.DynamicRegistration' - - procs = [] - i = 0 - while i < (nreplicas + 1): - - if i == 0: - name = "registry" - else: - name = "replica-" + str(i) - - dataDir = os.path.join(testdir, "db", name) - if not os.path.exists(dataDir): - os.mkdir(dataDir) - else: - cleanDbDir(dataDir) - - sys.stdout.write("starting icegrid " + name + "... ") - sys.stdout.flush() - cmd = command + ' ' + \ - r' --Ice.ProgramName=' + name + \ - r' --IceGrid.Registry.Client.Endpoints="default -p ' + str(iceGridPort + i) + '" ' + \ - r' --IceGrid.Registry.LMDB.MapSize=1 --IceGrid.Registry.LMDB.Path="' + dataDir + '" ' - - if i > 0: - cmd += r' --IceGrid.Registry.ReplicaName=' + name + ' ' + getDefaultLocatorProperty() - - driverConfig = TestUtil.DriverConfig("server") - driverConfig.lang = "cpp" - proc = TestUtil.startServer(iceGrid, cmd, driverConfig, count = 5) - procs.append(proc) - print("ok") - - i = i + 1 - return procs - -def shutdownIceGridRegistry(procs): - - i = nreplicas - while i > 0: - sys.stdout.write("shutting down icegrid replica-" + str(i) + "... ") - sys.stdout.flush() - iceGridAdmin("registry shutdown replica-" + str(i)) - print("ok") - i = i - 1 - - sys.stdout.write("shutting down icegrid registry... ") - sys.stdout.flush() - iceGridAdmin("registry shutdown") - print("ok") - - for p in procs: - p.waitTestSuccess() - -def iceGridNodePropertiesOverride(): - - # - # Create property overrides from command line options. - # - overrideOptions = '' - for opt in shlex.split(TestUtil.getCommandLineProperties("", TestUtil.DriverConfig("server"), "")): - opt = opt.strip().replace("--", "") - index = opt.find("=") - if index == -1: - overrideOptions += ("%s=1 ") % opt - else: - key = opt[0:index] - value = opt[index + 1:] - if(value.find(' ') == -1): - overrideOptions += ("%s=%s ") % (key, value) - else: - # - # NOTE: We need 2 backslash before the quote to run the - # C# test/IceGrid/simple test with SSL. - # - overrideOptions += ("%s=\\\"%s\\\" ") % (key, value.replace('"', '\\\\\\"')) - - return overrideOptions - -def startIceGridNode(testdir): - - iceGrid = TestUtil.getIceGridNode() - dataDir = os.path.join(testdir, "db", "node") - if not os.path.exists(dataDir): - os.mkdir(dataDir) - else: - cleanDbDir(dataDir) - - overrideOptions = '" ' + iceGridNodePropertiesOverride() - overrideOptions += ' Ice.ServerIdleTime=0 Ice.PrintProcessId=0 Ice.PrintAdapterReady=0"' - - sys.stdout.write("starting icegrid node... ") - sys.stdout.flush() - command = r' --nowarn ' + nodeOptions + getDefaultLocatorProperty() + \ - r' --IceGrid.Node.Data="' + dataDir + '"' \ - r' --IceGrid.Node.Name=localnode' + \ - r' --IceGrid.Node.PropertiesOverride=' + overrideOptions - - driverConfig = TestUtil.DriverConfig("server") - driverConfig.lang = "cpp" - proc = TestUtil.startServer(iceGrid, command, driverConfig, adapter='node1') - - print("ok") - - return proc - -def iceGridAdmin(cmd, ignoreFailure = False): - - iceGridAdmin = TestUtil.getIceGridAdmin() - - user = r"admin1" - if cmd == "registry shutdown": - user = r"shutdown" - command = getDefaultLocatorProperty() + r" --IceGridAdmin.Username=" + user + " --IceGridAdmin.Password=test1 " + \ - r' -e "' + cmd + '"' - - if TestUtil.appverifier: - TestUtil.setAppVerifierSettings([TestUtil.getIceGridAdmin()]) - - driverConfig = TestUtil.DriverConfig("client") - driverConfig.lang = "cpp" - proc = TestUtil.startClient(iceGridAdmin, command, driverConfig) - status = proc.wait() - - if TestUtil.appverifier: - TestUtil.appVerifierAfterTestEnd([TestUtil.getIceGridAdmin()]) - - if not ignoreFailure and status: - print(proc.buf) - sys.exit(1) - return proc.buf - -def killNodeServers(): - - for server in iceGridAdmin("server list"): - server = server.strip() - iceGridAdmin("server disable " + server, True) - iceGridAdmin("server signal " + server + " SIGKILL", True) - -def iceGridTest(application, additionalOptions = "", applicationOptions = ""): - - testdir = os.getcwd() - if not TestUtil.isWin32() and os.getuid() == 0: - print - print("*** can't run test as root ***") - print - return - - client = TestUtil.getDefaultClientFile() - if TestUtil.getDefaultMapping() != "java" and TestUtil.getDefaultMapping() != "java-compat": - client = os.path.join(testdir, client) - - clientOptions = ' ' + getDefaultLocatorProperty() + ' ' + additionalOptions - - targets = [] - if TestUtil.appverifier: - targets = [client, TestUtil.getIceGridNode(), TestUtil.getIceGridRegistry()] - TestUtil.setAppVerifierSettings(targets) - - registryProcs = startIceGridRegistry(testdir) - iceGridNodeProc = startIceGridNode(testdir) - - javaHome = os.environ.get("JAVA_HOME", None) - javaExe = os.path.join(javaHome, "bin", "java") if javaHome else "java" - - if application != "": - sys.stdout.write("adding application... ") - sys.stdout.flush() - iceGridAdmin("application add -n '" + os.path.join(testdir, application) + "' " + - "test.dir='" + testdir + "' " + - "ice.bindir='" + TestUtil.getCppBinDir() + "' " + - "java.exe='" + javaExe + "' " + - applicationOptions) - print("ok") - - sys.stdout.write("starting client... ") - sys.stdout.flush() - clientProc = TestUtil.startClient(client, clientOptions, TestUtil.DriverConfig("client"), startReader = False) - print("ok") - clientProc.startReader() - clientProc.waitTestSuccess() - - if application != "": - sys.stdout.write("remove application... ") - sys.stdout.flush() - iceGridAdmin("application remove Test") - print("ok") - - sys.stdout.write("shutting down icegrid node... ") - sys.stdout.flush() - iceGridAdmin("node shutdown localnode") - print("ok") - shutdownIceGridRegistry(registryProcs) - iceGridNodeProc.waitTestSuccess() - - if TestUtil.appverifier: - TestUtil.appVerifierAfterTestEnd(targets) - -def iceGridClientServerTest(additionalClientOptions, additionalServerOptions): - - testdir = os.getcwd() - server = TestUtil.getDefaultServerFile() - client = TestUtil.getDefaultClientFile() - if TestUtil.getDefaultMapping() != "java" and TestUtil.getDefaultMapping() != "java-compat": - server = os.path.join(testdir, server) - client = os.path.join(testdir, client) - - targets = [] - if TestUtil.appverifier: - targets = [client, server, TestUtil.getIceGridRegistry()] - TestUtil.setAppVerifierSettings(targets) - - clientOptions = getDefaultLocatorProperty() + ' ' + additionalClientOptions - serverOptions = getDefaultLocatorProperty() + ' ' + additionalServerOptions - - registryProcs = startIceGridRegistry(testdir, True) - - sys.stdout.write("starting server... ") - sys.stdout.flush() - serverProc= TestUtil.startServer(server, serverOptions, TestUtil.DriverConfig("server")) - print("ok") - - sys.stdout.write("starting client... ") - sys.stdout.flush() - clientProc = TestUtil.startClient(client, clientOptions, TestUtil.DriverConfig("client")) - print("ok") - - clientProc.waitTestSuccess() - serverProc.waitTestSuccess() - - shutdownIceGridRegistry(registryProcs) - - if TestUtil.appverifier: - TestUtil.appVerifierAfterTestEnd(targets) - -def cleanDbDir(path): - for filename in [ os.path.join(path, f) for f in os.listdir(path) if f != ".gitignore"]: - if os.path.isdir(filename): - cleanDbDir(filename) - try: - os.rmdir(filename) - except OSError: - # This might fail if the directory is empty (because - # it itself contains a .gitignore file. - pass - else: - os.remove(filename) |