summaryrefslogtreecommitdiff
path: root/python/test/Ice/operations/OnewaysAMI.py
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2015-03-21 15:35:40 -0230
committerMatthew Newhook <matthew@zeroc.com>2015-03-21 15:35:40 -0230
commit630a37d2fe66f24518299e705f958b571803c522 (patch)
tree969723791bdc4d73bb099c19d45554d0ca241ad9 /python/test/Ice/operations/OnewaysAMI.py
parentFix some README.md markdown formatting (diff)
downloadice-630a37d2fe66f24518299e705f958b571803c522.tar.bz2
ice-630a37d2fe66f24518299e705f958b571803c522.tar.xz
ice-630a37d2fe66f24518299e705f958b571803c522.zip
py -> python
rb -> ruby objc -> objective-c cs -> csharp
Diffstat (limited to 'python/test/Ice/operations/OnewaysAMI.py')
-rw-r--r--python/test/Ice/operations/OnewaysAMI.py85
1 files changed, 85 insertions, 0 deletions
diff --git a/python/test/Ice/operations/OnewaysAMI.py b/python/test/Ice/operations/OnewaysAMI.py
new file mode 100644
index 00000000000..1068cb2e9b0
--- /dev/null
+++ b/python/test/Ice/operations/OnewaysAMI.py
@@ -0,0 +1,85 @@
+# **********************************************************************
+#
+# 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 Ice, Test, threading
+
+def test(b):
+ if not b:
+ raise RuntimeError('test assertion failed')
+
+class CallbackBase:
+ def __init__(self):
+ self._called = False
+ self._cond = threading.Condition()
+
+ def check(self):
+ self._cond.acquire()
+ try:
+ while not self._called:
+ self._cond.wait()
+ self._called = False
+ finally:
+ self._cond.release()
+
+ def called(self):
+ self._cond.acquire()
+ self._called = True
+ self._cond.notify()
+ self._cond.release()
+
+class Callback(CallbackBase):
+ def sent(self, sentSynchronously):
+ self.called()
+
+ def noException(self, ex):
+ test(False)
+
+def onewaysAMI(communicator, proxy):
+
+ p = Test.MyClassPrx.uncheckedCast(proxy.ice_oneway())
+
+ cb = Callback()
+ p.begin_ice_ping(None, cb.noException, cb.sent)
+ cb.check()
+
+ try:
+ p.begin_ice_isA(Test.MyClass.ice_staticId())
+ test(False)
+ except RuntimeError:
+ pass
+
+ try:
+ p.begin_ice_id()
+ test(False)
+ except RuntimeError:
+ pass
+
+ try:
+ p.begin_ice_ids()
+ test(False)
+ except RuntimeError:
+ pass
+
+ cb = Callback()
+ p.begin_opVoid(None, cb.noException, cb.sent)
+ cb.check()
+
+ cb = Callback()
+ p.begin_opIdempotent(None, cb.noException, cb.sent)
+ cb.check()
+
+ cb = Callback()
+ p.begin_opNonmutating(None, cb.noException, cb.sent)
+ cb.check()
+
+ try:
+ p.begin_opByte(0xff, 0x0f)
+ test(False)
+ except RuntimeError:
+ pass