diff options
Diffstat (limited to 'cpp/test/Ice/proxy')
-rw-r--r-- | cpp/test/Ice/proxy/.depend | 17 | ||||
-rw-r--r-- | cpp/test/Ice/proxy/AllTests.cpp | 561 | ||||
-rw-r--r-- | cpp/test/Ice/proxy/Client.cpp | 86 | ||||
-rw-r--r-- | cpp/test/Ice/proxy/Collocated.cpp | 63 | ||||
-rw-r--r-- | cpp/test/Ice/proxy/Makefile | 63 | ||||
-rw-r--r-- | cpp/test/Ice/proxy/Makefile.mak | 76 | ||||
-rw-r--r-- | cpp/test/Ice/proxy/Server.cpp | 62 | ||||
-rw-r--r-- | cpp/test/Ice/proxy/ServerAMD.cpp | 62 | ||||
-rw-r--r-- | cpp/test/Ice/proxy/Test.ice | 32 | ||||
-rw-r--r-- | cpp/test/Ice/proxy/TestAMD.ice | 32 | ||||
-rw-r--r-- | cpp/test/Ice/proxy/TestAMDI.cpp | 53 | ||||
-rw-r--r-- | cpp/test/Ice/proxy/TestAMDI.h | 39 | ||||
-rw-r--r-- | cpp/test/Ice/proxy/TestI.cpp | 50 | ||||
-rw-r--r-- | cpp/test/Ice/proxy/TestI.h | 31 | ||||
-rwxr-xr-x | cpp/test/Ice/proxy/run.py | 31 |
15 files changed, 1258 insertions, 0 deletions
diff --git a/cpp/test/Ice/proxy/.depend b/cpp/test/Ice/proxy/.depend new file mode 100644 index 00000000000..3706ff8aa51 --- /dev/null +++ b/cpp/test/Ice/proxy/.depend @@ -0,0 +1,17 @@ +Test$(OBJEXT): Test.cpp Test.h ../../../include/Ice/LocalObjectF.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GCShared.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/StreamF.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/InstanceF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/Ice/StringConverter.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/Direct.h ../../../include/Ice/LocalException.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/ObjectFactory.h ../../../include/IceUtil/Iterator.h ../../../include/IceUtil/ScopedArray.h +Client$(OBJEXT): Client.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GCShared.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h ../../include/TestCommon.h Test.h +AllTests$(OBJEXT): AllTests.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GCShared.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h ../../../include/Ice/Router.h ../../include/TestCommon.h Test.h +Test$(OBJEXT): Test.cpp Test.h ../../../include/Ice/LocalObjectF.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GCShared.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/StreamF.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/InstanceF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/Ice/StringConverter.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/Direct.h ../../../include/Ice/LocalException.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/ObjectFactory.h ../../../include/IceUtil/Iterator.h ../../../include/IceUtil/ScopedArray.h +TestI$(OBJEXT): TestI.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GCShared.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h ../../../include/IceUtil/IceUtil.h ../../../include/IceUtil/AbstractMutex.h ../../../include/IceUtil/Algorithm.h ../../../include/IceUtil/ArgVector.h ../../../include/IceUtil/Base64.h ../../../include/IceUtil/Cache.h ../../../include/IceUtil/CountDownLatch.h ../../../include/IceUtil/CtrlCHandler.h ../../../include/IceUtil/InputUtil.h ../../../include/IceUtil/Iterator.h ../../../include/IceUtil/MD5.h ../../../include/IceUtil/Options.h ../../../include/IceUtil/OutputUtil.h ../../../include/IceUtil/RWRecMutex.h ../../../include/IceUtil/Thread.h ../../../include/IceUtil/Random.h ../../../include/IceUtil/ScopedArray.h ../../../include/IceUtil/StringUtil.h ../../../include/IceUtil/UUID.h TestI.h Test.h ../../include/TestCommon.h +Server$(OBJEXT): Server.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GCShared.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h TestI.h Test.h +TestAMD$(OBJEXT): TestAMD.cpp TestAMD.h ../../../include/Ice/LocalObjectF.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GCShared.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/StreamF.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/InstanceF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/Ice/StringConverter.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/LocalException.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/ObjectFactory.h ../../../include/IceUtil/Iterator.h ../../../include/IceUtil/ScopedArray.h +TestAMDI$(OBJEXT): TestAMDI.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GCShared.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h TestAMDI.h ../../../include/IceUtil/Thread.h TestAMD.h ../../include/TestCommon.h +ServerAMD$(OBJEXT): ServerAMD.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GCShared.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h TestAMDI.h ../../../include/IceUtil/Thread.h TestAMD.h +Test$(OBJEXT): Test.cpp Test.h ../../../include/Ice/LocalObjectF.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GCShared.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/StreamF.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/InstanceF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/Ice/StringConverter.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/Direct.h ../../../include/Ice/LocalException.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/ObjectFactory.h ../../../include/IceUtil/Iterator.h ../../../include/IceUtil/ScopedArray.h +TestI$(OBJEXT): TestI.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GCShared.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h ../../../include/IceUtil/IceUtil.h ../../../include/IceUtil/AbstractMutex.h ../../../include/IceUtil/Algorithm.h ../../../include/IceUtil/ArgVector.h ../../../include/IceUtil/Base64.h ../../../include/IceUtil/Cache.h ../../../include/IceUtil/CountDownLatch.h ../../../include/IceUtil/CtrlCHandler.h ../../../include/IceUtil/InputUtil.h ../../../include/IceUtil/Iterator.h ../../../include/IceUtil/MD5.h ../../../include/IceUtil/Options.h ../../../include/IceUtil/OutputUtil.h ../../../include/IceUtil/RWRecMutex.h ../../../include/IceUtil/Thread.h ../../../include/IceUtil/Random.h ../../../include/IceUtil/ScopedArray.h ../../../include/IceUtil/StringUtil.h ../../../include/IceUtil/UUID.h TestI.h Test.h ../../include/TestCommon.h +Collocated$(OBJEXT): Collocated.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GCShared.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h TestI.h Test.h +AllTests$(OBJEXT): AllTests.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Initialize.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalObjectF.h ../../../include/IceUtil/Shared.h ../../../include/IceUtil/Config.h ../../../include/IceUtil/Mutex.h ../../../include/IceUtil/Lock.h ../../../include/IceUtil/ThreadException.h ../../../include/IceUtil/Exception.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/Config.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ObjectF.h ../../../include/Ice/GCCountMap.h ../../../include/Ice/GCShared.h ../../../include/Ice/Exception.h ../../../include/Ice/LocalObject.h ../../../include/Ice/UndefSysMacros.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/InstanceF.h ../../../include/Ice/LoggerF.h ../../../include/Ice/StreamF.h ../../../include/Ice/StatsF.h ../../../include/Ice/StringConverter.h ../../../include/Ice/BuiltinSequences.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/ConnectionIF.h ../../../include/Ice/EndpointIF.h ../../../include/Ice/Endpoint.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/OutgoingAsyncF.h ../../../include/Ice/Current.h ../../../include/Ice/ConnectionF.h ../../../include/Ice/Identity.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/LoggerUtil.h ../../../include/Ice/Stats.h ../../../include/Ice/Communicator.h ../../../include/Ice/Object.h ../../../include/Ice/IncomingAsyncF.h ../../../include/Ice/ObjectFactoryF.h ../../../include/Ice/RouterF.h ../../../include/Ice/LocatorF.h ../../../include/Ice/PluginF.h ../../../include/Ice/ImplicitContextF.h ../../../include/Ice/ObjectFactory.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/Outgoing.h ../../../include/IceUtil/Monitor.h ../../../include/IceUtil/Cond.h ../../../include/IceUtil/Time.h ../../../include/Ice/BasicStream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Protocol.h ../../../include/IceUtil/Unicode.h ../../../include/Ice/OutgoingAsync.h ../../../include/IceUtil/RecMutex.h ../../../include/Ice/Incoming.h ../../../include/Ice/ServantLocatorF.h ../../../include/Ice/ServantManagerF.h ../../../include/Ice/IncomingAsync.h ../../../include/Ice/Direct.h ../../../include/Ice/UserExceptionFactory.h ../../../include/Ice/FactoryTable.h ../../../include/Ice/FactoryTableDef.h ../../../include/IceUtil/StaticMutex.h ../../../include/Ice/UserExceptionFactoryF.h ../../../include/Ice/FacetMap.h ../../../include/Ice/Locator.h ../../../include/Ice/ProcessF.h ../../../include/Ice/ServantLocator.h ../../../include/Ice/Process.h ../../../include/Ice/Application.h ../../../include/Ice/Connection.h ../../../include/Ice/Functional.h ../../../include/IceUtil/Functional.h ../../../include/Ice/Stream.h ../../../include/Ice/ImplicitContext.h ../../../include/Ice/Router.h ../../include/TestCommon.h Test.h +Test.cpp: Test.ice ../../../slice/Ice/Current.ice ../../../slice/Ice/ObjectAdapterF.ice ../../../slice/Ice/ConnectionF.ice ../../../slice/Ice/Identity.ice +TestAMD.cpp: TestAMD.ice ../../../slice/Ice/Current.ice ../../../slice/Ice/ObjectAdapterF.ice ../../../slice/Ice/ConnectionF.ice ../../../slice/Ice/Identity.ice +Test.ice: $(SLICE2CPP) $(SLICEPARSERLIB) +TestAMD.ice: $(SLICE2CPP) $(SLICEPARSERLIB) diff --git a/cpp/test/Ice/proxy/AllTests.cpp b/cpp/test/Ice/proxy/AllTests.cpp new file mode 100644 index 00000000000..cffc5b176f8 --- /dev/null +++ b/cpp/test/Ice/proxy/AllTests.cpp @@ -0,0 +1,561 @@ +// ********************************************************************** +// +// 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. +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <Ice/Locator.h> +#include <Ice/Router.h> +#include <TestCommon.h> +#include <Test.h> + +using namespace std; + +class AMI_MyClass_opSleepI : public Test::AMI_MyClass_opSleep, public IceUtil::Monitor<IceUtil::Mutex> +{ +public: + + AMI_MyClass_opSleepI() : + _called(false) + { + } + + virtual void ice_response() + { + test(false); + } + + virtual void ice_exception(const ::Ice::Exception& ex) + { + IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this); + assert(!_called); + _called = true; + notify(); + test(dynamic_cast<const ::Ice::TimeoutException*>(&ex)); + } + + bool check() + { + IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this); + while(!_called) + { + if(!timedWait(IceUtil::Time::seconds(5))) + { + return false; + } + } + _called = false; + return true; + } + +private: + + bool _called; +}; +typedef IceUtil::Handle<AMI_MyClass_opSleepI> AMI_MyClass_opSleepIPtr; + +Test::MyClassPrx +allTests(const Ice::CommunicatorPtr& communicator, bool collocated) +{ + cout << "testing stringToProxy... " << flush; + string ref = "test:default -p 12010 -t 10000"; + Ice::ObjectPrx base = communicator->stringToProxy(ref); + test(base); + + Ice::ObjectPrx b1 = communicator->stringToProxy("test"); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category.empty() && + b1->ice_getAdapterId().empty() && b1->ice_getFacet().empty()); + b1 = communicator->stringToProxy("test "); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category.empty() && + b1->ice_getFacet().empty()); + b1 = communicator->stringToProxy(" test "); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category.empty() && + b1->ice_getFacet().empty()); + b1 = communicator->stringToProxy(" test"); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category.empty() && + b1->ice_getFacet().empty()); + b1 = communicator->stringToProxy("'test -f facet'"); + test(b1->ice_getIdentity().name == "test -f facet" && b1->ice_getIdentity().category.empty() && + b1->ice_getFacet().empty()); + try + { + b1 = communicator->stringToProxy("\"test -f facet'"); + test(false); + } + catch(const Ice::ProxyParseException&) + { + } + b1 = communicator->stringToProxy("\"test -f facet\""); + test(b1->ice_getIdentity().name == "test -f facet" && b1->ice_getIdentity().category.empty() && + b1->ice_getFacet().empty()); + b1 = communicator->stringToProxy("\"test -f facet@test\""); + test(b1->ice_getIdentity().name == "test -f facet@test" && b1->ice_getIdentity().category.empty() && + b1->ice_getFacet().empty()); + b1 = communicator->stringToProxy("\"test -f facet@test @test\""); + test(b1->ice_getIdentity().name == "test -f facet@test @test" && b1->ice_getIdentity().category.empty() && + b1->ice_getFacet().empty()); + try + { + b1 = communicator->stringToProxy("test test"); + test(false); + } + catch(const Ice::ProxyParseException&) + { + } + b1 = communicator->stringToProxy("test\\040test"); + test(b1->ice_getIdentity().name == "test test" && b1->ice_getIdentity().category.empty()); + try + { + b1 = communicator->stringToProxy("test\\777"); + test(false); + } + catch(const Ice::IdentityParseException&) + { + } + b1 = communicator->stringToProxy("test\\40test"); + test(b1->ice_getIdentity().name == "test test"); + + // Test some octal and hex corner cases. + b1 = communicator->stringToProxy("test\\4test"); + test(b1->ice_getIdentity().name == "test\4test"); + b1 = communicator->stringToProxy("test\\04test"); + test(b1->ice_getIdentity().name == "test\4test"); + b1 = communicator->stringToProxy("test\\004test"); + test(b1->ice_getIdentity().name == "test\4test"); + b1 = communicator->stringToProxy("test\\1114test"); + test(b1->ice_getIdentity().name == "test\1114test"); + + b1 = communicator->stringToProxy("test\\b\\f\\n\\r\\t\\'\\\"\\\\test"); + test(b1->ice_getIdentity().name == "test\b\f\n\r\t\'\"\\test" && b1->ice_getIdentity().category.empty()); + + b1 = communicator->stringToProxy("category/test"); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category == "category" && + b1->ice_getAdapterId().empty()); + + b1 = communicator->stringToProxy("test@adapter"); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category.empty() && + b1->ice_getAdapterId() == "adapter"); + try + { + b1 = communicator->stringToProxy("id@adapter test"); + test(false); + } + catch(const Ice::ProxyParseException&) + { + } + b1 = communicator->stringToProxy("category/test@adapter"); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category == "category" && + b1->ice_getAdapterId() == "adapter"); + b1 = communicator->stringToProxy("category/test@adapter:tcp"); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category == "category" && + b1->ice_getAdapterId() == "adapter:tcp"); + b1 = communicator->stringToProxy("'category 1/test'@adapter"); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category == "category 1" && + b1->ice_getAdapterId() == "adapter"); + b1 = communicator->stringToProxy("'category/test 1'@adapter"); + test(b1->ice_getIdentity().name == "test 1" && b1->ice_getIdentity().category == "category" && + b1->ice_getAdapterId() == "adapter"); + b1 = communicator->stringToProxy("'category/test'@'adapter 1'"); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category == "category" && + b1->ice_getAdapterId() == "adapter 1"); + b1 = communicator->stringToProxy("\"category \\/test@foo/test\"@adapter"); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category == "category /test@foo" && + b1->ice_getAdapterId() == "adapter"); + b1 = communicator->stringToProxy("\"category \\/test@foo/test\"@\"adapter:tcp\""); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category == "category /test@foo" && + b1->ice_getAdapterId() == "adapter:tcp"); + + b1 = communicator->stringToProxy("id -f facet"); + test(b1->ice_getIdentity().name == "id" && b1->ice_getIdentity().category.empty() && + b1->ice_getFacet() == "facet"); + b1 = communicator->stringToProxy("id -f 'facet x'"); + test(b1->ice_getIdentity().name == "id" && b1->ice_getIdentity().category.empty() && + b1->ice_getFacet() == "facet x"); + b1 = communicator->stringToProxy("id -f \"facet x\""); + test(b1->ice_getIdentity().name == "id" && b1->ice_getIdentity().category.empty() && + b1->ice_getFacet() == "facet x"); + try + { + b1 = communicator->stringToProxy("id -f \"facet x"); + test(false); + } + catch(const Ice::ProxyParseException&) + { + } + try + { + b1 = communicator->stringToProxy("id -f \'facet x"); + test(false); + } + catch(const Ice::ProxyParseException&) + { + } + b1 = communicator->stringToProxy("test -f facet:tcp"); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category.empty() && + b1->ice_getFacet() == "facet" && b1->ice_getAdapterId().empty()); + b1 = communicator->stringToProxy("test -f \"facet:tcp\""); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category.empty() && + b1->ice_getFacet() == "facet:tcp" && b1->ice_getAdapterId().empty()); + b1 = communicator->stringToProxy("test -f facet@test"); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category.empty() && + b1->ice_getFacet() == "facet" && b1->ice_getAdapterId() == "test"); + b1 = communicator->stringToProxy("test -f 'facet@test'"); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category.empty() && + b1->ice_getFacet() == "facet@test" && b1->ice_getAdapterId().empty()); + b1 = communicator->stringToProxy("test -f 'facet@test'@test"); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category.empty() && + b1->ice_getFacet() == "facet@test" && b1->ice_getAdapterId() == "test"); + try + { + b1 = communicator->stringToProxy("test -f facet@test @test"); + test(false); + } + catch(const Ice::ProxyParseException&) + { + } + b1 = communicator->stringToProxy("test"); + test(b1->ice_isTwoway()); + b1 = communicator->stringToProxy("test -t"); + test(b1->ice_isTwoway()); + b1 = communicator->stringToProxy("test -o"); + test(b1->ice_isOneway()); + b1 = communicator->stringToProxy("test -O"); + test(b1->ice_isBatchOneway()); + b1 = communicator->stringToProxy("test -d"); + test(b1->ice_isDatagram()); + b1 = communicator->stringToProxy("test -D"); + test(b1->ice_isBatchDatagram()); + b1 = communicator->stringToProxy("test"); + test(!b1->ice_isSecure()); + b1 = communicator->stringToProxy("test -s"); + test(b1->ice_isSecure()); + + try + { + b1 = communicator->stringToProxy("test:tcp@adapterId"); + test(false); + } + catch(const Ice::EndpointParseException&) + { + } + // This is an unknown endpoint warning, not a parse exception. + // + //try + //{ + // b1 = communicator->stringToProxy("test -f the:facet:tcp"); + // test(false); + //} + //catch(const Ice::EndpointParseException&) + //{ + //} + try + { + b1 = communicator->stringToProxy("test::tcp"); + test(false); + } + catch(const Ice::EndpointParseException&) + { + } + cout << "ok" << endl; + + cout << "testing propertyToProxy... " << flush; + Ice::PropertiesPtr prop = communicator->getProperties(); + string propertyPrefix = "Foo.Proxy"; + prop->setProperty(propertyPrefix, "test:default -p 12010 -t 10000"); + b1 = communicator->propertyToProxy(propertyPrefix); + test(b1->ice_getIdentity().name == "test" && b1->ice_getIdentity().category.empty() && + b1->ice_getAdapterId().empty() && b1->ice_getFacet().empty()); + + // These two properties don't do anything to direct proxies so + // first we test that. + string property = propertyPrefix + ".Locator"; + test(!b1->ice_getLocator()); + prop->setProperty(property, "locator:default -p 10000"); + b1 = communicator->propertyToProxy(propertyPrefix); + test(!b1->ice_getLocator()); + prop->setProperty(property, ""); + + property = propertyPrefix + ".LocatorCacheTimeout"; + test(b1->ice_getLocatorCacheTimeout() == 0); + prop->setProperty(property, "1"); + b1 = communicator->propertyToProxy(propertyPrefix); + test(b1->ice_getLocatorCacheTimeout() == 0); + prop->setProperty(property, ""); + + // Now retest with an indirect proxy. + prop->setProperty(propertyPrefix, "test"); + property = propertyPrefix + ".Locator"; + prop->setProperty(property, "locator:default -p 10000"); + b1 = communicator->propertyToProxy(propertyPrefix); + test(b1->ice_getLocator() && b1->ice_getLocator()->ice_getIdentity().name == "locator"); + prop->setProperty(property, ""); + + property = propertyPrefix + ".LocatorCacheTimeout"; + test(b1->ice_getLocatorCacheTimeout() == -1); + prop->setProperty(property, "1"); + b1 = communicator->propertyToProxy(propertyPrefix); + test(b1->ice_getLocatorCacheTimeout() == 1); + prop->setProperty(property, ""); + + // This cannot be tested so easily because the property is cached + // on communicator initialization. + // + //prop->setProperty("Ice.Default.LocatorCacheTimeout", "60"); + //b1 = communicator->propertyToProxy(propertyPrefix); + //test(b1->ice_getLocatorCacheTimeout() == 60); + //prop->setProperty("Ice.Default.LocatorCacheTimeout", ""); + + prop->setProperty(propertyPrefix, "test:default -p 12010 -t 10000"); + + property = propertyPrefix + ".Router"; + test(!b1->ice_getRouter()); + prop->setProperty(property, "router:default -p 10000"); + b1 = communicator->propertyToProxy(propertyPrefix); + test(b1->ice_getRouter() && b1->ice_getRouter()->ice_getIdentity().name == "router"); + prop->setProperty(property, ""); + + property = propertyPrefix + ".PreferSecure"; + test(!b1->ice_isPreferSecure()); + prop->setProperty(property, "1"); + b1 = communicator->propertyToProxy(propertyPrefix); + test(b1->ice_isPreferSecure()); + prop->setProperty(property, ""); + + property = propertyPrefix + ".ConnectionCached"; + test(b1->ice_isConnectionCached()); + prop->setProperty(property, "0"); + b1 = communicator->propertyToProxy(propertyPrefix); + test(!b1->ice_isConnectionCached()); + prop->setProperty(property, ""); + + property = propertyPrefix + ".EndpointSelection"; + test(b1->ice_getEndpointSelection() == Ice::Random); + prop->setProperty(property, "Random"); + b1 = communicator->propertyToProxy(propertyPrefix); + test(b1->ice_getEndpointSelection() == Ice::Random); + prop->setProperty(property, "Ordered"); + b1 = communicator->propertyToProxy(propertyPrefix); + test(b1->ice_getEndpointSelection() == Ice::Ordered); + prop->setProperty(property, ""); + + property = propertyPrefix + ".CollocationOptimization"; + test(b1->ice_isCollocationOptimized()); + prop->setProperty(property, "0"); + b1 = communicator->propertyToProxy(propertyPrefix); + test(!b1->ice_isCollocationOptimized()); + prop->setProperty(property, ""); + + property = propertyPrefix + ".ThreadPerConnection"; + test(!b1->ice_isThreadPerConnection()); + prop->setProperty(property, "1"); + b1 = communicator->propertyToProxy(propertyPrefix); + test(b1->ice_isThreadPerConnection()); + prop->setProperty(property, ""); + + cout << "ok" << endl; + + cout << "testing ice_getCommunicator... " << flush; + test(base->ice_getCommunicator() == communicator); + cout << "ok" << endl; + + cout << "testing proxy methods... " << flush; + test(communicator->identityToString(base->ice_identity(communicator->stringToIdentity("other"))->ice_getIdentity()) + == "other"); + test(base->ice_facet("facet")->ice_getFacet() == "facet"); + test(base->ice_adapterId("id")->ice_getAdapterId() == "id"); + test(base->ice_twoway()->ice_isTwoway()); + test(base->ice_oneway()->ice_isOneway()); + test(base->ice_batchOneway()->ice_isBatchOneway()); + test(base->ice_datagram()->ice_isDatagram()); + test(base->ice_batchDatagram()->ice_isBatchDatagram()); + test(base->ice_secure(true)->ice_isSecure()); + test(!base->ice_secure(false)->ice_isSecure()); + test(base->ice_collocationOptimized(true)->ice_isCollocationOptimized()); + test(!base->ice_collocationOptimized(false)->ice_isCollocationOptimized()); + cout << "ok" << endl; + + cout << "testing proxy comparison... " << flush; + + test(communicator->stringToProxy("foo") == communicator->stringToProxy("foo")); + test(communicator->stringToProxy("foo") != communicator->stringToProxy("foo2")); + test(communicator->stringToProxy("foo") < communicator->stringToProxy("foo2")); + test(!(communicator->stringToProxy("foo2") < communicator->stringToProxy("foo"))); + + Ice::ObjectPrx compObj = communicator->stringToProxy("foo"); + + test(compObj->ice_facet("facet") == compObj->ice_facet("facet")); + test(compObj->ice_facet("facet") != compObj->ice_facet("facet1")); + test(compObj->ice_facet("facet") < compObj->ice_facet("facet1")); + test(!(compObj->ice_facet("facet") < compObj->ice_facet("facet"))); + + test(compObj->ice_oneway() == compObj->ice_oneway()); + test(compObj->ice_oneway() != compObj->ice_twoway()); + test(compObj->ice_twoway() < compObj->ice_oneway()); + test(!(compObj->ice_oneway() < compObj->ice_twoway())); + + test(compObj->ice_secure(true) == compObj->ice_secure(true)); + test(compObj->ice_secure(false) != compObj->ice_secure(true)); + test(compObj->ice_secure(false) < compObj->ice_secure(true)); + test(!(compObj->ice_secure(true) < compObj->ice_secure(false))); + + test(compObj->ice_collocationOptimized(true) == compObj->ice_collocationOptimized(true)); + test(compObj->ice_collocationOptimized(false) != compObj->ice_collocationOptimized(true)); + test(compObj->ice_collocationOptimized(false) < compObj->ice_collocationOptimized(true)); + test(!(compObj->ice_collocationOptimized(true) < compObj->ice_collocationOptimized(false))); + + test(compObj->ice_connectionCached(true) == compObj->ice_connectionCached(true)); + test(compObj->ice_connectionCached(false) != compObj->ice_connectionCached(true)); + test(compObj->ice_connectionCached(false) < compObj->ice_connectionCached(true)); + test(!(compObj->ice_connectionCached(true) < compObj->ice_connectionCached(false))); + + test(compObj->ice_endpointSelection(Ice::Random) == compObj->ice_endpointSelection(Ice::Random)); + test(compObj->ice_endpointSelection(Ice::Random) != compObj->ice_endpointSelection(Ice::Ordered)); + test(compObj->ice_endpointSelection(Ice::Random) < compObj->ice_endpointSelection(Ice::Ordered)); + test(!(compObj->ice_endpointSelection(Ice::Ordered) < compObj->ice_endpointSelection(Ice::Random))); + + test(compObj->ice_connectionId("id2") == compObj->ice_connectionId("id2")); + test(compObj->ice_connectionId("id1") != compObj->ice_connectionId("id2")); + test(compObj->ice_connectionId("id1") < compObj->ice_connectionId("id2")); + test(!(compObj->ice_connectionId("id2") < compObj->ice_connectionId("id1"))); + + test(compObj->ice_compress(true) == compObj->ice_compress(true)); + test(compObj->ice_compress(false) != compObj->ice_compress(true)); + test(compObj->ice_compress(false) < compObj->ice_compress(true)); + test(!(compObj->ice_compress(true) < compObj->ice_compress(false))); + + test(compObj->ice_timeout(20) == compObj->ice_timeout(20)); + test(compObj->ice_timeout(10) != compObj->ice_timeout(20)); + test(compObj->ice_timeout(10) < compObj->ice_timeout(20)); + test(!(compObj->ice_timeout(20) < compObj->ice_timeout(10))); + + Ice::ObjectPrx compObj1 = communicator->stringToProxy("foo:tcp -h 127.0.0.1 -p 10000"); + Ice::ObjectPrx compObj2 = communicator->stringToProxy("foo:tcp -h 127.0.0.1 -p 10001"); + test(compObj1 != compObj2); + test(compObj1 < compObj2); + test(!(compObj2 < compObj1)); + + compObj1 = communicator->stringToProxy("foo@MyAdapter1"); + compObj2 = communicator->stringToProxy("foo@MyAdapter2"); + test(compObj1 != compObj2); + test(compObj1 < compObj2); + test(!(compObj2 < compObj1)); + + test(compObj1->ice_locatorCacheTimeout(20) == compObj1->ice_locatorCacheTimeout(20)); + test(compObj1->ice_locatorCacheTimeout(10) != compObj1->ice_locatorCacheTimeout(20)); + test(compObj1->ice_locatorCacheTimeout(10) < compObj1->ice_locatorCacheTimeout(20)); + test(!(compObj1->ice_locatorCacheTimeout(20) < compObj1->ice_locatorCacheTimeout(10))); + + compObj1 = communicator->stringToProxy("foo:tcp -h 127.0.0.1 -p 1000"); + compObj2 = communicator->stringToProxy("foo@MyAdapter1"); + test(compObj1 != compObj2); + test(compObj1 < compObj2); + test(!(compObj2 < compObj1)); + + // + // TODO: Ideally we should also test comparison of fixed proxies. + // + + cout << "ok" << endl; + + cout << "testing checked cast... " << flush; + Test::MyClassPrx cl = Test::MyClassPrx::checkedCast(base); + test(cl); + + Test::MyDerivedClassPrx derived = Test::MyDerivedClassPrx::checkedCast(cl); + test(derived); + test(cl == base); + test(derived == base); + test(cl == derived); + + Ice::LocatorPrx loc = Ice::LocatorPrx::checkedCast(base); + test(loc == 0); + + // + // Upcasting + // + Test::MyClassPrx cl2 = Test::MyClassPrx::checkedCast(derived); + Ice::ObjectPrx obj = Ice::ObjectPrx::checkedCast(derived); + test(cl2); + test(obj); + test(cl2 == obj); + test(cl2 == derived); + + // + // Now with alternate API + // + cl = checkedCast<Test::MyClassPrx>(base); + test(cl); + derived = checkedCast<Test::MyDerivedClassPrx>(cl); + test(derived); + test(cl == base); + test(derived == base); + test(cl == derived); + + loc = checkedCast<Ice::LocatorPrx>(base); + test(loc == 0); + + cl2 = checkedCast<Test::MyClassPrx>(derived); + obj = checkedCast<Ice::ObjectPrx>(derived); + test(cl2); + test(obj); + test(cl2 == obj); + test(cl2 == derived); + + cout << "ok" << endl; + + cout << "testing checked cast with context... " << flush; + Ice::Context c = cl->getContext(); + test(c.size() == 0); + + c["one"] = "hello"; + c["two"] = "world"; + cl = Test::MyClassPrx::checkedCast(base, c); + Ice::Context c2 = cl->getContext(); + test(c == c2); + + // + // Now with alternate API + // + cl = checkedCast<Test::MyClassPrx>(base); + c = cl->getContext(); + test(c.size() == 0); + + cl = checkedCast<Test::MyClassPrx>(base, c); + c2 = cl->getContext(); + test(c == c2); + + cout << "ok" << endl; + + if(!collocated) + { + cout << "testing timeout... " << flush; + Test::MyClassPrx clTimeout = Test::MyClassPrx::uncheckedCast(base->ice_timeout(500)); + try + { + clTimeout->opSleep(2000); + test(false); + } + catch(const Ice::TimeoutException&) + { + } + + AMI_MyClass_opSleepIPtr cb = new AMI_MyClass_opSleepI(); + try + { + clTimeout->opSleep_async(cb, 2000); + } + catch(const Ice::Exception&) + { + test(false); + } + test(cb->check()); + + cout << "ok" << endl; + } + + return cl; +} diff --git a/cpp/test/Ice/proxy/Client.cpp b/cpp/test/Ice/proxy/Client.cpp new file mode 100644 index 00000000000..c9527dea93a --- /dev/null +++ b/cpp/test/Ice/proxy/Client.cpp @@ -0,0 +1,86 @@ +// ********************************************************************** +// +// 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. +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <TestCommon.h> +#include <Test.h> + +using namespace std; + +int +run(int argc, char* argv[], + const Ice::CommunicatorPtr& communicator, + const Ice::InitializationData& initData) +{ + Test::MyClassPrx allTests(const Ice::CommunicatorPtr&, bool); + Test::MyClassPrx myClass = allTests(communicator, false); + + myClass->shutdown(); + + return EXIT_SUCCESS; +} + +int +main(int argc, char* argv[]) +{ + int status; + Ice::CommunicatorPtr communicator; + + try + { + // + // In this test, we need at least two threads in the + // client side thread pool for nested AMI. + // + Ice::InitializationData initData; + initData.properties = Ice::createProperties(argc, argv); + initData.properties->setProperty("Ice.ThreadPool.Client.Size", "2"); + initData.properties->setProperty("Ice.ThreadPool.Client.SizeWarn", "0"); + + // + // We must set MessageSizeMax to an explicit values, because + // we run tests to check whether Ice.MemoryLimitException is + // raised as expected. + // + initData.properties->setProperty("Ice.MessageSizeMax", "100"); + + // + // We don't want connection warnings because of the timeout test. + // + initData.properties->setProperty("Ice.Warn.Connections", "0"); + // + // Use a faster connection monitor timeout to test AMI + // timeouts. + // + initData.properties->setProperty("Ice.MonitorConnections", "1"); + + communicator = Ice::initialize(argc, argv, initData); + status = run(argc, argv, communicator, initData); + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + + if(communicator) + { + try + { + communicator->destroy(); + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + } + + return status; +} diff --git a/cpp/test/Ice/proxy/Collocated.cpp b/cpp/test/Ice/proxy/Collocated.cpp new file mode 100644 index 00000000000..f27d5051d8c --- /dev/null +++ b/cpp/test/Ice/proxy/Collocated.cpp @@ -0,0 +1,63 @@ +// ********************************************************************** +// +// 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. +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <TestI.h> + +using namespace std; + +int +run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator, + const Ice::InitializationData& initData) +{ + communicator->getProperties()->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000"); + Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter"); + adapter->add(new MyDerivedClassI, communicator->stringToIdentity("test")); + adapter->activate(); + + Test::MyClassPrx allTests(const Ice::CommunicatorPtr&, bool); + allTests(communicator, true); + + return EXIT_SUCCESS; +} + +int +main(int argc, char* argv[]) +{ + int status; + Ice::CommunicatorPtr communicator; + + try + { + Ice::InitializationData initData; + initData.properties = Ice::createProperties(argc, argv); + communicator = Ice::initialize(argc, argv, initData); + status = run(argc, argv, communicator, initData); + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + + if(communicator) + { + try + { + communicator->destroy(); + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + } + + return status; +} diff --git a/cpp/test/Ice/proxy/Makefile b/cpp/test/Ice/proxy/Makefile new file mode 100644 index 00000000000..4ddbf17fa14 --- /dev/null +++ b/cpp/test/Ice/proxy/Makefile @@ -0,0 +1,63 @@ +# ********************************************************************** +# +# 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. +# +# ********************************************************************** + +top_srcdir = ../../.. + +CLIENT = client +SERVER = server +SERVERAMD = serveramd +COLLOCATED = collocated + +TARGETS = $(CLIENT) $(SERVER) $(SERVERAMD) $(COLLOCATED) + +COBJS = Test.o \ + Client.o \ + AllTests.o + +SOBJS = Test.o \ + TestI.o \ + Server.o + +SAMDOBJS = TestAMD.o \ + TestAMDI.o \ + ServerAMD.o + +COLOBJS = Test.o \ + TestI.o \ + Collocated.o \ + AllTests.o + +SRCS = $(COBJS:.o=.cpp) \ + $(SOBJS:.o=.cpp) \ + $(SAMDOBJS:.o=.cpp) \ + $(COLOBJS:.o=.cpp) + +SLICE_SRCS = Test.ice TestAMD.ice + +include $(top_srcdir)/config/Make.rules + +CPPFLAGS := -I. -I../../include $(CPPFLAGS) + +$(CLIENT): $(COBJS) + rm -f $@ + $(CXX) $(LDFLAGS) -o $@ $(COBJS) $(LIBS) + +$(SERVER): $(SOBJS) + rm -f $@ + $(CXX) $(LDFLAGS) -o $@ $(SOBJS) $(LIBS) + +$(SERVERAMD): $(SAMDOBJS) + rm -f $@ + $(CXX) $(LDFLAGS) -o $@ $(SAMDOBJS) $(LIBS) + +$(COLLOCATED): $(COLOBJS) + rm -f $@ + $(CXX) $(LDFLAGS) -o $@ $(COLOBJS) $(LIBS) + +include .depend diff --git a/cpp/test/Ice/proxy/Makefile.mak b/cpp/test/Ice/proxy/Makefile.mak new file mode 100644 index 00000000000..c44745d9aa3 --- /dev/null +++ b/cpp/test/Ice/proxy/Makefile.mak @@ -0,0 +1,76 @@ +# ********************************************************************** +# +# 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. +# +# ********************************************************************** + +top_srcdir = ..\..\.. + +CLIENT = client.exe +SERVER = server.exe +SERVERAMD = serveramd.exe +COLLOCATED = collocated.exe + +TARGETS = $(CLIENT) $(SERVER) $(SERVERAMD) $(COLLOCATED) + +COBJS = Test.obj \ + Client.obj \ + AllTests.obj + +SOBJS = Test.obj \ + TestI.obj \ + Server.obj + +SAMDOBJS = TestAMD.obj \ + TestAMDI.obj \ + ServerAMD.obj + +COLOBJS = Test.obj \ + TestI.obj \ + Collocated.obj \ + AllTests.obj + +SRCS = $(COBJS:.obj=.cpp) \ + $(SOBJS:.obj=.cpp) \ + $(SAMDOBJS:.obj=.cpp) \ + $(COLOBJS:.obj=.cpp) + +!include $(top_srcdir)/config/Make.rules.mak + +CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN + +!if "$(CPP_COMPILER)" != "BCC2006" & "$(OPTIMIZE)" != "yes" +CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb) +SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb) +SAPDBFLAGS = /pdb:$(SERVERAMD:.exe=.pdb) +COPDBFLAGS = /pdb:$(COLLOCATED:.exe=.pdb) +!endif + +$(CLIENT): $(COBJS) + $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) + @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \ + $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest + +$(SERVER): $(SOBJS) + $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) + @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \ + $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest + +$(SERVERAMD): $(SAMDOBJS) + $(LINK) $(LD_EXEFLAGS) $(SAPDBFLAGS) $(SETARGV) $(SAMDOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) + @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \ + $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest + +$(COLLOCATED): $(COLOBJS) + $(LINK) $(LD_EXEFLAGS) $(COPDBFLAGS) $(SETARGV) $(COLOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) + @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \ + $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest + +clean:: + del /q Test.cpp Test.h + del /q TestAMD.cpp TestAMD.h + +!include .depend diff --git a/cpp/test/Ice/proxy/Server.cpp b/cpp/test/Ice/proxy/Server.cpp new file mode 100644 index 00000000000..1d5320e0966 --- /dev/null +++ b/cpp/test/Ice/proxy/Server.cpp @@ -0,0 +1,62 @@ +// ********************************************************************** +// +// 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. +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <TestI.h> + +using namespace std; + +int +run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator) +{ + communicator->getProperties()->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000:udp"); + Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter"); + adapter->add(new MyDerivedClassI, communicator->stringToIdentity("test")); + adapter->activate(); + + communicator->waitForShutdown(); + return EXIT_SUCCESS; +} + +int +main(int argc, char* argv[]) +{ + int status; + Ice::CommunicatorPtr communicator; + + try + { + Ice::InitializationData initData; + initData.properties = Ice::createProperties(argc, argv); + initData.properties->setProperty("Ice.Warn.Connections", "0"); + + communicator = Ice::initialize(argc, argv, initData); + status = run(argc, argv, communicator); + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + + if(communicator) + { + try + { + communicator->destroy(); + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + } + + return status; +} diff --git a/cpp/test/Ice/proxy/ServerAMD.cpp b/cpp/test/Ice/proxy/ServerAMD.cpp new file mode 100644 index 00000000000..9f28e51268a --- /dev/null +++ b/cpp/test/Ice/proxy/ServerAMD.cpp @@ -0,0 +1,62 @@ +// ********************************************************************** +// +// 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. +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <TestAMDI.h> + +using namespace std; + +int +run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator) +{ + communicator->getProperties()->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000:udp"); + Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter"); + adapter->add(new MyDerivedClassI, communicator->stringToIdentity("test")); + adapter->activate(); + + communicator->waitForShutdown(); + return EXIT_SUCCESS; +} + +int +main(int argc, char* argv[]) +{ + int status; + Ice::CommunicatorPtr communicator; + + try + { + Ice::InitializationData initData; + initData.properties = Ice::createProperties(argc, argv); + initData.properties->setProperty("Ice.Warn.Connections", "0"); + communicator = Ice::initialize(argc, argv, initData); + status = run(argc, argv, communicator); + + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + + if(communicator) + { + try + { + communicator->destroy(); + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + } + + return status; +} diff --git a/cpp/test/Ice/proxy/Test.ice b/cpp/test/Ice/proxy/Test.ice new file mode 100644 index 00000000000..e10a511f151 --- /dev/null +++ b/cpp/test/Ice/proxy/Test.ice @@ -0,0 +1,32 @@ +// ********************************************************************** +// +// 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. +// +// ********************************************************************** + +#ifndef TEST_ICE +#define TEST_ICE + +#include <Ice/Current.ice> + +module Test +{ + +["ami"] class MyClass +{ + void shutdown(); + + void opSleep(int duration); + Ice::Context getContext(); +}; + +["ami"] class MyDerivedClass extends MyClass +{ +}; + +}; + +#endif diff --git a/cpp/test/Ice/proxy/TestAMD.ice b/cpp/test/Ice/proxy/TestAMD.ice new file mode 100644 index 00000000000..f67d0685d8e --- /dev/null +++ b/cpp/test/Ice/proxy/TestAMD.ice @@ -0,0 +1,32 @@ +// ********************************************************************** +// +// 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. +// +// ********************************************************************** + +#ifndef TEST_AMD_ICE +#define TEST_AMD_ICE + +#include <Ice/Current.ice> + +module Test +{ + +["ami", "amd"] class MyClass +{ + void shutdown(); + + void opSleep(int duration); + Ice::Context getContext(); +}; + +["ami", "amd"] class MyDerivedClass extends MyClass +{ +}; + +}; + +#endif diff --git a/cpp/test/Ice/proxy/TestAMDI.cpp b/cpp/test/Ice/proxy/TestAMDI.cpp new file mode 100644 index 00000000000..bcec57f5c14 --- /dev/null +++ b/cpp/test/Ice/proxy/TestAMDI.cpp @@ -0,0 +1,53 @@ +// ********************************************************************** +// +// 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. +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <TestAMDI.h> +#include <TestCommon.h> +#include <functional> +#ifdef __BCPLUSPLUS__ +# include <iterator> +#endif + +MyDerivedClassI::MyDerivedClassI() +{ +} + +void +MyDerivedClassI::shutdown_async(const Test::AMD_MyClass_shutdownPtr& cb, const Ice::Current& c) +{ + c.adapter->getCommunicator()->shutdown(); + cb->ice_response(); +} + +void +MyDerivedClassI::opSleep_async(const Test::AMD_MyClass_opSleepPtr& cb, + int duration, + const Ice::Current&) +{ + IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(duration)); + cb->ice_response(); +} + +void +MyDerivedClassI::getContext_async(const Test::AMD_MyClass_getContextPtr& cb, const Ice::Current&) +{ + cb->ice_response(_ctx); +} + +bool +MyDerivedClassI::ice_isA(const std::string& s, const Ice::Current& current) const +{ + _ctx = current.ctx; +#ifdef __BCPLUSPLUS__ + return Test::MyDerivedClass::ice_isA(s, current); +#else + return MyDerivedClass::ice_isA(s, current); +#endif +} diff --git a/cpp/test/Ice/proxy/TestAMDI.h b/cpp/test/Ice/proxy/TestAMDI.h new file mode 100644 index 00000000000..e0e9b7f5acb --- /dev/null +++ b/cpp/test/Ice/proxy/TestAMDI.h @@ -0,0 +1,39 @@ +// ********************************************************************** +// +// 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. +// +// ********************************************************************** + +#ifndef TEST_AMD_I_H +#define TEST_AMD_I_H + +#include <IceUtil/Thread.h> +#include <TestAMD.h> + +class MyDerivedClassI : public Test::MyDerivedClass +{ +public: + + MyDerivedClassI(); + + virtual void shutdown_async(const Test::AMD_MyClass_shutdownPtr&, + const Ice::Current&); + + virtual void opSleep_async(const Test::AMD_MyClass_opSleepPtr&, + int, + const Ice::Current&); + + virtual void getContext_async(const Test::AMD_MyClass_getContextPtr& cb, + const Ice::Current&); + virtual bool ice_isA(const std::string&, const Ice::Current&) const; + + +private: + + mutable Ice::Context _ctx; +}; + +#endif diff --git a/cpp/test/Ice/proxy/TestI.cpp b/cpp/test/Ice/proxy/TestI.cpp new file mode 100644 index 00000000000..f3618acd34a --- /dev/null +++ b/cpp/test/Ice/proxy/TestI.cpp @@ -0,0 +1,50 @@ +// ********************************************************************** +// +// 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. +// +// ********************************************************************** + +#include <Ice/Ice.h> +#include <IceUtil/IceUtil.h> +#include <TestI.h> +#include <TestCommon.h> +#include <functional> +#ifdef __BCPLUSPLUS__ +# include <iterator> +#endif + +MyDerivedClassI::MyDerivedClassI() +{ +} + +void +MyDerivedClassI::shutdown(const Ice::Current& c) +{ + c.adapter->getCommunicator()->shutdown(); +} + +void +MyDerivedClassI::opSleep(int duration, const Ice::Current&) +{ + IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(duration)); +} + +Ice::Context +MyDerivedClassI::getContext(const Ice::Current& c) +{ + return _ctx; +} + +bool +MyDerivedClassI::ice_isA(const std::string& s, const Ice::Current& current) const +{ + _ctx = current.ctx; +#ifdef __BCPLUSPLUS__ + return Test::MyDerivedClass::ice_isA(s, current); +#else + return MyDerivedClass::ice_isA(s, current); +#endif +} diff --git a/cpp/test/Ice/proxy/TestI.h b/cpp/test/Ice/proxy/TestI.h new file mode 100644 index 00000000000..81420fbf40b --- /dev/null +++ b/cpp/test/Ice/proxy/TestI.h @@ -0,0 +1,31 @@ +// ********************************************************************** +// +// 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. +// +// ********************************************************************** + +#ifndef TEST_I_H +#define TEST_I_H + +#include <Test.h> + +class MyDerivedClassI : public Test::MyDerivedClass +{ +public: + + MyDerivedClassI(); + + virtual void shutdown(const Ice::Current&); + virtual void opSleep(int, const Ice::Current&); + virtual Ice::Context getContext(const Ice::Current&); + virtual bool ice_isA(const std::string&, const Ice::Current&) const; + +private: + + mutable Ice::Context _ctx; +}; + +#endif diff --git a/cpp/test/Ice/proxy/run.py b/cpp/test/Ice/proxy/run.py new file mode 100755 index 00000000000..6c5b7b0e492 --- /dev/null +++ b/cpp/test/Ice/proxy/run.py @@ -0,0 +1,31 @@ +#!/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 os, sys + +for toplevel in [".", "..", "../..", "../../..", "../../../.."]: + toplevel = os.path.normpath(toplevel) + if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")): + break +else: + raise "can't find toplevel directory!" + +sys.path.append(os.path.join(toplevel, "config")) +import TestUtil + +name = os.path.join("Ice", "proxy") + +print "tests with regular server." +TestUtil.clientServerTest(name) +print "tests with AMD server." +TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client") +print "tests with collocated server." +TestUtil.collocatedTest(name) +sys.exit(0) |