summaryrefslogtreecommitdiff
path: root/demoscript/Ice/invoke.py
diff options
context:
space:
mode:
Diffstat (limited to 'demoscript/Ice/invoke.py')
-rwxr-xr-xdemoscript/Ice/invoke.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/demoscript/Ice/invoke.py b/demoscript/Ice/invoke.py
new file mode 100755
index 00000000000..60c5392633d
--- /dev/null
+++ b/demoscript/Ice/invoke.py
@@ -0,0 +1,44 @@
+#!/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 run(client, server):
+ print "testing...",
+ sys.stdout.flush()
+ client.sendline('1')
+ server.expect("Printing string `The streaming API works!'")
+ client.sendline('2')
+ server.expect("Printing string sequence \\{'The', 'streaming', 'API', 'works!'\\}");
+ client.sendline('3')
+ server.expect("Printing dictionary \\{")
+ i = server.expect(["API=works!", "The=streaming"])
+ j = server.expect(["API=works!", "The=streaming"])
+ assert i != j
+ server.expect("\\}")
+ client.sendline('4')
+ server.expect("Printing enum green")
+ client.sendline('5')
+ server.expect("Printing struct: name=red, value=red")
+ client.sendline('6')
+ server.expect("Printing struct sequence: \\{red=red, green=green, blue=blue\\}")
+ client.sendline('7')
+ server.expect("Printing class: s\\.name=blue, s\\.value=blue")
+ client.sendline('8')
+ client.expect("Got string `hello' and class: s\\.name=green, s\\.value=green")
+ print "ok"
+
+ client.sendline('s')
+ server.expect(pexpect.EOF)
+ assert server.wait() == 0
+
+ client.sendline('x')
+ client.expect(pexpect.EOF)
+ assert client.wait() == 0