diff options
author | Matthew Newhook <matthew@zeroc.com> | 2015-03-21 15:35:40 -0230 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2015-03-21 15:35:40 -0230 |
commit | 630a37d2fe66f24518299e705f958b571803c522 (patch) | |
tree | 969723791bdc4d73bb099c19d45554d0ca241ad9 /python/test/Ice/operations/OnewaysAMI.py | |
parent | Fix some README.md markdown formatting (diff) | |
download | ice-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.py | 85 |
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 |