diff options
Diffstat (limited to 'demoscript/Ice/hello.py')
-rw-r--r-- | demoscript/Ice/hello.py | 83 |
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 |