summaryrefslogtreecommitdiff
path: root/demoscript/Ice/hello.py
diff options
context:
space:
mode:
Diffstat (limited to 'demoscript/Ice/hello.py')
-rw-r--r--demoscript/Ice/hello.py83
1 files changed, 83 insertions, 0 deletions
diff --git a/demoscript/Ice/hello.py b/demoscript/Ice/hello.py
new file mode 100644
index 00000000000..243eb0abf65
--- /dev/null
+++ b/demoscript/Ice/hello.py
@@ -0,0 +1,83 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2003-2007 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 pexpect, sys
+
+def runtests(client, server, secure):
+ print "testing twoway",
+ sys.stdout.flush()
+ client.sendline('t')
+ server.expect('Hello World!')
+ print "oneway",
+ sys.stdout.flush()
+ client.sendline('o')
+ server.expect('Hello World!')
+ if not secure:
+ print "datagram",
+ sys.stdout.flush()
+ client.sendline('d')
+ server.expect('Hello World!')
+ print "... ok"
+
+ print "testing batch oneway",
+ sys.stdout.flush()
+ client.sendline('O')
+ try:
+ server.expect('Hello World!', timeout=1)
+ except pexpect.TIMEOUT:
+ pass
+ client.sendline('O')
+ client.sendline('f')
+ server.expect('Hello World!')
+ server.expect('Hello World!')
+ if not secure:
+ print "datagram",
+ sys.stdout.flush()
+ client.sendline('D')
+ try:
+ server.expect('Hello World!', timeout=1)
+ except pexpect.TIMEOUT:
+ pass
+ client.sendline('D')
+ client.sendline('f')
+ server.expect('Hello World!')
+ server.expect('Hello World!')
+ print "... ok"
+
+ print "testing timeout...",
+ sys.stdout.flush()
+ client.sendline('T')
+ client.sendline('P')
+ client.sendline('t')
+ client.expect('.*TimeoutException.*')
+ server.expect('Hello World!')
+ server.expect('Hello World!') # second because op is idempotent
+ client.sendline('P')
+ client.sendline('t')
+ server.expect('Hello World!')
+ client.sendline('T')
+ print "ok"
+
+def run(client, server):
+ runtests(client, server, False)
+
+ print "repeating tests with SSL"
+
+ client.sendline('S')
+
+ runtests(client, server, True)
+
+ client.sendline('s')
+ server.expect(pexpect.EOF)
+ assert server.wait() == 0
+
+ client.sendline('x')
+ client.expect(pexpect.EOF)
+ assert client.wait() == 0