diff options
Diffstat (limited to 'csharp/test/Ice/faultTolerance/run.py')
-rwxr-xr-x | csharp/test/Ice/faultTolerance/run.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/csharp/test/Ice/faultTolerance/run.py b/csharp/test/Ice/faultTolerance/run.py new file mode 100755 index 00000000000..28d0d35f0d2 --- /dev/null +++ b/csharp/test/Ice/faultTolerance/run.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python +# ********************************************************************** +# +# Copyright (c) 2003-2015 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 os, sys, getopt + +path = [ ".", "..", "../..", "../../..", "../../../.." ] +head = os.path.dirname(sys.argv[0]) +if len(head) > 0: + path = [os.path.join(head, p) for p in path] +path = [os.path.abspath(p) for p in path if os.path.exists(os.path.join(p, "scripts", "TestUtil.py")) ] +if len(path) == 0: + raise RuntimeError("can't find toplevel directory!") +sys.path.append(os.path.join(path[0], "scripts")) +import TestUtil + +server = os.path.join(os.getcwd(), "server") +client = os.path.join(os.getcwd(), "client") + +if TestUtil.isCygwin(): + print("\nYou may get spurious \"Signal 127\" messages during this test run.") + print("These are expected and can be safely ignored.\n") + +num = 12 +base = 12340 + +serverProc = [] +for i in range(0, num): + sys.stdout.write("starting server #%d... " % (i + 1)) + sys.stdout.flush() + serverProc.append(TestUtil.startServer(server, " %d" % (base + i))) + print("ok") + +ports = "" +for i in range(0, num): + ports = "%s %d" % (ports, base + i) + +sys.stdout.write("starting client... ") +sys.stdout.flush() +clientProc = TestUtil.startClient(client, ports, startReader = False) +print("ok") +clientProc.startReader() + +clientProc.waitTestSuccess() +for p in serverProc: + #p.waitTestSuccess() + # We simuluate the abort of the server by calling Process.Kill(). However, this + # results in a non-zero exit status. Therefore we ignore the status. + p.wait() |