summaryrefslogtreecommitdiff
path: root/js/demo/Glacier2/chat/expect.py
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2014-03-19 12:45:55 -0700
committerMark Spruiell <mes@zeroc.com>2014-03-19 12:45:55 -0700
commitcdcffbcc3c3c052afdeb772ff0167e7a90b525bb (patch)
tree4f16ee41ef7d33394c44e9db81e4d6cd89908250 /js/demo/Glacier2/chat/expect.py
parentfixing testicedist.py for 5487 (diff)
downloadice-cdcffbcc3c3c052afdeb772ff0167e7a90b525bb.tar.bz2
ice-cdcffbcc3c3c052afdeb772ff0167e7a90b525bb.tar.xz
ice-cdcffbcc3c3c052afdeb772ff0167e7a90b525bb.zip
merging javascript branch
Diffstat (limited to 'js/demo/Glacier2/chat/expect.py')
-rwxr-xr-xjs/demo/Glacier2/chat/expect.py73
1 files changed, 73 insertions, 0 deletions
diff --git a/js/demo/Glacier2/chat/expect.py b/js/demo/Glacier2/chat/expect.py
new file mode 100755
index 00000000000..45ef1189b50
--- /dev/null
+++ b/js/demo/Glacier2/chat/expect.py
@@ -0,0 +1,73 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2003-2014 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, signal
+
+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, "demoscript")) ]
+if len(path) == 0:
+ raise RuntimeError("can't find toplevel directory!")
+sys.path.append(path[0])
+
+from demoscript import Util
+
+server = Util.spawn('./server --Ice.PrintAdapterReady', Util.getMirrorDir("cpp"), mapping="cpp")
+server.expect('.* ready')
+
+glacier2 = Util.spawn(Util.getGlacier2Router() + ' --Ice.Config=%s/config.glacier2 --Ice.PrintAdapterReady' % Util.getMirrorDir("cpp"))
+glacier2.expect('Glacier2.Client ready')
+glacier2.expect('Glacier2.Server ready')
+
+sys.stdout.write("starting client 1... ")
+sys.stdout.flush()
+client1 = Util.spawn('node Client.js')
+client1.expect('user id:')
+client1.sendline("foo")
+client1.expect('password:')
+client1.sendline("foo")
+print("ok")
+
+sys.stdout.write("starting client 2... ")
+sys.stdout.flush()
+client2 = Util.spawn('node Client.js')
+client2.expect('user id:')
+client2.sendline("bar")
+client2.expect('password:')
+client2.sendline("bar")
+
+client1.expect("bar has entered the chat room")
+print("ok")
+
+sys.stdout.write("testing chat... ")
+sys.stdout.flush()
+client1.sendline("hi")
+client1.expect("foo says: hi")
+client2.expect("foo says: hi")
+
+client2.sendline("hello")
+client2.expect("bar says: hello")
+client1.expect("bar says: hello")
+
+client1.sendline("/quit")
+client1.waitTestSuccess()
+client2.expect("foo has left the chat room")
+
+client2.sendline("/quit")
+client2.waitTestSuccess()
+print("ok")
+
+server.kill(signal.SIGINT)
+server.waitTestSuccess()
+
+glacier2.kill(signal.SIGINT)
+glacier2.waitTestSuccess()