summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2018-06-01 17:41:03 +0200
committerJose <jose@zeroc.com>2018-06-01 17:41:03 +0200
commitcbe92e540a7f02f0bdf93192424bd119189365b7 (patch)
tree411c50dc0ae9c669d31a940b1b4903b5deac4f12 /cpp
parentFixed Util.py check for binary installation directory on Windows (diff)
downloadice-cbe92e540a7f02f0bdf93192424bd119189365b7.tar.bz2
ice-cbe92e540a7f02f0bdf93192424bd119189365b7.tar.xz
ice-cbe92e540a7f02f0bdf93192424bd119189365b7.zip
Do not use Ice::Application for Ice testsuite
Diffstat (limited to 'cpp')
-rw-r--r--cpp/test/Common/Makefile.mk2
-rw-r--r--cpp/test/Common/TestCommon.cpp87
-rw-r--r--cpp/test/Common/TestHelper.cpp270
-rw-r--r--cpp/test/Common/msbuild/testcommon.vcxproj9
-rw-r--r--cpp/test/Common/msbuild/testcommon.vcxproj.filters9
-rw-r--r--cpp/test/Common/msbuild/uwp/testcommonuwp++11.vcxproj7
-rw-r--r--cpp/test/Common/msbuild/uwp/testcommonuwp++11.vcxproj.filters13
-rw-r--r--cpp/test/Glacier2/application/Client.cpp41
-rw-r--r--cpp/test/Glacier2/application/Server.cpp45
-rw-r--r--cpp/test/Glacier2/attack/Client.cpp38
-rw-r--r--cpp/test/Glacier2/attack/Server.cpp28
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/Client.cpp46
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/Server.cpp39
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/TestControllerI.cpp2
-rw-r--r--cpp/test/Glacier2/override/CallbackI.cpp2
-rw-r--r--cpp/test/Glacier2/override/Client.cpp47
-rw-r--r--cpp/test/Glacier2/override/Server.cpp38
-rw-r--r--cpp/test/Glacier2/router/CallbackI.cpp2
-rw-r--r--cpp/test/Glacier2/router/Client.cpp57
-rw-r--r--cpp/test/Glacier2/router/Server.cpp35
-rw-r--r--cpp/test/Glacier2/sessionControl/Client.cpp36
-rw-r--r--cpp/test/Glacier2/sessionControl/Server.cpp28
-rw-r--r--cpp/test/Glacier2/sessionControl/SessionI.cpp2
-rw-r--r--cpp/test/Glacier2/sessionHelper/Client.cpp425
-rw-r--r--cpp/test/Glacier2/sessionHelper/Server.cpp41
-rw-r--r--cpp/test/Glacier2/ssl/Client.cpp46
-rw-r--r--cpp/test/Glacier2/ssl/Server.cpp35
-rw-r--r--cpp/test/Glacier2/staticFiltering/Client.cpp45
-rw-r--r--cpp/test/Glacier2/staticFiltering/Server.cpp30
-rw-r--r--cpp/test/Ice/acm/AllTests.cpp7
-rw-r--r--cpp/test/Ice/acm/Client.cpp47
-rw-r--r--cpp/test/Ice/acm/Server.cpp46
-rw-r--r--cpp/test/Ice/adapterDeactivation/AllTests.cpp19
-rw-r--r--cpp/test/Ice/adapterDeactivation/Client.cpp40
-rw-r--r--cpp/test/Ice/adapterDeactivation/Collocated.cpp45
-rw-r--r--cpp/test/Ice/adapterDeactivation/ServantLocatorI.cpp2
-rw-r--r--cpp/test/Ice/adapterDeactivation/Server.cpp44
-rw-r--r--cpp/test/Ice/adapterDeactivation/TestI.cpp8
-rw-r--r--cpp/test/Ice/admin/AllTests.cpp7
-rw-r--r--cpp/test/Ice/admin/Client.cpp40
-rw-r--r--cpp/test/Ice/admin/Server.cpp40
-rw-r--r--cpp/test/Ice/admin/TestI.h2
-rw-r--r--cpp/test/Ice/ami/AllTests.cpp15
-rw-r--r--cpp/test/Ice/ami/Client.cpp62
-rw-r--r--cpp/test/Ice/ami/Collocated.cpp51
-rw-r--r--cpp/test/Ice/ami/Server.cpp69
-rw-r--r--cpp/test/Ice/ami/TestI.h2
-rw-r--r--cpp/test/Ice/background/AllTests.cpp9
-rw-r--r--cpp/test/Ice/background/Client.cpp93
-rw-r--r--cpp/test/Ice/background/Server.cpp86
-rw-r--r--cpp/test/Ice/background/TestI.h1
-rw-r--r--cpp/test/Ice/binding/AllTests.cpp9
-rw-r--r--cpp/test/Ice/binding/Client.cpp44
-rw-r--r--cpp/test/Ice/binding/Server.cpp48
-rw-r--r--cpp/test/Ice/binding/TestI.cpp7
-rw-r--r--cpp/test/Ice/binding/TestI.h4
-rw-r--r--cpp/test/Ice/checksum/AllTests.cpp7
-rw-r--r--cpp/test/Ice/checksum/Client.cpp39
-rw-r--r--cpp/test/Ice/checksum/Server.cpp39
-rw-r--r--cpp/test/Ice/custom/AllTests.cpp7
-rw-r--r--cpp/test/Ice/custom/Client.cpp56
-rw-r--r--cpp/test/Ice/custom/Collocated.cpp61
-rw-r--r--cpp/test/Ice/custom/Server.cpp57
-rw-r--r--cpp/test/Ice/custom/ServerAMD.cpp59
-rw-r--r--cpp/test/Ice/custom/TestAMDI.cpp14
-rw-r--r--cpp/test/Ice/custom/TestAMDI.h6
-rw-r--r--cpp/test/Ice/custom/TestI.cpp9
-rw-r--r--cpp/test/Ice/custom/TestI.h6
-rw-r--r--cpp/test/Ice/defaultServant/AllTests.cpp5
-rw-r--r--cpp/test/Ice/defaultServant/Client.cpp39
-rw-r--r--cpp/test/Ice/defaultValue/AllTests.cpp2
-rw-r--r--cpp/test/Ice/defaultValue/Client.cpp33
-rw-r--r--cpp/test/Ice/defaultValue/msbuild/client.vcxproj2
-rw-r--r--cpp/test/Ice/dispatcher/AllTests.cpp9
-rw-r--r--cpp/test/Ice/dispatcher/Client.cpp68
-rw-r--r--cpp/test/Ice/dispatcher/Collocated.cpp69
-rw-r--r--cpp/test/Ice/dispatcher/Dispatcher.cpp2
-rw-r--r--cpp/test/Ice/dispatcher/Server.cpp80
-rw-r--r--cpp/test/Ice/dispatcher/TestI.cpp2
-rw-r--r--cpp/test/Ice/echo/Server.cpp49
-rw-r--r--cpp/test/Ice/enums/AllTests.cpp7
-rw-r--r--cpp/test/Ice/enums/Client.cpp45
-rw-r--r--cpp/test/Ice/enums/Server.cpp43
-rw-r--r--cpp/test/Ice/enums/TestI.h1
-rw-r--r--cpp/test/Ice/exceptions/AllTests.cpp11
-rw-r--r--cpp/test/Ice/exceptions/Client.cpp50
-rw-r--r--cpp/test/Ice/exceptions/Collocated.cpp55
-rw-r--r--cpp/test/Ice/exceptions/Server.cpp57
-rw-r--r--cpp/test/Ice/exceptions/ServerAMD.cpp56
-rw-r--r--cpp/test/Ice/exceptions/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/exceptions/TestAMDI.h1
-rw-r--r--cpp/test/Ice/exceptions/TestI.cpp2
-rw-r--r--cpp/test/Ice/exceptions/TestI.h1
-rw-r--r--cpp/test/Ice/facets/AllTests.cpp7
-rw-r--r--cpp/test/Ice/facets/Client.cpp45
-rw-r--r--cpp/test/Ice/facets/Collocated.cpp47
-rw-r--r--cpp/test/Ice/facets/Server.cpp43
-rw-r--r--cpp/test/Ice/facets/TestI.cpp14
-rw-r--r--cpp/test/Ice/facets/TestI.h6
-rw-r--r--cpp/test/Ice/faultTolerance/AllTests.cpp7
-rw-r--r--cpp/test/Ice/faultTolerance/Client.cpp67
-rw-r--r--cpp/test/Ice/faultTolerance/Server.cpp72
-rw-r--r--cpp/test/Ice/gc/Client.cpp40
-rw-r--r--cpp/test/Ice/hash/Client.cpp58
-rw-r--r--cpp/test/Ice/hold/AllTests.cpp9
-rw-r--r--cpp/test/Ice/hold/Client.cpp43
-rw-r--r--cpp/test/Ice/hold/Server.cpp45
-rw-r--r--cpp/test/Ice/hold/TestI.cpp2
-rw-r--r--cpp/test/Ice/impl/Server.cpp58
-rw-r--r--cpp/test/Ice/impl/ServerAMD.cpp58
-rw-r--r--cpp/test/Ice/info/AllTests.cpp15
-rw-r--r--cpp/test/Ice/info/Client.cpp41
-rw-r--r--cpp/test/Ice/info/Makefile.mk2
-rw-r--r--cpp/test/Ice/info/Server.cpp45
-rw-r--r--cpp/test/Ice/info/TestI.cpp2
-rw-r--r--cpp/test/Ice/inheritance/AllTests.cpp7
-rw-r--r--cpp/test/Ice/inheritance/Client.cpp45
-rw-r--r--cpp/test/Ice/inheritance/Collocated.cpp46
-rw-r--r--cpp/test/Ice/inheritance/Server.cpp42
-rw-r--r--cpp/test/Ice/inheritance/TestI.h1
-rw-r--r--cpp/test/Ice/interceptor/AMDInterceptorI.cpp2
-rw-r--r--cpp/test/Ice/interceptor/Client.cpp162
-rw-r--r--cpp/test/Ice/interceptor/InterceptorI.cpp2
-rw-r--r--cpp/test/Ice/interceptor/MyObjectI.cpp2
-rw-r--r--cpp/test/Ice/invoke/AllTests.cpp7
-rw-r--r--cpp/test/Ice/invoke/BlobjectI.cpp8
-rw-r--r--cpp/test/Ice/invoke/Client.cpp54
-rw-r--r--cpp/test/Ice/invoke/Server.cpp58
-rw-r--r--cpp/test/Ice/library/Client.cpp40
-rw-r--r--cpp/test/Ice/library/Consumer.cpp2
-rw-r--r--cpp/test/Ice/location/AllTests.cpp5
-rw-r--r--cpp/test/Ice/location/Client.cpp42
-rw-r--r--cpp/test/Ice/location/Server.cpp47
-rw-r--r--cpp/test/Ice/location/ServerLocator.cpp2
-rw-r--r--cpp/test/Ice/location/TestI.cpp9
-rw-r--r--cpp/test/Ice/location/TestI.h1
-rw-r--r--cpp/test/Ice/logger/Client1.cpp42
-rw-r--r--cpp/test/Ice/logger/Client2.cpp40
-rw-r--r--cpp/test/Ice/logger/Client3.cpp38
-rw-r--r--cpp/test/Ice/logger/Client4.cpp38
-rw-r--r--cpp/test/Ice/logger/Client5.cpp82
-rw-r--r--cpp/test/Ice/metrics/AllTests.cpp19
-rw-r--r--cpp/test/Ice/metrics/Client.cpp56
-rw-r--r--cpp/test/Ice/metrics/Collocated.cpp62
-rw-r--r--cpp/test/Ice/metrics/Server.cpp58
-rw-r--r--cpp/test/Ice/metrics/ServerAMD.cpp58
-rw-r--r--cpp/test/Ice/metrics/TestI.h1
-rw-r--r--cpp/test/Ice/networkProxy/AllTests.cpp7
-rw-r--r--cpp/test/Ice/networkProxy/Client.cpp41
-rw-r--r--cpp/test/Ice/networkProxy/Server.cpp43
-rw-r--r--cpp/test/Ice/objects/AllTests.cpp24
-rw-r--r--cpp/test/Ice/objects/Client.cpp65
-rw-r--r--cpp/test/Ice/objects/Collocated.cpp66
-rw-r--r--cpp/test/Ice/objects/Server.cpp47
-rw-r--r--cpp/test/Ice/objects/TestI.h1
-rw-r--r--cpp/test/Ice/operations/AllTests.cpp7
-rw-r--r--cpp/test/Ice/operations/BatchOneways.cpp2
-rw-r--r--cpp/test/Ice/operations/BatchOnewaysAMI.cpp2
-rw-r--r--cpp/test/Ice/operations/Client.cpp64
-rw-r--r--cpp/test/Ice/operations/Collocated.cpp49
-rw-r--r--cpp/test/Ice/operations/Oneways.cpp2
-rw-r--r--cpp/test/Ice/operations/OnewaysAMI.cpp2
-rw-r--r--cpp/test/Ice/operations/Server.cpp59
-rw-r--r--cpp/test/Ice/operations/ServerAMD.cpp59
-rw-r--r--cpp/test/Ice/operations/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/operations/TestAMDI.h1
-rw-r--r--cpp/test/Ice/operations/TestI.cpp2
-rw-r--r--cpp/test/Ice/operations/TestI.h1
-rw-r--r--cpp/test/Ice/operations/Twoways.cpp8
-rw-r--r--cpp/test/Ice/operations/TwowaysAMI.cpp6
-rw-r--r--cpp/test/Ice/optional/AllTests.cpp13
-rw-r--r--cpp/test/Ice/optional/Client.cpp48
-rw-r--r--cpp/test/Ice/optional/Server.cpp59
-rw-r--r--cpp/test/Ice/optional/ServerAMD.cpp60
-rw-r--r--cpp/test/Ice/optional/msbuild/server/server.vcxproj2
-rw-r--r--cpp/test/Ice/plugin/Client.cpp133
-rw-r--r--cpp/test/Ice/plugin/Plugin.cpp2
-rw-r--r--cpp/test/Ice/properties/Client.cpp103
-rw-r--r--cpp/test/Ice/proxy/AllTests.cpp7
-rw-r--r--cpp/test/Ice/proxy/Client.cpp44
-rw-r--r--cpp/test/Ice/proxy/Collocated.cpp49
-rw-r--r--cpp/test/Ice/proxy/Server.cpp45
-rw-r--r--cpp/test/Ice/proxy/ServerAMD.cpp49
-rw-r--r--cpp/test/Ice/proxy/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/proxy/TestI.cpp1
-rw-r--r--cpp/test/Ice/retry/AllTests.cpp2
-rw-r--r--cpp/test/Ice/retry/Client.cpp89
-rw-r--r--cpp/test/Ice/retry/Collocated.cpp82
-rw-r--r--cpp/test/Ice/retry/InstrumentationI.cpp2
-rw-r--r--cpp/test/Ice/retry/Server.cpp50
-rw-r--r--cpp/test/Ice/servantLocator/AllTests.cpp21
-rw-r--r--cpp/test/Ice/servantLocator/Client.cpp45
-rw-r--r--cpp/test/Ice/servantLocator/Collocated.cpp45
-rw-r--r--cpp/test/Ice/servantLocator/ServantLocatorI.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/Server.cpp43
-rw-r--r--cpp/test/Ice/servantLocator/ServerAMD.cpp43
-rw-r--r--cpp/test/Ice/servantLocator/msbuild/uwp/collocated/collocated.vcxproj2
-rw-r--r--cpp/test/Ice/services/AllTests.cpp7
-rw-r--r--cpp/test/Ice/services/Client.cpp43
-rw-r--r--cpp/test/Ice/services/Makefile.mk2
-rw-r--r--cpp/test/Ice/slicing/exceptions/AllTests.cpp7
-rw-r--r--cpp/test/Ice/slicing/exceptions/Client.cpp43
-rw-r--r--cpp/test/Ice/slicing/exceptions/Server.cpp39
-rw-r--r--cpp/test/Ice/slicing/exceptions/ServerAMD.cpp39
-rw-r--r--cpp/test/Ice/slicing/exceptions/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/slicing/exceptions/TestI.cpp2
-rw-r--r--cpp/test/Ice/slicing/exceptions/TestI.h1
-rw-r--r--cpp/test/Ice/slicing/objects/AllTests.cpp7
-rw-r--r--cpp/test/Ice/slicing/objects/Client.cpp54
-rw-r--r--cpp/test/Ice/slicing/objects/Server.cpp50
-rw-r--r--cpp/test/Ice/slicing/objects/ServerAMD.cpp50
-rw-r--r--cpp/test/Ice/slicing/objects/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/slicing/objects/TestI.cpp2
-rw-r--r--cpp/test/Ice/slicing/objects/TestI.h1
-rw-r--r--cpp/test/Ice/stream/Client.cpp48
-rw-r--r--cpp/test/Ice/stringConverter/Client.cpp38
-rw-r--r--cpp/test/Ice/stringConverter/Server.cpp54
-rw-r--r--cpp/test/Ice/threadPoolPriority/AllTests.cpp7
-rw-r--r--cpp/test/Ice/threadPoolPriority/Client.cpp49
-rw-r--r--cpp/test/Ice/threadPoolPriority/Server.cpp48
-rw-r--r--cpp/test/Ice/threadPoolPriority/ServerCustomThreadPool.cpp48
-rw-r--r--cpp/test/Ice/timeout/AllTests.cpp9
-rw-r--r--cpp/test/Ice/timeout/Client.cpp78
-rw-r--r--cpp/test/Ice/timeout/Server.cpp99
-rw-r--r--cpp/test/Ice/timeout/TestI.h1
-rw-r--r--cpp/test/Ice/udp/AllTests.cpp11
-rw-r--r--cpp/test/Ice/udp/Client.cpp54
-rw-r--r--cpp/test/Ice/udp/Server.cpp63
-rw-r--r--cpp/test/Ice/udp/TestI.h1
-rw-r--r--cpp/test/IceBox/admin/AllTests.cpp5
-rw-r--r--cpp/test/IceBox/admin/Client.cpp52
-rw-r--r--cpp/test/IceBox/configuration/AllTests.cpp13
-rw-r--r--cpp/test/IceBox/configuration/Client.cpp50
-rw-r--r--cpp/test/IceBridge/simple/AllTests.cpp13
-rw-r--r--cpp/test/IceBridge/simple/Client.cpp46
-rw-r--r--cpp/test/IceBridge/simple/Server.cpp54
-rw-r--r--cpp/test/IceBridge/simple/TestI.cpp2
-rw-r--r--cpp/test/IceDiscovery/simple/AllTests.cpp5
-rw-r--r--cpp/test/IceDiscovery/simple/Client.cpp51
-rw-r--r--cpp/test/IceDiscovery/simple/Makefile.mk2
-rw-r--r--cpp/test/IceDiscovery/simple/Server.cpp58
-rw-r--r--cpp/test/IceDiscovery/simple/TestI.h1
-rw-r--r--cpp/test/IceGrid/activation/AllTests.cpp9
-rw-r--r--cpp/test/IceGrid/activation/Client.cpp43
-rw-r--r--cpp/test/IceGrid/activation/Server.cpp63
-rw-r--r--cpp/test/IceGrid/activation/TestI.h2
-rw-r--r--cpp/test/IceGrid/admin/Server.cpp30
-rw-r--r--cpp/test/IceGrid/allocation/AllTests.cpp9
-rw-r--r--cpp/test/IceGrid/allocation/Client.cpp44
-rw-r--r--cpp/test/IceGrid/allocation/Server.cpp32
-rw-r--r--cpp/test/IceGrid/deployer/AllTests.cpp12
-rw-r--r--cpp/test/IceGrid/deployer/Client.cpp51
-rw-r--r--cpp/test/IceGrid/deployer/Server.cpp72
-rw-r--r--cpp/test/IceGrid/distribution/AllTests.cpp9
-rw-r--r--cpp/test/IceGrid/distribution/Client.cpp44
-rw-r--r--cpp/test/IceGrid/distribution/Server.cpp34
-rw-r--r--cpp/test/IceGrid/noRestartUpdate/AllTests.cpp9
-rw-r--r--cpp/test/IceGrid/noRestartUpdate/Client.cpp44
-rw-r--r--cpp/test/IceGrid/noRestartUpdate/Server.cpp32
-rw-r--r--cpp/test/IceGrid/replicaGroup/AllTests.cpp9
-rw-r--r--cpp/test/IceGrid/replicaGroup/Client.cpp43
-rw-r--r--cpp/test/IceGrid/replicaGroup/RegistryPlugin.cpp2
-rw-r--r--cpp/test/IceGrid/replicaGroup/Server.cpp29
-rw-r--r--cpp/test/IceGrid/replication/AllTests.cpp9
-rw-r--r--cpp/test/IceGrid/replication/Client.cpp45
-rw-r--r--cpp/test/IceGrid/replication/Server.cpp28
-rw-r--r--cpp/test/IceGrid/session/AllTests.cpp11
-rw-r--r--cpp/test/IceGrid/session/Client.cpp47
-rw-r--r--cpp/test/IceGrid/session/PermissionsVerifier.cpp36
-rw-r--r--cpp/test/IceGrid/session/Server.cpp28
-rw-r--r--cpp/test/IceGrid/simple/AllTests.cpp10
-rw-r--r--cpp/test/IceGrid/simple/Client.cpp60
-rw-r--r--cpp/test/IceGrid/simple/Makefile.mk2
-rw-r--r--cpp/test/IceGrid/simple/Server.cpp38
-rw-r--r--cpp/test/IceGrid/update/AllTests.cpp9
-rw-r--r--cpp/test/IceGrid/update/Client.cpp44
-rw-r--r--cpp/test/IceGrid/update/Server.cpp33
-rw-r--r--cpp/test/IceSSL/configuration/AllTests.cpp44
-rw-r--r--cpp/test/IceSSL/configuration/Client.cpp93
-rw-r--r--cpp/test/IceSSL/configuration/Makefile.mk2
-rw-r--r--cpp/test/IceSSL/configuration/Server.cpp57
-rw-r--r--cpp/test/IceSSL/configuration/TestI.cpp2
-rw-r--r--cpp/test/IceStorm/federation/Publisher.cpp105
-rw-r--r--cpp/test/IceStorm/federation/Subscriber.cpp101
-rw-r--r--cpp/test/IceStorm/federation2/Publisher.cpp74
-rw-r--r--cpp/test/IceStorm/federation2/Subscriber.cpp88
-rw-r--r--cpp/test/IceStorm/rep1/Publisher.cpp69
-rw-r--r--cpp/test/IceStorm/rep1/Sub.cpp70
-rw-r--r--cpp/test/IceStorm/rep1/Subscriber.cpp68
-rw-r--r--cpp/test/IceStorm/repgrid/Client.cpp57
-rw-r--r--cpp/test/IceStorm/repstress/Control.cpp46
-rw-r--r--cpp/test/IceStorm/repstress/Publisher.cpp67
-rw-r--r--cpp/test/IceStorm/repstress/Subscriber.cpp66
-rw-r--r--cpp/test/IceStorm/single/Publisher.cpp66
-rw-r--r--cpp/test/IceStorm/single/Subscriber.cpp86
-rw-r--r--cpp/test/IceStorm/stress/Publisher.cpp73
-rw-r--r--cpp/test/IceStorm/stress/Subscriber.cpp101
-rw-r--r--cpp/test/IceUtil/ctrlCHandler/Client.cpp16
-rw-r--r--cpp/test/IceUtil/inputUtil/Client.cpp17
-rw-r--r--cpp/test/IceUtil/priority/Client.cpp31
-rw-r--r--cpp/test/IceUtil/priority/PriorityInversion.cpp2
-rw-r--r--cpp/test/IceUtil/priority/ThreadPriority.cpp2
-rw-r--r--cpp/test/IceUtil/priority/TimerPriority.cpp2
-rw-r--r--cpp/test/IceUtil/sha1/Client.cpp15
-rw-r--r--cpp/test/IceUtil/stacktrace/Client.cpp24
-rw-r--r--cpp/test/IceUtil/stacktrace/StackTrace.debug.Win3219
-rw-r--r--cpp/test/IceUtil/stacktrace/StackTrace.debug.Win6419
-rw-r--r--cpp/test/IceUtil/stacktrace/StackTrace.debug.macOS5
-rw-r--r--cpp/test/IceUtil/stacktrace/StackTrace.release-vc140.Win325
-rw-r--r--cpp/test/IceUtil/stacktrace/StackTrace.release-vc140.Win643
-rw-r--r--cpp/test/IceUtil/stacktrace/StackTrace.release.Win327
-rw-r--r--cpp/test/IceUtil/stacktrace/StackTrace.release.Win643
-rw-r--r--cpp/test/IceUtil/stacktrace/StackTrace.release.macOS4
-rw-r--r--cpp/test/IceUtil/thread/AliveTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/Client.cpp31
-rw-r--r--cpp/test/IceUtil/thread/CountDownLatchTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/CreateTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/MonitorMutexTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/MonitorRecMutexTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/MutexTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/RecMutexTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/SleepTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/StartTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/TestSuite.cpp3
-rw-r--r--cpp/test/IceUtil/timer/Client.cpp17
-rw-r--r--cpp/test/IceUtil/unicode/Client.cpp2
-rw-r--r--cpp/test/IceUtil/uuid/Client.cpp41
-rw-r--r--cpp/test/Slice/escape/Client.cpp33
-rw-r--r--cpp/test/Slice/macros/Client.cpp41
-rw-r--r--cpp/test/Slice/structure/Client.cpp29
-rw-r--r--cpp/test/include/TestCommon.h177
-rw-r--r--cpp/test/include/TestHelper.h221
-rw-r--r--cpp/test/ios/controller/Bundle/ControllerI.mm152
-rw-r--r--cpp/test/ios/controller/C++ Test Controller.xcodeproj/project.pbxproj44
-rw-r--r--cpp/test/ios/controller/Classes/ControllerView.h (renamed from cpp/test/ios/controller/Classes/ViewController.h)8
-rw-r--r--cpp/test/ios/controller/Classes/ControllerView.m (renamed from cpp/test/ios/controller/Classes/ViewController.m)6
-rw-r--r--cpp/test/uwp/controller/App.xaml2
-rw-r--r--cpp/test/uwp/controller/App.xaml.cpp6
-rw-r--r--cpp/test/uwp/controller/App.xaml.h2
-rw-r--r--cpp/test/uwp/controller/ControllerView.xaml (renamed from cpp/test/uwp/controller/ViewController.xaml)2
-rw-r--r--cpp/test/uwp/controller/ControllerView.xaml.cpp (renamed from cpp/test/uwp/controller/ViewController.xaml.cpp)254
-rw-r--r--cpp/test/uwp/controller/ControllerView.xaml.h (renamed from cpp/test/uwp/controller/ViewController.xaml.h)23
-rw-r--r--cpp/test/uwp/controller/msbuild/controller.vcxproj10
-rw-r--r--cpp/test/uwp/controller/msbuild/controller.vcxproj.filters6
344 files changed, 4746 insertions, 7034 deletions
diff --git a/cpp/test/Common/Makefile.mk b/cpp/test/Common/Makefile.mk
index 428e1dff20c..31a1cb44fa8 100644
--- a/cpp/test/Common/Makefile.mk
+++ b/cpp/test/Common/Makefile.mk
@@ -15,7 +15,7 @@ $(project)_caninstall := no
# which don't support something like @loader_path.
#
TestCommon[shared]_targetdir := lib
-TestCommon_dependencies := Ice
+TestCommon_dependencies := IceSSL Ice
TestCommon_cppflags := -DTEST_API_EXPORTS -I$(includedir) -I$(project) -Itest/include
projects += $(project)
diff --git a/cpp/test/Common/TestCommon.cpp b/cpp/test/Common/TestCommon.cpp
deleted file mode 100644
index dabc7c298a9..00000000000
--- a/cpp/test/Common/TestCommon.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2018 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 <TestCommon.h>
-
-#include <Ice/Communicator.h>
-
-std::string
-getTestEndpoint(const Ice::CommunicatorPtr& communicator, int num, const std::string& protocol)
-{
- return getTestEndpoint(communicator->getProperties(), num, protocol);
-}
-
-std::string
-getTestEndpoint(const Ice::PropertiesPtr& properties, int num, const std::string& prot)
-{
- std::ostringstream ostr;
- std::string protocol = prot;
- if(protocol.empty())
- {
- protocol = properties->getPropertyWithDefault("Ice.Default.Protocol", "default");
- }
-
- int basePort = properties->getPropertyAsIntWithDefault("Test.BasePort", 12010);
-
- if(protocol == "bt")
- {
- //
- // For Bluetooth, there's no need to specify a port (channel) number.
- // The client locates the server using its address and a UUID.
- //
- switch(num)
- {
- case 0:
- ostr << "default -u 5e08f4de-5015-4507-abe1-a7807002db3d";
- break;
- case 1:
- ostr << "default -u dae56460-2485-46fd-a3ca-8b730e1e868b";
- break;
- case 2:
- ostr << "default -u 99e08bc6-fcda-4758-afd0-a8c00655c999";
- break;
- default:
- assert(false);
- }
- }
- else
- {
- ostr << protocol << " -p " << (basePort + num);
- }
- return ostr.str();
-}
-
-std::string
-getTestHost(const Ice::PropertiesPtr& properties)
-{
- return properties->getPropertyWithDefault("Ice.Default.Host", "127.0.0.1");
-}
-
-std::string
-getTestProtocol(const Ice::PropertiesPtr& properties)
-{
- return properties->getPropertyWithDefault("Ice.Default.Protocol", "tcp");
-}
-
-int
-getTestPort(const Ice::PropertiesPtr& properties, int num)
-{
- return properties->getPropertyAsIntWithDefault("Test.BasePort", 12010) + num;
-}
-
-Ice::InitializationData
-getTestInitData(int& argc, char* argv[])
-{
- Ice::InitializationData initData;
- initData.properties = Ice::createProperties(argc, argv);
- Ice::StringSeq args = Ice::argsToStringSeq(argc, argv);
- args = initData.properties->parseCommandLineOptions("Test", args);
- Ice::stringSeqToArgs(args, argc, argv);
- return initData;
-}
diff --git a/cpp/test/Common/TestHelper.cpp b/cpp/test/Common/TestHelper.cpp
new file mode 100644
index 00000000000..abf6e13481a
--- /dev/null
+++ b/cpp/test/Common/TestHelper.cpp
@@ -0,0 +1,270 @@
+
+#include <TestHelper.h>
+#include <Ice/RegisterPlugins.h>
+#include <IceUtil/CtrlCHandler.h>
+
+using namespace std;
+using namespace Test;
+
+namespace
+{
+
+IceUtil::Mutex* globalMutex = 0;
+Test::TestHelper* instance = 0;
+IceUtil::CtrlCHandler* ctrlCHandler = 0;
+
+class Init
+{
+public:
+
+ Init()
+ {
+ globalMutex = new IceUtil::Mutex;
+ }
+
+ ~Init()
+ {
+ delete globalMutex;
+ globalMutex = 0;
+ if(ctrlCHandler)
+ {
+ delete ctrlCHandler;
+ ctrlCHandler = 0;
+ }
+ }
+};
+
+Init init;
+
+}
+
+Test::TestHelper::TestHelper(bool registerPlugins)
+{
+ {
+ IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex);
+ if(instance != 0)
+ {
+ throw runtime_error("only one instance of the Test::TestHelper class can be used");
+ }
+ instance = this;
+ }
+
+ if(registerPlugins)
+ {
+#ifdef ICE_STATIC_LIBS
+ Ice::registerIceSSL(false);
+ Ice::registerIceWS(true);
+ Ice::registerIceUDP(true);
+# ifdef ICE_HAS_BT
+ Ice::registerIceBT(false);
+# endif
+#endif
+ }
+
+#if defined(_WIN32) && !defined(ICE_OS_UWP)
+ _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE);
+ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);
+
+ _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE);
+ _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
+
+ _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
+ _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
+
+ _set_abort_behavior(_CALL_REPORTFAULT, _CALL_REPORTFAULT);
+#endif
+}
+
+Test::TestHelper::~TestHelper()
+{
+}
+
+void
+Test::TestHelper::setControllerHelper(const ControllerHelperPtr& controllerHelper)
+{
+ assert(!_controllerHelper);
+ _controllerHelper = controllerHelper;
+}
+
+string
+Test::TestHelper::getTestEndpoint(const std::string& prot)
+{
+ assert(_communicator);
+ return getTestEndpoint(_communicator->getProperties(), 0, prot);
+}
+
+string
+Test::TestHelper::getTestEndpoint(int num, const std::string& prot)
+{
+ assert(_communicator);
+ return getTestEndpoint(_communicator->getProperties(), num, prot);
+}
+
+std::string
+Test::TestHelper::getTestEndpoint(const Ice::PropertiesPtr& properties, int num, const std::string& prot)
+{
+ std::ostringstream ostr;
+ std::string protocol = prot;
+ if(protocol.empty())
+ {
+ protocol = properties->getPropertyWithDefault("Ice.Default.Protocol", "default");
+ }
+
+ int basePort = properties->getPropertyAsIntWithDefault("Test.BasePort", 12010);
+
+ if(protocol == "bt")
+ {
+ //
+ // For Bluetooth, there's no need to specify a port (channel) number.
+ // The client locates the server using its address and a UUID.
+ //
+ switch(num)
+ {
+ case 0:
+ {
+ ostr << "default -u 5e08f4de-5015-4507-abe1-a7807002db3d";
+ break;
+ }
+ case 1:
+ {
+ ostr << "default -u dae56460-2485-46fd-a3ca-8b730e1e868b";
+ break;
+ }
+ case 2:
+ {
+ ostr << "default -u 99e08bc6-fcda-4758-afd0-a8c00655c999";
+ break;
+ }
+ default:
+ {
+ assert(false);
+ }
+ }
+ }
+ else
+ {
+ ostr << protocol << " -p " << (basePort + num);
+ }
+ return ostr.str();
+}
+
+string
+Test::TestHelper::getTestHost()
+{
+ assert(_communicator);
+ return getTestHost(_communicator->getProperties());
+}
+
+string
+Test::TestHelper::getTestHost(const Ice::PropertiesPtr& properties)
+{
+ return properties->getPropertyWithDefault("Ice.Default.Host", "127.0.0.1");
+}
+
+string
+Test::TestHelper::getTestProtocol()
+{
+ assert(_communicator);
+ return getTestProtocol(_communicator->getProperties());
+}
+
+string
+Test::TestHelper::getTestProtocol(const Ice::PropertiesPtr& properties)
+{
+ return properties->getPropertyWithDefault("Ice.Default.Protocol", "tcp");
+}
+
+int
+Test::TestHelper::getTestPort(int num)
+{
+ assert(_communicator);
+ return getTestPort(_communicator->getProperties(), num);
+}
+
+int
+Test::TestHelper::getTestPort(const Ice::PropertiesPtr& properties, int num)
+{
+ return properties->getPropertyAsIntWithDefault("Test.BasePort", 12010) + num;
+}
+
+Ice::PropertiesPtr
+Test::TestHelper::createTestProperties(int& argc, char* argv[])
+{
+ Ice::PropertiesPtr properties = Ice::createProperties(argc, argv);
+ Ice::StringSeq args = Ice::argsToStringSeq(argc, argv);
+ args = properties->parseCommandLineOptions("Test", args);
+ args = properties->parseCommandLineOptions("TestAdapter", args);
+ Ice::stringSeqToArgs(args, argc, argv);
+ return properties;
+}
+
+Ice::CommunicatorPtr
+Test::TestHelper::initialize(int& argc, char* argv[], const Ice::PropertiesPtr& properties)
+{
+ Ice::InitializationData initData;
+ initData.properties = properties ? properties : createTestProperties(argc, argv);
+ return initialize(argc, argv, initData);
+}
+
+Ice::CommunicatorPtr
+Test::TestHelper::initialize(int& argc, char* argv[], Ice::InitializationData initData)
+{
+ IceUtil::Mutex::Lock lock(_mutex);
+ _communicator = Ice::initialize(argc, argv, initData);
+ return _communicator;
+}
+
+Ice::CommunicatorPtr
+Test::TestHelper::communicator() const
+{
+ return _communicator;
+}
+
+void
+Test::TestHelper::serverReady()
+{
+#if defined(ICE_OS_UWP) || (TARGET_OS_IPHONE != 0)
+ assert(_controllerHelper);
+ _controllerHelper->serverReady();
+#endif
+}
+
+void
+Test::TestHelper::completed()
+{
+ IceUtil::Mutex::Lock lock(_mutex);
+ _communicator = ICE_NULLPTR;
+}
+
+void
+Test::TestHelper::shutdown()
+{
+ IceUtil::Mutex::Lock lock(_mutex);
+ if(_communicator)
+ {
+ _communicator->shutdown();
+ }
+}
+
+void
+Test::TestHelper::shutdownOnInterruptCallback(int)
+{
+ if(instance)
+ {
+ instance->shutdown();
+ }
+}
+
+void
+Test::TestHelper::shutdownOnInterrupt()
+{
+ {
+ IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex);
+ assert(!ctrlCHandler);
+ if(ctrlCHandler == 0)
+ {
+ ctrlCHandler = new IceUtil::CtrlCHandler();
+ }
+ }
+ ctrlCHandler->setCallback(shutdownOnInterruptCallback);
+}
diff --git a/cpp/test/Common/msbuild/testcommon.vcxproj b/cpp/test/Common/msbuild/testcommon.vcxproj
index ab29bdcdfce..345ba226039 100644
--- a/cpp/test/Common/msbuild/testcommon.vcxproj
+++ b/cpp/test/Common/msbuild/testcommon.vcxproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.4\build\zeroc.icebuilder.msbuild.props" Condition="Exists('..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.4\build\zeroc.icebuilder.msbuild.props')" />
<Import Project="..\..\..\msbuild\packages\zeroc.ice.v100.3.7.1\build\native\zeroc.ice.v100.props" Condition="Exists('..\..\..\msbuild\packages\zeroc.ice.v100.3.7.1\build\native\zeroc.ice.v100.props') and '$(ICE_BIN_DIST)' == 'all'" />
@@ -40,10 +40,13 @@
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
- <ClCompile Include="..\TestCommon.cpp" />
+ <None Include="packages.config" />
</ItemGroup>
<ItemGroup>
- <None Include="packages.config" />
+ <ClCompile Include="..\TestHelper.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\include\TestHelper.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C7223CC8-0AAA-470B-ACB3-12B9DE75525C}</ProjectGuid>
diff --git a/cpp/test/Common/msbuild/testcommon.vcxproj.filters b/cpp/test/Common/msbuild/testcommon.vcxproj.filters
index 6477d194f66..f94239df21d 100644
--- a/cpp/test/Common/msbuild/testcommon.vcxproj.filters
+++ b/cpp/test/Common/msbuild/testcommon.vcxproj.filters
@@ -76,11 +76,16 @@
</Filter>
</ItemGroup>
<ItemGroup>
- <ClCompile Include="..\TestCommon.cpp">
+ <None Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\TestHelper.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
- <None Include="packages.config" />
+ <ClInclude Include="..\..\include\TestHelper.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/cpp/test/Common/msbuild/uwp/testcommonuwp++11.vcxproj b/cpp/test/Common/msbuild/uwp/testcommonuwp++11.vcxproj
index 378016159a6..04a3ff36b5c 100644
--- a/cpp/test/Common/msbuild/uwp/testcommonuwp++11.vcxproj
+++ b/cpp/test/Common/msbuild/uwp/testcommonuwp++11.vcxproj
@@ -143,15 +143,14 @@
</SliceCompile>
</ItemDefinitionGroup>
<ItemGroup>
- <ClCompile Include="..\..\TestCommon.cpp" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\..\include\TestCommon.h" />
<ClInclude Include="..\..\..\include\TestHelper.h" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\TestHelper.cpp" />
+ </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild" Condition="'$(ICE_BIN_DIST)' == 'all'">
<PropertyGroup>
diff --git a/cpp/test/Common/msbuild/uwp/testcommonuwp++11.vcxproj.filters b/cpp/test/Common/msbuild/uwp/testcommonuwp++11.vcxproj.filters
index 2cb63d1f6c3..9eb3140b25d 100644
--- a/cpp/test/Common/msbuild/uwp/testcommonuwp++11.vcxproj.filters
+++ b/cpp/test/Common/msbuild/uwp/testcommonuwp++11.vcxproj.filters
@@ -67,14 +67,6 @@
</Filter>
</ItemGroup>
<ItemGroup>
- <ClCompile Include="..\..\TestCommon.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\..\include\TestCommon.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="..\..\..\include\TestHelper.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -82,4 +74,9 @@
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\TestHelper.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
</Project> \ No newline at end of file
diff --git a/cpp/test/Glacier2/application/Client.cpp b/cpp/test/Glacier2/application/Client.cpp
index 7c3e273553d..baa357845ac 100644
--- a/cpp/test/Glacier2/application/Client.cpp
+++ b/cpp/test/Glacier2/application/Client.cpp
@@ -11,7 +11,7 @@
#include <Ice/Ice.h>
#include <Glacier2/Glacier2.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <iostream>
#include <iomanip>
@@ -80,7 +80,8 @@ public:
{
cout << "testing Glacier2::Application restart... " << flush;
}
- Ice::ObjectPrxPtr base = communicator()->stringToProxy("callback:" + getTestEndpoint(communicator(), 0));
+ Ice::ObjectPrxPtr base = communicator()->stringToProxy(
+ "callback:" + TestHelper::getTestEndpoint(communicator()->getProperties()));
CallbackPrxPtr callback = ICE_UNCHECKED_CAST(CallbackPrx, base);
if(++_restart < 5)
{
@@ -110,24 +111,34 @@ public:
} // anonymous namespace end
-int
-main(int argc, char* argv[])
+class Client : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
Application app;
- Ice::InitializationData initData = getTestInitData(argc, argv);
+ Ice::InitializationData initData;
+ initData.properties = createTestProperties(argc, argv);
initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.Default.Router", "Glacier2/router:" + getTestEndpoint(initData.properties, 50));
+ initData.properties->setProperty("Ice.Default.Router",
+ "Glacier2/router:" + TestHelper::getTestEndpoint(initData.properties, 50));
int status = app.main(argc, argv, initData);
+ if(status != 0)
+ {
+ test(false);
+ }
initData.properties->setProperty("Ice.Default.Router", "");
- Ice::CommunicatorPtr communicator = Ice::initialize(initData);
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, initData);
cout << "testing stringToProxy for process object... " << flush;
- Ice::ObjectPrxPtr processBase = communicator->stringToProxy("Glacier2/admin -f Process:" + getTestEndpoint(communicator, 51));
+ Ice::ObjectPrxPtr processBase = communicator->stringToProxy("Glacier2/admin -f Process:" + getTestEndpoint(51));
cout << "ok" << endl;
cout << "testing checked cast for admin object... " << flush;
@@ -137,6 +148,7 @@ main(int argc, char* argv[])
cout << "testing Glacier2 shutdown... " << flush;
process->shutdown();
+
try
{
process->ice_ping();
@@ -149,7 +161,6 @@ main(int argc, char* argv[])
test(app._restart == 5);
test(app._destroyed);
-
- communicator->destroy();
- return status;
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Glacier2/application/Server.cpp b/cpp/test/Glacier2/application/Server.cpp
index c217ddc2571..ec995070fb6 100644
--- a/cpp/test/Glacier2/application/Server.cpp
+++ b/cpp/test/Glacier2/application/Server.cpp
@@ -9,7 +9,7 @@
#include <IceUtil/IceUtil.h>
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Callback.h>
using namespace std;
@@ -18,13 +18,6 @@ using namespace Test;
namespace
{
-class Server : public Ice::Application
-{
-public:
-
- virtual int run(int, char*[]);
-};
-
class CallbackI : public Callback
{
@@ -45,29 +38,25 @@ public:
}
-int
-Server::run(int, char**)
+class Server : public Test::TestHelper
{
- communicator()->getProperties()->setProperty("DeactivatedAdapter.Endpoints", getTestEndpoint(communicator(), 1));
- communicator()->createObjectAdapter("DeactivatedAdapter");
+public:
- communicator()->getProperties()->setProperty("CallbackAdapter.Endpoints", getTestEndpoint(communicator(), 0));
- Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("CallbackAdapter");
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("DeactivatedAdapter.Endpoints", getTestEndpoint(1));
+ communicator->createObjectAdapter("DeactivatedAdapter");
+
+ communicator->getProperties()->setProperty("CallbackAdapter.Endpoints", getTestEndpoint());
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("CallbackAdapter");
adapter->add(ICE_MAKE_SHARED(CallbackI), Ice::stringToIdentity("callback"));
adapter->activate();
- communicator()->waitForShutdown();
-
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- Server app;
- Ice::InitializationData initData = getTestInitData(argc, argv);
- return app.main(argc, argv, initData);
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Glacier2/attack/Client.cpp b/cpp/test/Glacier2/attack/Client.cpp
index 8c9fc0533ed..13258114a64 100644
--- a/cpp/test/Glacier2/attack/Client.cpp
+++ b/cpp/test/Glacier2/attack/Client.cpp
@@ -11,43 +11,36 @@
#include <Ice/Ice.h>
#include <Glacier2/Router.h>
#include <Backend.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <set>
using namespace std;
using namespace Ice;
using namespace Test;
-class AttackClient : public Application
+class AttackClient : public Test::TestHelper
{
public:
- virtual int run(int, char*[]);
+ void run(int, char**);
};
-int
-main(int argc, char* argv[])
+void
+AttackClient::run(int argc, char** argv)
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
-
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
//
// We want to check whether the client retries for evicted
// proxies, even with regular retries disabled.
//
- initData.properties->setProperty("Ice.RetryIntervals", "-1");
-
- AttackClient app;
- return app.main(argc, argv, initData);
-}
+ properties->setProperty("Ice.RetryIntervals", "-1");
-int
-AttackClient::run(int, char**)
-{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
cout << "getting router... " << flush;
- ObjectPrx routerBase = communicator()->stringToProxy("Glacier2/router:" + getTestEndpoint(communicator(), 50));
+ ObjectPrx routerBase = communicator->stringToProxy("Glacier2/router:" + getTestEndpoint(50));
Glacier2::RouterPrx router = Glacier2::RouterPrx::checkedCast(routerBase);
test(router);
- communicator()->setDefaultRouter(router);
+ communicator->setDefaultRouter(router);
cout << "ok" << endl;
cout << "creating session... " << flush;
@@ -55,7 +48,7 @@ AttackClient::run(int, char**)
cout << "ok" << endl;
cout << "making thousands of invocations on proxies... " << flush;
- ObjectPrx backendBase = communicator()->stringToProxy("dummy:" + getTestEndpoint(communicator(), 0));
+ ObjectPrx backendBase = communicator->stringToProxy("dummy:" + getTestEndpoint());
BackendPrx backend = BackendPrx::uncheckedCast(backendBase);
backend->ice_ping();
@@ -112,9 +105,8 @@ AttackClient::run(int, char**)
cout << "testing server and router shutdown... " << flush;
backend->shutdown();
- communicator()->setDefaultRouter(0);
- ObjectPrx adminBase = communicator()->stringToProxy("Glacier2/admin -f Process:" +
- getTestEndpoint(communicator(), 51));
+ communicator->setDefaultRouter(0);
+ ObjectPrx adminBase = communicator->stringToProxy("Glacier2/admin -f Process:" + getTestEndpoint(51));
Ice::ProcessPrx process = Ice::ProcessPrx::checkedCast(adminBase);
test(process);
process->shutdown();
@@ -127,6 +119,6 @@ AttackClient::run(int, char**)
{
cout << "ok" << endl;
}
-
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(AttackClient)
diff --git a/cpp/test/Glacier2/attack/Server.cpp b/cpp/test/Glacier2/attack/Server.cpp
index 1b9cfa25b09..f8d83394b75 100644
--- a/cpp/test/Glacier2/attack/Server.cpp
+++ b/cpp/test/Glacier2/attack/Server.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <BackendI.h>
using namespace std;
@@ -42,28 +42,22 @@ private:
BackendPtr _backend;
};
-class BackendServer : public Application
+class BackendServer : public Test::TestHelper
{
public:
- virtual int run(int, char*[]);
+ void run(int, char**);
};
-int
-main(int argc, char* argv[])
+void
+BackendServer::run(int argc, char** argv)
{
- BackendServer app;
- Ice::InitializationData initData = getTestInitData(argc, argv);
- return app.main(argc, argv, initData);
-}
-
-int
-BackendServer::run(int, char**)
-{
- communicator()->getProperties()->setProperty("BackendAdapter.Endpoints", getTestEndpoint(communicator(), 0));
- ObjectAdapterPtr adapter = communicator()->createObjectAdapter("BackendAdapter");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("BackendAdapter.Endpoints", getTestEndpoint());
+ ObjectAdapterPtr adapter = communicator->createObjectAdapter("BackendAdapter");
adapter->addServantLocator(new ServantLocatorI, "");
adapter->activate();
- communicator()->waitForShutdown();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
+
+DEFINE_TEST(BackendServer)
diff --git a/cpp/test/Glacier2/dynamicFiltering/Client.cpp b/cpp/test/Glacier2/dynamicFiltering/Client.cpp
index 3f015d288b8..7b29984cf84 100644
--- a/cpp/test/Glacier2/dynamicFiltering/Client.cpp
+++ b/cpp/test/Glacier2/dynamicFiltering/Client.cpp
@@ -10,49 +10,42 @@
#include <Ice/Ice.h>
#include <Glacier2/Router.h>
#include <Test.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
using namespace Test;
-class SessionControlClient : public Application
+class SessionControlClient : public Test::TestHelper
{
public:
- virtual int run(int, char*[]);
+ void run(int, char**);
};
-int
-main(int argc, char* argv[])
+void
+SessionControlClient::run(int argc, char** argv)
{
- SessionControlClient app;
-
- Ice::InitializationData initData = getTestInitData(argc, argv);
-
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
//
// We want to check whether the client retries for evicted
// proxies, even with regular retries disabled.
//
- initData.properties->setProperty("Ice.RetryIntervals", "-1");
- initData.properties->setProperty("Ice.Warn.Connections", "0");
+ properties->setProperty("Ice.RetryIntervals", "-1");
+ properties->setProperty("Ice.Warn.Connections", "0");
- return app.main(argc, argv, initData);
-}
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
-int
-SessionControlClient::run(int argc, char* argv[])
-{
//
// We initialize the controller on a separate port because we want
// to bypass the router for test control operations.
//
cout << "accessing test controller... " << flush;
Ice::InitializationData initData;
- initData.properties = communicator()->getProperties();
+ initData.properties = communicator->getProperties();
Ice::CommunicatorPtr controlComm = Ice::initialize(argc, argv, initData);
TestControllerPrx controller = TestControllerPrx::checkedCast(
- controlComm->stringToProxy("testController:" + getTestEndpoint(communicator(), 2, "tcp")));
+ controlComm->stringToProxy("testController:" + getTestEndpoint(2, "tcp")));
test(controller);
TestToken currentState;
TestToken newState;
@@ -65,10 +58,10 @@ SessionControlClient::run(int argc, char* argv[])
cout << "ok" << endl;
cout << "getting router... " << flush;
- ObjectPrx routerBase = communicator()->stringToProxy("Glacier2/router:" + getTestEndpoint(communicator(), 50));
+ ObjectPrx routerBase = communicator->stringToProxy("Glacier2/router:" + getTestEndpoint(50));
Glacier2::RouterPrx router = Glacier2::RouterPrx::checkedCast(routerBase);
test(router);
- communicator()->setDefaultRouter(router);
+ communicator->setDefaultRouter(router);
cout << "ok" << endl;
Glacier2::SessionPrx sessionBase = router->createSession("userid", "abc123");
@@ -104,7 +97,7 @@ SessionControlClient::run(int argc, char* argv[])
if(currentState.expectedResult)
{
- BackendPrx prx = BackendPrx::uncheckedCast(communicator()->stringToProxy(currentState.testReference));
+ BackendPrx prx = BackendPrx::uncheckedCast(communicator->stringToProxy(currentState.testReference));
try
{
prx->check();
@@ -117,7 +110,7 @@ SessionControlClient::run(int argc, char* argv[])
}
else
{
- BackendPrx prx = BackendPrx::uncheckedCast(communicator()->stringToProxy(currentState.testReference));
+ BackendPrx prx = BackendPrx::uncheckedCast(communicator->stringToProxy(currentState.testReference));
try
{
prx->check();
@@ -158,9 +151,8 @@ SessionControlClient::run(int argc, char* argv[])
//
// Shut down the router.
//
- communicator()->setDefaultRouter(0);
- ObjectPrx processBase = communicator()->stringToProxy("Glacier2/admin -f Process:" +
- getTestEndpoint(communicator(), 51));
+ communicator->setDefaultRouter(0);
+ ObjectPrx processBase = communicator->stringToProxy("Glacier2/admin -f Process:" + getTestEndpoint(51));
Ice::ProcessPrx process = Ice::ProcessPrx::checkedCast(processBase);
test(process);
process->shutdown();
@@ -183,6 +175,6 @@ SessionControlClient::run(int argc, char* argv[])
cerr << ex << endl;
test(false);
}
-
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(SessionControlClient)
diff --git a/cpp/test/Glacier2/dynamicFiltering/Server.cpp b/cpp/test/Glacier2/dynamicFiltering/Server.cpp
index c79ffb59c6d..a8cac22cdc2 100644
--- a/cpp/test/Glacier2/dynamicFiltering/Server.cpp
+++ b/cpp/test/Glacier2/dynamicFiltering/Server.cpp
@@ -10,7 +10,7 @@
#include <Ice/Ice.h>
#include <Ice/Locator.h>
#include <Glacier2/PermissionsVerifier.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestControllerI.h>
#include <SessionI.h>
#include <BackendI.h>
@@ -112,24 +112,17 @@ private:
BackendPtr _backend;
};
-class SessionControlServer : public Application
+class SessionControlServer : public Test::TestHelper
{
public:
- virtual int run(int, char*[]);
+ void run(int, char**);
};
-int
-main(int argc, char* argv[])
-{
- SessionControlServer app;
- Ice::InitializationData initData = getTestInitData(argc, argv);
- return app.main(argc, argv, initData);
-}
-
-int
-SessionControlServer::run(int, char*[])
+void
+SessionControlServer::run(int argc, char** argv)
{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
//
// The server requires 3 separate server endpoints. One for the test
// controller that will coordinate the tests and the required
@@ -141,27 +134,27 @@ SessionControlServer::run(int, char*[])
// servant, allowing us to use any reference as long as the client
// expects to use a proxy for the correct type of object.
//
- communicator()->getProperties()->setProperty("TestControllerAdapter.Endpoints",
- getTestEndpoint(communicator(), 2, "tcp"));
- ObjectAdapterPtr controllerAdapter = communicator()->createObjectAdapter("TestControllerAdapter");
- TestControllerIPtr controller = new TestControllerI(getTestEndpoint(communicator(), 1));
+ communicator->getProperties()->setProperty("TestControllerAdapter.Endpoints", getTestEndpoint(2, "tcp"));
+ ObjectAdapterPtr controllerAdapter = communicator->createObjectAdapter("TestControllerAdapter");
+ TestControllerIPtr controller = new TestControllerI(getTestEndpoint(1));
controllerAdapter->add(controller, Ice::stringToIdentity("testController"));
controllerAdapter->activate();
- communicator()->getProperties()->setProperty("SessionControlAdapter.Endpoints", getTestEndpoint(communicator(), 0));
- ObjectAdapterPtr adapter = communicator()->createObjectAdapter("SessionControlAdapter");
+ communicator->getProperties()->setProperty("SessionControlAdapter.Endpoints", getTestEndpoint());
+ ObjectAdapterPtr adapter = communicator->createObjectAdapter("SessionControlAdapter");
adapter->add(new SessionManagerI(controller), Ice::stringToIdentity("SessionManager"));
adapter->activate();
BackendPtr backend = new BackendI;
- communicator()->getProperties()->setProperty("BackendAdapter.Endpoints", getTestEndpoint(communicator(), 1));
- ObjectAdapterPtr backendAdapter = communicator()->createObjectAdapter("BackendAdapter");
+ communicator->getProperties()->setProperty("BackendAdapter.Endpoints", getTestEndpoint(1));
+ ObjectAdapterPtr backendAdapter = communicator->createObjectAdapter("BackendAdapter");
backendAdapter->addServantLocator(new ServantLocatorI(backend), "");
backendAdapter->activate();
Ice::LocatorPtr locator = new ServerLocatorI(backend, backendAdapter);
backendAdapter->add(locator, Ice::stringToIdentity("locator"));
- communicator()->waitForShutdown();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
+
+DEFINE_TEST(SessionControlServer)
diff --git a/cpp/test/Glacier2/dynamicFiltering/TestControllerI.cpp b/cpp/test/Glacier2/dynamicFiltering/TestControllerI.cpp
index e2ee8b3c0de..265c0c66ebb 100644
--- a/cpp/test/Glacier2/dynamicFiltering/TestControllerI.cpp
+++ b/cpp/test/Glacier2/dynamicFiltering/TestControllerI.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <TestControllerI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <vector>
#include <string>
diff --git a/cpp/test/Glacier2/override/CallbackI.cpp b/cpp/test/Glacier2/override/CallbackI.cpp
index 793e7f062ff..12e2c414d44 100644
--- a/cpp/test/Glacier2/override/CallbackI.cpp
+++ b/cpp/test/Glacier2/override/CallbackI.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <CallbackI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
diff --git a/cpp/test/Glacier2/override/Client.cpp b/cpp/test/Glacier2/override/Client.cpp
index 97c2bd9b996..260cc3047f4 100644
--- a/cpp/test/Glacier2/override/Client.cpp
+++ b/cpp/test/Glacier2/override/Client.cpp
@@ -10,44 +10,33 @@
#include <IceUtil/IceUtil.h>
#include <Ice/Ice.h>
#include <Glacier2/Router.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <CallbackI.h>
using namespace std;
using namespace Ice;
using namespace Test;
-class CallbackClient : public Application
+class CallbackClient : public Test::TestHelper
{
public:
- virtual int run(int, char*[]);
+ void run(int, char**);
};
-int
-main(int argc, char* argv[])
+void
+CallbackClient::run(int argc, char** argv)
{
- //
- // We must disable connection warnings, because we attempt to ping
- // the router before session establishment, as well as after
- // session destruction. Both will cause a ConnectionLostException.
- //
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.ThreadPool.Client.Serialize", "1");
-
- CallbackClient app;
- return app.main(argc, argv, initData);
-}
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Connections", "0");
+ properties->setProperty("Ice.ThreadPool.Client.Serialize", "1");
-int
-CallbackClient::run(int, char**)
-{
- ObjectPrx routerBase = communicator()->stringToProxy("Glacier2/router:" + getTestEndpoint(communicator(), 50));
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ ObjectPrx routerBase = communicator->stringToProxy("Glacier2/router:" + getTestEndpoint(50));
Glacier2::RouterPrx router = Glacier2::RouterPrx::checkedCast(routerBase);
- communicator()->setDefaultRouter(router);
+ communicator->setDefaultRouter(router);
- ObjectPrx base = communicator()->stringToProxy("c/callback:" + getTestEndpoint(communicator(), 0));
+ ObjectPrx base = communicator->stringToProxy("c/callback:" + getTestEndpoint());
Glacier2::SessionPrx session = router->createSession("userid", "abc123");
base->ice_ping();
@@ -55,8 +44,8 @@ CallbackClient::run(int, char**)
CallbackPrx oneway = twoway->ice_oneway();
CallbackPrx batchOneway = twoway->ice_batchOneway();
- communicator()->getProperties()->setProperty("Ice.PrintAdapterReady", "0");
- ObjectAdapterPtr adapter = communicator()->createObjectAdapterWithRouter("CallbackReceiverAdapter", router);
+ communicator->getProperties()->setProperty("Ice.PrintAdapterReady", "0");
+ ObjectAdapterPtr adapter = communicator->createObjectAdapterWithRouter("CallbackReceiverAdapter", router);
adapter->activate();
string category = router->getCategoryForClient();
@@ -205,9 +194,8 @@ CallbackClient::run(int, char**)
test(false);
}
- communicator()->setDefaultRouter(0);
- ObjectPrx processBase = communicator()->stringToProxy("Glacier2/admin -f Process:" +
- getTestEndpoint(communicator(), 51));
+ communicator->setDefaultRouter(0);
+ ObjectPrx processBase = communicator->stringToProxy("Glacier2/admin -f Process:" + getTestEndpoint(51));
Ice::ProcessPrx process = Ice::ProcessPrx::checkedCast(processBase);
process->shutdown();
try
@@ -220,5 +208,6 @@ CallbackClient::run(int, char**)
cout << "ok" << endl;
}
}
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(CallbackClient)
diff --git a/cpp/test/Glacier2/override/Server.cpp b/cpp/test/Glacier2/override/Server.cpp
index cb959606707..86e25082b87 100644
--- a/cpp/test/Glacier2/override/Server.cpp
+++ b/cpp/test/Glacier2/override/Server.cpp
@@ -8,40 +8,34 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <CallbackI.h>
using namespace std;
using namespace Ice;
using namespace Test;
-class CallbackServer : public Application
+class CallbackServer : public Test::TestHelper
{
public:
- virtual int run(int, char*[]);
+ void run(int, char**);
};
-int
-main(int argc, char* argv[])
+void
+CallbackServer::run(int argc, char** argv)
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
-
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
- initData.properties->setProperty("Ice.ThreadPool.Server.Serialize", "1");
-
- CallbackServer app;
- return app.main(argc, argv, initData);
-}
-
-int
-CallbackServer::run(int, char**)
-{
- communicator()->getProperties()->setProperty("CallbackAdapter.Endpoints", getTestEndpoint(communicator(), 0));
- ObjectAdapterPtr adapter = communicator()->createObjectAdapter("CallbackAdapter");
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Connections", "0");
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+ properties->setProperty("Ice.ThreadPool.Server.Serialize", "1");
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->setProperty("CallbackAdapter.Endpoints", getTestEndpoint());
+ ObjectAdapterPtr adapter = communicator->createObjectAdapter("CallbackAdapter");
adapter->add(new CallbackI(), Ice::stringToIdentity("c/callback"));
adapter->activate();
- communicator()->waitForShutdown();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
+
+DEFINE_TEST(CallbackServer)
diff --git a/cpp/test/Glacier2/router/CallbackI.cpp b/cpp/test/Glacier2/router/CallbackI.cpp
index ce3246982d9..528836a507c 100644
--- a/cpp/test/Glacier2/router/CallbackI.cpp
+++ b/cpp/test/Glacier2/router/CallbackI.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <CallbackI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
diff --git a/cpp/test/Glacier2/router/Client.cpp b/cpp/test/Glacier2/router/Client.cpp
index 4a43a449f82..62e8c06afcf 100644
--- a/cpp/test/Glacier2/router/Client.cpp
+++ b/cpp/test/Glacier2/router/Client.cpp
@@ -11,7 +11,7 @@
#include <IceUtil/IceUtil.h>
#include <Ice/Ice.h>
#include <Glacier2/Router.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <CallbackI.h>
using namespace std;
@@ -82,7 +82,8 @@ public:
void run()
{
CommunicatorPtr communicator = initialize(initData);
- ObjectPrx routerBase = communicator->stringToProxy("Glacier2/router:" + getTestEndpoint(communicator, 50));
+ ObjectPrx routerBase = communicator->stringToProxy(
+ "Glacier2/router:" + TestHelper::getTestEndpoint(communicator->getProperties(), 50));
Glacier2::RouterPrx router = Glacier2::RouterPrx::checkedCast(routerBase);
communicator->setDefaultRouter(router);
@@ -109,7 +110,8 @@ public:
ident.category = category;
CallbackReceiverPrx receiver = CallbackReceiverPrx::uncheckedCast(adapter->add(_callbackReceiver, ident));
- ObjectPrx base = communicator->stringToProxy("c1/callback:" + getTestEndpoint(communicator, 0));
+ ObjectPrx base = communicator->stringToProxy(
+ "c1/callback:" + TestHelper::getTestEndpoint(communicator->getProperties()));
base = base->ice_oneway();
CallbackPrx callback = CallbackPrx::uncheckedCast(base);
@@ -188,7 +190,8 @@ public:
void run()
{
CommunicatorPtr communicator = initialize(initData);
- ObjectPrx routerBase = communicator->stringToProxy("Glacier2/router:" + getTestEndpoint(communicator, 50));
+ ObjectPrx routerBase = communicator->stringToProxy(
+ "Glacier2/router:" + TestHelper::getTestEndpoint(communicator->getProperties(), 50));
_router = Glacier2::RouterPrx::checkedCast(routerBase);
communicator->setDefaultRouter(_router);
@@ -206,7 +209,8 @@ public:
ident.category = category;
CallbackReceiverPrx receiver = CallbackReceiverPrx::uncheckedCast(adapter->add(_callbackReceiver, ident));
- ObjectPrx base = communicator->stringToProxy("c1/callback:" + getTestEndpoint(communicator, 0));
+ ObjectPrx base = communicator->stringToProxy(
+ "c1/callback:" + TestHelper::getTestEndpoint(communicator->getProperties()));
base = base->ice_oneway();
CallbackPrx callback = CallbackPrx::uncheckedCast(base);
@@ -408,36 +412,29 @@ public:
}
};
-class CallbackClient : public Application
+class CallbackClient : public Test::TestHelper
{
public:
- virtual int run(int, char*[]);
+ void run(int, char**);
};
-int
-main(int argc, char* argv[])
+void
+CallbackClient::run(int argc, char** argv)
{
//
// We must disable connection warnings, because we attempt to ping
// the router before session establishment, as well as after
// session destruction. Both will cause a ConnectionLostException.
//
- initData = getTestInitData(argc, argv);
+ initData.properties = createTestProperties(argc, argv);
initData.properties->setProperty("Ice.Warn.Connections", "0");
- CallbackClient app;
- return app.main(argc, argv, initData);
-}
-
-int
-CallbackClient::run(int argc, char* argv[])
-{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, initData);
ObjectPrx routerBase;
-
{
cout << "testing stringToProxy for router... " << flush;
- routerBase = communicator()->stringToProxy("Glacier2/router:" + getTestEndpoint(communicator(), 50));
+ routerBase = communicator->stringToProxy("Glacier2/router:" + getTestEndpoint(50));
cout << "ok" << endl;
}
@@ -453,15 +450,14 @@ CallbackClient::run(int argc, char* argv[])
{
cout << "testing router finder... " << flush;
Ice::RouterFinderPrx finder =
- RouterFinderPrx::uncheckedCast(communicator()->stringToProxy("Ice/RouterFinder:" +
- getTestEndpoint(communicator(), 50)));
+ RouterFinderPrx::uncheckedCast(communicator->stringToProxy("Ice/RouterFinder:" + getTestEndpoint(50)));
test(finder->getRouter()->ice_getIdentity() == router->ice_getIdentity());
cout << "ok" << endl;
}
{
cout << "installing router with communicator... " << flush;
- communicator()->setDefaultRouter(router);
+ communicator->setDefaultRouter(router);
cout << "ok" << endl;
}
@@ -476,7 +472,7 @@ CallbackClient::run(int argc, char* argv[])
{
cout << "testing stringToProxy for server object... " << flush;
- base = communicator()->stringToProxy("c1/callback:" + getTestEndpoint(communicator(), 0));
+ base = communicator->stringToProxy("c1/callback:" + getTestEndpoint());
cout << "ok" << endl;
}
@@ -556,7 +552,7 @@ CallbackClient::run(int argc, char* argv[])
{
cout << "pinging object with client endpoint... " << flush;
- Ice::ObjectPrx baseC = communicator()->stringToProxy("collocated:" + getTestEndpoint(communicator(), 50));
+ Ice::ObjectPrx baseC = communicator->stringToProxy("collocated:" + getTestEndpoint(50));
try
{
baseC->ice_ping();
@@ -580,8 +576,8 @@ CallbackClient::run(int argc, char* argv[])
{
cout << "creating and activating callback receiver adapter with router... " << flush;
- communicator()->getProperties()->setProperty("Ice.PrintAdapterReady", "0");
- adapter = communicator()->createObjectAdapterWithRouter("CallbackReceiverAdapter", router);
+ communicator->getProperties()->setProperty("Ice.PrintAdapterReady", "0");
+ adapter = communicator->createObjectAdapterWithRouter("CallbackReceiverAdapter", router);
adapter->activate();
cout << "ok" << endl;
}
@@ -910,7 +906,7 @@ CallbackClient::run(int argc, char* argv[])
{
{
cout << "uninstalling router with communicator... " << flush;
- communicator()->setDefaultRouter(0);
+ communicator->setDefaultRouter(0);
cout << "ok" << endl;
}
@@ -918,8 +914,7 @@ CallbackClient::run(int argc, char* argv[])
{
cout << "testing stringToProxy for admin process facet... " << flush;
- processBase = communicator()->stringToProxy("Glacier2/admin -f Process:" +
- getTestEndpoint(communicator(), 51));
+ processBase = communicator->stringToProxy("Glacier2/admin -f Process:" + getTestEndpoint(51));
cout << "ok" << endl;
}
@@ -944,6 +939,6 @@ CallbackClient::run(int argc, char* argv[])
cout << "ok" << endl;
}
}
-
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(CallbackClient)
diff --git a/cpp/test/Glacier2/router/Server.cpp b/cpp/test/Glacier2/router/Server.cpp
index 0c645beabba..4a4f6305831 100644
--- a/cpp/test/Glacier2/router/Server.cpp
+++ b/cpp/test/Glacier2/router/Server.cpp
@@ -8,42 +8,35 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <CallbackI.h>
using namespace std;
using namespace Ice;
using namespace Test;
-class CallbackServer : public Application
+class CallbackServer : public Test::TestHelper
{
public:
- virtual int run(int, char*[]);
+ void run(int, char**);
};
-int
-main(int argc, char* argv[])
+void
+CallbackServer::run(int argc, char** argv)
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
-
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
-
- CallbackServer app;
- return app.main(argc, argv, initData);
-}
-
-int
-CallbackServer::run(int, char**)
-{
- communicator()->getProperties()->setProperty("CallbackAdapter.Endpoints", getTestEndpoint(communicator(), 0));
- ObjectAdapterPtr adapter = communicator()->createObjectAdapter("CallbackAdapter");
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Connections", "0");
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->setProperty("CallbackAdapter.Endpoints", getTestEndpoint());
+ ObjectAdapterPtr adapter = communicator->createObjectAdapter("CallbackAdapter");
adapter->add(new CallbackI(), Ice::stringToIdentity("c1/callback")); // The test allows "c1" as category.
adapter->add(new CallbackI(), Ice::stringToIdentity("c2/callback")); // The test allows "c2" as category.
adapter->add(new CallbackI(), Ice::stringToIdentity("c3/callback")); // The test rejects "c3" as category.
adapter->add(new CallbackI(), Ice::stringToIdentity("_userid/callback")); // The test allows the prefixed userid.
adapter->activate();
- communicator()->waitForShutdown();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
+
+DEFINE_TEST(CallbackServer)
diff --git a/cpp/test/Glacier2/sessionControl/Client.cpp b/cpp/test/Glacier2/sessionControl/Client.cpp
index 13becddbe3e..1d21bcf54fb 100644
--- a/cpp/test/Glacier2/sessionControl/Client.cpp
+++ b/cpp/test/Glacier2/sessionControl/Client.cpp
@@ -10,44 +10,39 @@
#include <Ice/Ice.h>
#include <Glacier2/Router.h>
#include <Session.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <set>
using namespace std;
using namespace Ice;
using namespace Test;
-class SessionControlClient : public Application
+class SessionControlClient : public Test::TestHelper
{
public:
- virtual int run(int, char*[]);
+ void run(int, char**);
};
-int
-main(int argc, char* argv[])
+void
+SessionControlClient::run(int argc, char** argv)
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
//
// We want to check whether the client retries for evicted
// proxies, even with regular retries disabled.
//
- initData.properties->setProperty("Ice.RetryIntervals", "-1");
- initData.properties->setProperty("Ice.Warn.Connections", "0");
+ properties->setProperty("Ice.RetryIntervals", "-1");
+ properties->setProperty("Ice.Warn.Connections", "0");
- SessionControlClient app;
- return app.main(argc, argv, initData);
-}
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
-int
-SessionControlClient::run(int, char**)
-{
cout << "getting router... " << flush;
- ObjectPrx routerBase = communicator()->stringToProxy("Glacier2/router:" + getTestEndpoint(communicator(), 50));
+ ObjectPrx routerBase = communicator->stringToProxy("Glacier2/router:" + getTestEndpoint(50));
Glacier2::RouterPrx router = Glacier2::RouterPrx::checkedCast(routerBase);
test(router);
- communicator()->setDefaultRouter(router);
+ communicator->setDefaultRouter(router);
cout << "ok" << endl;
cout << "creating session... " << flush;
@@ -97,9 +92,8 @@ SessionControlClient::run(int, char**)
cout << "testing shutdown... " << flush;
session = Test::SessionPrx::uncheckedCast(router->createSession("userid", "abc123"));
session->shutdown();
- communicator()->setDefaultRouter(0);
- ObjectPrx processBase = communicator()->stringToProxy("Glacier2/admin -f Process:" +
- getTestEndpoint(communicator(), 51));
+ communicator->setDefaultRouter(0);
+ ObjectPrx processBase = communicator->stringToProxy("Glacier2/admin -f Process:" + getTestEndpoint(51));
Ice::ProcessPrx process = Ice::ProcessPrx::checkedCast(processBase);
test(process);
process->shutdown();
@@ -112,6 +106,6 @@ SessionControlClient::run(int, char**)
{
cout << "ok" << endl;
}
-
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(SessionControlClient)
diff --git a/cpp/test/Glacier2/sessionControl/Server.cpp b/cpp/test/Glacier2/sessionControl/Server.cpp
index 62feb0d45de..39b485c2ba3 100644
--- a/cpp/test/Glacier2/sessionControl/Server.cpp
+++ b/cpp/test/Glacier2/sessionControl/Server.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Glacier2/PermissionsVerifier.h>
#include <SessionI.h>
@@ -16,28 +16,22 @@ using namespace std;
using namespace Ice;
using namespace Test;
-class SessionControlServer : public Application
+class SessionControlServer : public Test::TestHelper
{
public:
- virtual int run(int, char*[]);
+ void run(int, char**);
};
-int
-main(int argc, char* argv[])
+void
+SessionControlServer::run(int argc, char** argv)
{
- SessionControlServer app;
- Ice::InitializationData initData = getTestInitData(argc, argv);
- return app.main(argc, argv, initData);
-}
-
-int
-SessionControlServer::run(int, char**)
-{
- communicator()->getProperties()->setProperty("SessionControlAdapter.Endpoints", getTestEndpoint(communicator(), 0));
- ObjectAdapterPtr adapter = communicator()->createObjectAdapter("SessionControlAdapter");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("SessionControlAdapter.Endpoints", getTestEndpoint());
+ ObjectAdapterPtr adapter = communicator->createObjectAdapter("SessionControlAdapter");
adapter->add(new SessionManagerI, Ice::stringToIdentity("SessionManager"));
adapter->activate();
- communicator()->waitForShutdown();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
+
+DEFINE_TEST(SessionControlServer)
diff --git a/cpp/test/Glacier2/sessionControl/SessionI.cpp b/cpp/test/Glacier2/sessionControl/SessionI.cpp
index e8312af75fa..c53f29f21b9 100644
--- a/cpp/test/Glacier2/sessionControl/SessionI.cpp
+++ b/cpp/test/Glacier2/sessionControl/SessionI.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <SessionI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Test;
diff --git a/cpp/test/Glacier2/sessionHelper/Client.cpp b/cpp/test/Glacier2/sessionHelper/Client.cpp
index ec9ade1e0c6..59113a63669 100644
--- a/cpp/test/Glacier2/sessionHelper/Client.cpp
+++ b/cpp/test/Glacier2/sessionHelper/Client.cpp
@@ -11,7 +11,7 @@
#include <Ice/Ice.h>
#include <Glacier2/Glacier2.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <iostream>
#include <iomanip>
@@ -294,274 +294,269 @@ public:
}
};
-class SessionHelperClient : public Ice::Application, public Notify
+} // Anonymous namespace end
+
+class Client : public Test::TestHelper,
+ public Notify
{
public:
- int run(int argc, char* argv[])
+ void run(int, char**);
+
+ void
+ notify()
{
- instance = this;
- string protocol = getTestProtocol(communicator()->getProperties());
- string host = getTestHost(communicator()->getProperties());
- _initData.properties = Ice::createProperties(argc, argv, communicator()->getProperties());
- _initData.properties->setProperty("Ice.Default.Router", "Glacier2/router:" +
- getTestEndpoint(communicator(), 50));
-
- DispatcherPtr dispatcher = new Dispatcher();
- dispatcher->start();
+ IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
+ _monitor.notify();
+ }
+
+private:
+
+ Glacier2::SessionHelperPtr _session;
+ Glacier2::SessionFactoryHelperPtr _factory;
+ Ice::InitializationData _initData;
+ IceUtil::Monitor<IceUtil::Mutex> _monitor;
+};
+
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ instance = this;
+ string protocol = getTestProtocol();
+ string host = getTestHost();
+ _initData.properties = Ice::createProperties(argc, argv, communicator->getProperties());
+ _initData.properties->setProperty("Ice.Default.Router", "Glacier2/router:" + getTestEndpoint(50));
+
+ DispatcherPtr dispatcher = new Dispatcher();
+ dispatcher->start();
#ifdef ICE_CPP11_MAPPING
- _initData.dispatcher = [dispatcher](std::function<void()> call, const std::shared_ptr<Ice::Connection>& conn)
- {
- dispatcher->dispatch(call, conn);
- };
+ _initData.dispatcher = [dispatcher](std::function<void()> call, const std::shared_ptr<Ice::Connection>& conn)
+ {
+ dispatcher->dispatch(call, conn);
+ };
#else
- _initData.dispatcher = dispatcher;
+ _initData.dispatcher = dispatcher;
#endif
- _factory = ICE_MAKE_SHARED(Glacier2::SessionFactoryHelper, _initData, ICE_MAKE_SHARED(FailSessionCallback));
+ _factory = ICE_MAKE_SHARED(Glacier2::SessionFactoryHelper, _initData, ICE_MAKE_SHARED(FailSessionCallback));
+ //
+ // Test to create a session with wrong userid/password
+ //
+
+ {
+ IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
+
+ cout << "testing SessionHelper connect with wrong userid/password... " << flush;
+
+ _session = _factory->connect("userid", "xxx");
//
- // Test to create a session with wrong userid/password
+ // Wait for connectFailed callback
//
+ _monitor.timedWait(IceUtil::Time::seconds(30));
- {
- IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
+ test(!_session->isConnected());
+ }
+ _factory->destroy();
- cout << "testing SessionHelper connect with wrong userid/password... " << flush;
+ //
+ // Test to interrupt connection establishment
+ //
- _session = _factory->connect("userid", "xxx");
- //
- // Wait for connectFailed callback
- //
- _monitor.timedWait(IceUtil::Time::seconds(30));
+ _initData.properties->setProperty("Ice.Default.Router", "");
+ _factory = ICE_MAKE_SHARED(Glacier2::SessionFactoryHelper, _initData, ICE_MAKE_SHARED(InterruptConnectCallback));
- test(!_session->isConnected());
- }
- _factory->destroy();
+ {
+ IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
+ cout << "testing SessionHelper connect interrupt... " << flush;
+ _factory->setRouterHost(host);
+ _factory->setPort(getTestPort(_initData.properties, 1));
+ _factory->setProtocol(protocol);
+ _session = _factory->connect("userid", "abc123");
+
+ IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(100));
+ _session->destroy();
//
- // Test to interrupt connection establishment
+ // Wait for connectFailed callback
//
+ _monitor.timedWait(IceUtil::Time::seconds(30));
+ test(!_session->isConnected());
+ }
+ _factory->destroy();
+
+ _factory = ICE_MAKE_SHARED(Glacier2::SessionFactoryHelper, _initData, ICE_MAKE_SHARED(SuccessSessionCallback));
+
+ {
+ IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
+ cout << "testing SessionHelper connect... " << flush;
+ _factory->setRouterHost(host);
+ _factory->setPort(getTestPort(_initData.properties, 50));
+ _factory->setProtocol(protocol);
+ _session = _factory->connect("userid", "abc123");
- _initData.properties->setProperty("Ice.Default.Router", "");
- _factory = ICE_MAKE_SHARED(Glacier2::SessionFactoryHelper, _initData, ICE_MAKE_SHARED(InterruptConnectCallback));
+ //
+ // Wait for connect callback
+ //
+ _monitor.timedWait(IceUtil::Time::seconds(30));
+ cout << "testing SessionHelper isConnected after connect... " << flush;
+ test(_session->isConnected());
+ cout << "ok" << endl;
+
+ cout << "testing SessionHelper categoryForClient after connect... " << flush;
+ try
{
- IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
- cout << "testing SessionHelper connect interrupt... " << flush;
- _factory->setRouterHost(host);
- _factory->setPort(getTestPort(_initData.properties, 1));
- _factory->setProtocol(protocol);
- _session = _factory->connect("userid", "abc123");
-
- IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(100));
- _session->destroy();
-
- //
- // Wait for connectFailed callback
- //
- _monitor.timedWait(IceUtil::Time::seconds(30));
- test(!_session->isConnected());
+ test(!_session->categoryForClient().empty());
+ }
+ catch(const Glacier2::SessionNotExistException&)
+ {
+ test(false);
}
- _factory->destroy();
+ cout << "ok" << endl;
- _factory = ICE_MAKE_SHARED(Glacier2::SessionFactoryHelper, _initData, ICE_MAKE_SHARED(SuccessSessionCallback));
+ test(!_session->session());
- {
- IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
- cout << "testing SessionHelper connect... " << flush;
- _factory->setRouterHost(host);
- _factory->setPort(getTestPort(_initData.properties, 50));
- _factory->setProtocol(protocol);
- _session = _factory->connect("userid", "abc123");
-
- //
- // Wait for connect callback
- //
- _monitor.timedWait(IceUtil::Time::seconds(30));
-
- cout << "testing SessionHelper isConnected after connect... " << flush;
- test(_session->isConnected());
- cout << "ok" << endl;
+ cout << "testing stringToProxy for server object... " << flush;
+ Ice::ObjectPrxPtr base =
+ _session->communicator()->stringToProxy("callback:" + getTestEndpoint(_session->communicator()->getProperties()));
+ cout << "ok" << endl;
- cout << "testing SessionHelper categoryForClient after connect... " << flush;
- try
- {
- test(!_session->categoryForClient().empty());
- }
- catch(const Glacier2::SessionNotExistException&)
- {
- test(false);
- }
- cout << "ok" << endl;
+ cout << "pinging server after session creation... " << flush;
+ base->ice_ping();
+ cout << "ok" << endl;
- test(!_session->session());
+ cout << "testing checked cast for server object... " << flush;
+ CallbackPrxPtr twoway = ICE_CHECKED_CAST(CallbackPrx, base);
+ test(twoway);
+ cout << "ok" << endl;
- cout << "testing stringToProxy for server object... " << flush;
- Ice::ObjectPrxPtr base =
- _session->communicator()->stringToProxy("callback:" + getTestEndpoint(_session->communicator(), 0));
- cout << "ok" << endl;
+ cout << "testing server shutdown... " << flush;
+ twoway->shutdown();
+ cout << "ok" << endl;
- cout << "pinging server after session creation... " << flush;
- base->ice_ping();
- cout << "ok" << endl;
+ test(_session->communicator());
+ cout << "testing SessionHelper destroy... " << flush;
+ _session->destroy();
- cout << "testing checked cast for server object... " << flush;
- CallbackPrxPtr twoway = ICE_CHECKED_CAST(CallbackPrx, base);
- test(twoway);
- cout << "ok" << endl;
+ //
+ // Wait for disconnected callback
+ //
+ _monitor.wait();
- cout << "testing server shutdown... " << flush;
- twoway->shutdown();
- cout << "ok" << endl;
+ cout << "testing SessionHelper isConnected after destroy... " << flush;
+ test(_session->isConnected() == false);
+ cout << "ok" << endl;
- test(_session->communicator());
- cout << "testing SessionHelper destroy... " << flush;
- _session->destroy();
+ cout << "testing SessionHelper categoryForClient after destroy... " << flush;
+ try
+ {
+ test(!_session->categoryForClient().empty());
+ test(false);
+ }
+ catch(const Glacier2::SessionNotExistException&)
+ {
+ }
+ cout << "ok" << endl;
- //
- // Wait for disconnected callback
- //
- _monitor.wait();
+ cout << "testing SessionHelper session after destroy... " << flush;
+ test(_session->session() == ICE_NULLPTR);
+ cout << "ok" << endl;
- cout << "testing SessionHelper isConnected after destroy... " << flush;
- test(_session->isConnected() == false);
- cout << "ok" << endl;
+ cout << "testing SessionHelper communicator after destroy... " << flush;
+ try
+ {
+ test(_session->communicator());
+ _session->communicator()->stringToProxy("dummy");
+ test(false);
+ }
+ catch(const Ice::CommunicatorDestroyedException&)
+ {
+ }
+ cout << "ok" << endl;
- cout << "testing SessionHelper categoryForClient after destroy... " << flush;
- try
- {
- test(!_session->categoryForClient().empty());
- test(false);
- }
- catch(const Glacier2::SessionNotExistException&)
- {
- }
- cout << "ok" << endl;
+ cout << "uninstalling router with communicator... " << flush;
+ communicator->setDefaultRouter(0);
+ cout << "ok" << endl;
- cout << "testing SessionHelper session after destroy... " << flush;
- test(_session->session() == ICE_NULLPTR);
+ Ice::ObjectPrxPtr processBase;
+ {
+ cout << "testing stringToProxy for process object... " << flush;
+ processBase = communicator->stringToProxy("Glacier2/admin -f Process:" + getTestEndpoint(51));
cout << "ok" << endl;
+ }
- cout << "testing SessionHelper communicator after destroy... " << flush;
- try
- {
- test(_session->communicator());
- _session->communicator()->stringToProxy("dummy");
- test(false);
- }
- catch(const Ice::CommunicatorDestroyedException&)
- {
- }
+ Ice::ProcessPrxPtr process;
+ {
+ cout << "testing checked cast for admin object... " << flush;
+ process = ICE_CHECKED_CAST(Ice::ProcessPrx, processBase);
+ test(process != 0);
cout << "ok" << endl;
+ }
- cout << "uninstalling router with communicator... " << flush;
- communicator()->setDefaultRouter(0);
+ cout << "testing Glacier2 shutdown... " << flush;
+ process->shutdown();
+ try
+ {
+ process->ice_ping();
+ test(false);
+ }
+ catch(const Ice::LocalException&)
+ {
cout << "ok" << endl;
+ }
+ }
- Ice::ObjectPrxPtr processBase;
- {
- cout << "testing stringToProxy for process object... " << flush;
- processBase = communicator()->stringToProxy("Glacier2/admin -f Process:" +
- getTestEndpoint(communicator(), 51));
- cout << "ok" << endl;
- }
-
- Ice::ProcessPrxPtr process;
- {
- cout << "testing checked cast for admin object... " << flush;
- process = ICE_CHECKED_CAST(Ice::ProcessPrx, processBase);
- test(process != 0);
- cout << "ok" << endl;
- }
+ _factory->destroy();
- cout << "testing Glacier2 shutdown... " << flush;
- process->shutdown();
- try
- {
- process->ice_ping();
- test(false);
- }
- catch(const Ice::LocalException&)
- {
- cout << "ok" << endl;
- }
- }
+ _factory = ICE_MAKE_SHARED(Glacier2::SessionFactoryHelper, _initData, ICE_MAKE_SHARED(AfterShutdownSessionCallback));
- _factory->destroy();
+ //
+ // Wait a bit to ensure glaci2router has been shutdown.
+ //
+ IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(100));
- _factory = ICE_MAKE_SHARED(Glacier2::SessionFactoryHelper, _initData, ICE_MAKE_SHARED(AfterShutdownSessionCallback));
+ {
+ IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
+ cout << "testing SessionHelper connect after router shutdown... " << flush;
+ _factory->setRouterHost(host);
+ _factory->setPort(getTestPort(_initData.properties, 50));
+ _factory->setProtocol(protocol);
+ _session = _factory->connect("userid", "abc123");
//
- // Wait a bit to ensure glaci2router has been shutdown.
+ // Wait for connectFailed callback
//
- IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(100));
+ _monitor.wait();
- {
- IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
- cout << "testing SessionHelper connect after router shutdown... " << flush;
- _factory->setRouterHost(host);
- _factory->setPort(getTestPort(_initData.properties, 50));
- _factory->setProtocol(protocol);
- _session = _factory->connect("userid", "abc123");
-
- //
- // Wait for connectFailed callback
- //
- _monitor.wait();
-
- cout << "testing SessionHelper isConnect after connect failure... " << flush;
- test(_session->isConnected() == false);
- cout << "ok" << endl;
-
- cout << "testing SessionHelper communicator after connect failure... " << flush;
- try
- {
- test(_session->communicator());
- _session->communicator()->stringToProxy("dummy");
- test(false);
- }
- catch(const Ice::CommunicatorDestroyedException&)
- {
- }
- cout << "ok" << endl;
+ cout << "testing SessionHelper isConnect after connect failure... " << flush;
+ test(_session->isConnected() == false);
+ cout << "ok" << endl;
- cout << "testing SessionHelper destroy after connect failure... " << flush;
- _session->destroy();
- cout << "ok" << endl;
+ cout << "testing SessionHelper communicator after connect failure... " << flush;
+ try
+ {
+ test(_session->communicator());
+ _session->communicator()->stringToProxy("dummy");
+ test(false);
}
-
- _factory->destroy();
-
- if(dispatcher)
+ catch(const Ice::CommunicatorDestroyedException&)
{
- dispatcher->destroy();
- dispatcher->getThreadControl().join();
}
+ cout << "ok" << endl;
- return 0;
+ cout << "testing SessionHelper destroy after connect failure... " << flush;
+ _session->destroy();
+ cout << "ok" << endl;
}
- void
- notify()
+ _factory->destroy();
+
+ if(dispatcher)
{
- IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
- _monitor.notify();
+ dispatcher->destroy();
+ dispatcher->getThreadControl().join();
}
-
-private:
-
- Glacier2::SessionHelperPtr _session;
- Glacier2::SessionFactoryHelperPtr _factory;
- Ice::InitializationData _initData;
- IceUtil::Monitor<IceUtil::Mutex> _monitor;
-};
-
-} // Anonymous namespace end
-
-int
-main(int argc, char* argv[])
-{
- SessionHelperClient c;
- Ice::InitializationData initData = getTestInitData(argc, argv);
- return c.main(argc, argv, initData);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Glacier2/sessionHelper/Server.cpp b/cpp/test/Glacier2/sessionHelper/Server.cpp
index 4dc02f1cdd7..5f3f81d5e2f 100644
--- a/cpp/test/Glacier2/sessionHelper/Server.cpp
+++ b/cpp/test/Glacier2/sessionHelper/Server.cpp
@@ -9,7 +9,7 @@
#include <IceUtil/IceUtil.h>
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Callback.h>
using namespace std;
@@ -18,13 +18,6 @@ using namespace Test;
namespace
{
-class SessionHelperServer : public Ice::Application
-{
-public:
-
- virtual int run(int, char*[]);
-};
-
class CallbackI : public Callback
{
@@ -51,25 +44,25 @@ public:
}
-int
-SessionHelperServer::run(int, char**)
+class Server : public Test::TestHelper
{
- communicator()->getProperties()->setProperty("DeactivatedAdapter.Endpoints", getTestEndpoint(communicator(), 1));
- communicator()->createObjectAdapter("DeactivatedAdapter");
+public:
- communicator()->getProperties()->setProperty("CallbackAdapter.Endpoints", getTestEndpoint(communicator(), 0));
- Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("CallbackAdapter");
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("DeactivatedAdapter.Endpoints", getTestEndpoint(1));
+ communicator->createObjectAdapter("DeactivatedAdapter");
+
+ communicator->getProperties()->setProperty("CallbackAdapter.Endpoints", getTestEndpoint());
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("CallbackAdapter");
adapter->add(ICE_MAKE_SHARED(CallbackI), Ice::stringToIdentity("callback"));
adapter->activate();
- communicator()->waitForShutdown();
-
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
-int
-main(int argc, char* argv[])
-{
- SessionHelperServer app;
- Ice::InitializationData initData = getTestInitData(argc, argv);
- return app.main(argc, argv, initData);
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Glacier2/ssl/Client.cpp b/cpp/test/Glacier2/ssl/Client.cpp
index ea0575b41a0..c4b6a88f646 100644
--- a/cpp/test/Glacier2/ssl/Client.cpp
+++ b/cpp/test/Glacier2/ssl/Client.cpp
@@ -9,39 +9,29 @@
#include <Ice/Ice.h>
#include <Glacier2/Router.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
-//using namespace Test;
+using namespace Test;
-class CallbackClient : public Application
+class Client : public Test::TestHelper
{
public:
- virtual int run(int, char*[]);
+ void run(int, char**);
};
-int
-main(int argc, char* argv[])
+void
+Client::run(int argc, char** argv)
{
- //
- // We must disable connection warnings, because we attempt to ping
- // the router before session establishment, as well as after
- // session destruction. Both will cause a ConnectionLostException.
- //
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- CallbackClient app;
- return app.main(argc, argv, initData);
-}
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Connections", "0");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
-int
-CallbackClient::run(int, char**)
-{
Glacier2::RouterPrx router = Glacier2::RouterPrx::uncheckedCast(
- communicator()->stringToProxy("Glacier2/router:" + getTestEndpoint(communicator(), 0, "tcp")));
- communicator()->setDefaultRouter(router);
+ communicator->stringToProxy("Glacier2/router:" + getTestEndpoint("tcp")));
+ communicator->setDefaultRouter(router);
//
// First try to create a non ssl sessions.
@@ -74,10 +64,10 @@ CallbackClient::run(int, char**)
// Switch to using the SSL router. First, clear the router. Then
// set a new SSL based router.
//
- communicator()->setDefaultRouter(Glacier2::RouterPrx());
+ communicator->setDefaultRouter(Glacier2::RouterPrx());
router = Glacier2::RouterPrx::uncheckedCast(
- communicator()->stringToProxy("Glacier2/router:" + getTestEndpoint(communicator(), 1, "ssl")));
- communicator()->setDefaultRouter(router);
+ communicator->stringToProxy("Glacier2/router:" + getTestEndpoint(1, "ssl")));
+ communicator->setDefaultRouter(router);
//
// Next try to create a non ssl session. This should succeed.
@@ -108,10 +98,10 @@ CallbackClient::run(int, char**)
}
cout << "ok" << endl;
- communicator()->setDefaultRouter(0);
+ communicator->setDefaultRouter(0);
Ice::ProcessPrx process = Ice::ProcessPrx::checkedCast(
- communicator()->stringToProxy("Glacier2/admin -f Process:" + getTestEndpoint(communicator(), 2, "tcp")));
+ communicator->stringToProxy("Glacier2/admin -f Process:" + getTestEndpoint(2, "tcp")));
process->shutdown();
-
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Glacier2/ssl/Server.cpp b/cpp/test/Glacier2/ssl/Server.cpp
index dadff8ab999..49efbe5a46d 100644
--- a/cpp/test/Glacier2/ssl/Server.cpp
+++ b/cpp/test/Glacier2/ssl/Server.cpp
@@ -10,10 +10,11 @@
#include <Ice/Ice.h>
#include <Glacier2/PermissionsVerifier.h>
#include <Glacier2/Session.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <IceSSL/Plugin.h>
using namespace std;
+using namespace Test;
namespace
{
@@ -25,14 +26,14 @@ void testContext(bool ssl, const Ice::CommunicatorPtr& communicator, const Ice::
{
test(ctx["_con.type"] == "tcp");
ostringstream port;
- port << getTestPort(communicator->getProperties(), 0);
+ port << TestHelper::getTestPort(communicator->getProperties());
test(ctx["_con.localPort"] == port.str());
}
else
{
test(ctx["_con.type"] == "ssl");
ostringstream port;
- port << getTestPort(communicator->getProperties(), 1);
+ port << TestHelper::getTestPort(communicator->getProperties(), 1);
test(ctx["_con.localPort"] == port.str());
}
test(ctx["_con.localAddress"] == "127.0.0.1");
@@ -131,7 +132,7 @@ public:
test(info.remoteHost == "127.0.0.1");
test(info.localHost == "127.0.0.1");
- test(info.localPort == getTestPort(current.adapter->getCommunicator()->getProperties(), 1));
+ test(info.localPort == TestHelper::getTestPort(current.adapter->getCommunicator()->getProperties(), 1));
try
{
@@ -152,31 +153,25 @@ public:
}
};
-class SessionServer : public Ice::Application
+class Server : public Test::TestHelper
{
public:
- virtual int run(int, char*[]);
+ void run(int, char**);
};
-int
-main(int argc, char* argv[])
+void
+Server::run(int argc, char** argv)
{
- SessionServer app;
- Ice::InitializationData initData = getTestInitData(argc, argv);
- return app.main(argc, argv, initData);
-}
-
-int
-SessionServer::run(int, char**)
-{
- Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapterWithEndpoints("SessionServer",
- getTestEndpoint(communicator(), 3, "tcp"));
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("SessionServer",
+ getTestEndpoint(3, "tcp"));
adapter->add(new PermissionsVerifierI, Ice::stringToIdentity("verifier"));
adapter->add(new SSLPermissionsVerifierI, Ice::stringToIdentity("sslverifier"));
adapter->add(new SessionManagerI, Ice::stringToIdentity("sessionmanager"));
adapter->add(new SSLSessionManagerI, Ice::stringToIdentity("sslsessionmanager"));
adapter->activate();
- communicator()->waitForShutdown();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
+
+DEFINE_TEST(Server)
diff --git a/cpp/test/Glacier2/staticFiltering/Client.cpp b/cpp/test/Glacier2/staticFiltering/Client.cpp
index 1340b130b54..0a16f88dabb 100644
--- a/cpp/test/Glacier2/staticFiltering/Client.cpp
+++ b/cpp/test/Glacier2/staticFiltering/Client.cpp
@@ -10,45 +10,39 @@
#include <Ice/Ice.h>
#include <Glacier2/Router.h>
#include <Backend.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
using namespace Test;
-class AttackClient : public Application
+class AttackClient : public Test::TestHelper
{
public:
- virtual int run(int, char*[]);
+ void run(int, char**);
};
-int
-main(int argc, char* argv[])
+void
+AttackClient::run(int argc, char** argv)
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
-
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
//
// We want to check whether the client retries for evicted
// proxies, even with regular retries disabled.
//
- initData.properties->setProperty("Ice.RetryIntervals", "-1");
+ properties->setProperty("Ice.RetryIntervals", "-1");
- AttackClient app;
- return app.main(argc, argv, initData);
-}
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
-int
-AttackClient::run(int, char**)
-{
- ObjectPrx routerBase = communicator()->stringToProxy("Glacier2/router:" + getTestEndpoint(communicator(), 50));
+ ObjectPrx routerBase = communicator->stringToProxy("Glacier2/router:" + getTestEndpoint(50));
Glacier2::RouterPrx router = Glacier2::RouterPrx::checkedCast(routerBase);
test(router);
- communicator()->setDefaultRouter(router);
+ communicator->setDefaultRouter(router);
PropertyDict::const_iterator p;
- PropertyDict badProxies = communicator()->getProperties()->getPropertiesForPrefix("Reject.Proxy.");
+ PropertyDict badProxies = communicator->getProperties()->getPropertiesForPrefix("Reject.Proxy.");
for(p = badProxies.begin(); p != badProxies.end(); ++p)
{
try
@@ -59,7 +53,7 @@ AttackClient::run(int, char**)
{
test("Unable to create new session" == 0);
}
- BackendPrx backend = BackendPrx::uncheckedCast(communicator()->stringToProxy(p->second));
+ BackendPrx backend = BackendPrx::uncheckedCast(communicator->stringToProxy(p->second));
try
{
backend->ice_ping();
@@ -98,7 +92,7 @@ AttackClient::run(int, char**)
}
}
- PropertyDict goodProxies = communicator()->getProperties()->getPropertiesForPrefix("Accept.Proxy.");
+ PropertyDict goodProxies = communicator->getProperties()->getPropertiesForPrefix("Accept.Proxy.");
for(p = goodProxies.begin(); p != goodProxies.end(); ++p)
{
try
@@ -109,7 +103,7 @@ AttackClient::run(int, char**)
{
test("Unable to create new session" == 0);
}
- BackendPrx backend = BackendPrx::uncheckedCast(communicator()->stringToProxy(p->second));
+ BackendPrx backend = BackendPrx::uncheckedCast(communicator->stringToProxy(p->second));
try
{
backend->ice_ping();
@@ -136,10 +130,10 @@ AttackClient::run(int, char**)
// Stop using router and communicate with backend and router directly
// to shut things down.
//
- communicator()->setDefaultRouter(0);
+ communicator->setDefaultRouter(0);
try
{
- BackendPrx backend = BackendPrx::checkedCast(communicator()->stringToProxy("dummy:tcp -p 12010"));
+ BackendPrx backend = BackendPrx::checkedCast(communicator->stringToProxy("dummy:tcp -p 12010"));
backend->shutdown();
}
catch(const Ice::LocalException&)
@@ -147,8 +141,7 @@ AttackClient::run(int, char**)
test(false);
}
- ObjectPrx processBase = communicator()->stringToProxy("Glacier2/admin -f Process:" +
- getTestEndpoint(communicator(), 51));
+ ObjectPrx processBase = communicator->stringToProxy("Glacier2/admin -f Process:" + getTestEndpoint(51));
Ice::ProcessPrx process = Ice::ProcessPrx::checkedCast(processBase);
test(process);
process->shutdown();
@@ -161,6 +154,6 @@ AttackClient::run(int, char**)
{
cout << "ok" << endl;
}
-
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(AttackClient)
diff --git a/cpp/test/Glacier2/staticFiltering/Server.cpp b/cpp/test/Glacier2/staticFiltering/Server.cpp
index 49b4b501414..7aa7f949c42 100644
--- a/cpp/test/Glacier2/staticFiltering/Server.cpp
+++ b/cpp/test/Glacier2/staticFiltering/Server.cpp
@@ -9,6 +9,7 @@
#include <Ice/Ice.h>
#include <BackendI.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
@@ -108,33 +109,28 @@ private:
const BackendPtr _backend;
};
-class BackendServer : public Application
+class BackendServer : public Test::TestHelper
{
public:
- virtual int run(int, char*[]);
+ void run(int, char**);
};
-int
-main(int argc, char* argv[])
+void
+BackendServer::run(int argc, char** argv)
{
- BackendServer app;
- return app.main(argc, argv);
-}
-
-int
-BackendServer::run(int, char**)
-{
- string endpoints = communicator()->getProperties()->getPropertyWithDefault("BackendAdapter.Endpoints",
- "tcp -p 12010:ssl -p 12011");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ string endpoints = communicator->getProperties()->getPropertyWithDefault("BackendAdapter.Endpoints",
+ "tcp -p 12010:ssl -p 12011");
- communicator()->getProperties()->setProperty("BackendAdapter.Endpoints", endpoints);
- ObjectAdapterPtr adapter = communicator()->createObjectAdapter("BackendAdapter");
+ communicator->getProperties()->setProperty("BackendAdapter.Endpoints", endpoints);
+ ObjectAdapterPtr adapter = communicator->createObjectAdapter("BackendAdapter");
BackendPtr backend = new BackendI;
Ice::LocatorPtr locator = new ServerLocatorI(backend, adapter);
adapter->add(locator, Ice::stringToIdentity("locator"));
adapter->addServantLocator(new ServantLocatorI(backend), "");
adapter->activate();
- communicator()->waitForShutdown();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
+
+DEFINE_TEST(BackendServer)
diff --git a/cpp/test/Ice/acm/AllTests.cpp b/cpp/test/Ice/acm/AllTests.cpp
index 94b8c0da84d..b0affe91d85 100644
--- a/cpp/test/Ice/acm/AllTests.cpp
+++ b/cpp/test/Ice/acm/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -711,9 +711,10 @@ public:
}
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
- string ref = "communicator:" + getTestEndpoint(communicator, 0);
+ Ice::CommunicatorPtr communicator = helper->communicator();
+ string ref = "communicator:" + helper->getTestEndpoint();
RemoteCommunicatorPrxPtr com = ICE_UNCHECKED_CAST(RemoteCommunicatorPrx, communicator->stringToProxy(ref));
vector<TestCasePtr> tests;
diff --git a/cpp/test/Ice/acm/Client.cpp b/cpp/test/Ice/acm/Client.cpp
index 4d969f473c3..bc34933867a 100644
--- a/cpp/test/Ice/acm/Client.cpp
+++ b/cpp/test/Ice/acm/Client.cpp
@@ -7,43 +7,26 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
-{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
+class Client : public Test::TestHelper
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-# if ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
+public:
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Connections", "0");
+ void run(int, char**);
+};
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+void
+Client::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Connections", "0");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/acm/Server.cpp b/cpp/test/Ice/acm/Server.cpp
index 3133c0be596..e21aaae1882 100644
--- a/cpp/test/Ice/acm/Server.cpp
+++ b/cpp/test/Ice/acm/Server.cpp
@@ -8,50 +8,38 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Connections", "0");
+ properties->setProperty("Ice.ACM.Timeout", "1");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
communicator->getProperties()->setProperty("TestAdapter.ACM.Timeout", "0");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::Identity id = Ice::stringToIdentity("communicator");
adapter->add(ICE_MAKE_SHARED(RemoteCommunicatorI), id);
adapter->activate();
- TEST_READY
+ serverReady();
// Disable ready print for further adapters.
communicator->getProperties()->setProperty("Ice.PrintAdapterReady", "0");
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.ACM.Timeout", "1");
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/adapterDeactivation/AllTests.cpp b/cpp/test/Ice/adapterDeactivation/AllTests.cpp
index 2c0af37fd62..99ab429c7f7 100644
--- a/cpp/test/Ice/adapterDeactivation/AllTests.cpp
+++ b/cpp/test/Ice/adapterDeactivation/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -16,10 +16,11 @@ using namespace Ice;
using namespace Test;
TestIntfPrxPtr
-allTests(const CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ CommunicatorPtr communicator = helper->communicator();
cout << "testing stringToProxy... " << flush;
- ObjectPrxPtr base = communicator->stringToProxy("test:" + getTestEndpoint(communicator, 0));
+ ObjectPrxPtr base = communicator->stringToProxy("test:" + helper->getTestEndpoint());
test(base);
cout << "ok" << endl;
@@ -41,7 +42,7 @@ allTests(const CommunicatorPtr& communicator)
{
if(!uwp || (communicator->getProperties()->getProperty("Ice.Default.Protocol") != "ssl" &&
- communicator->getProperties()->getProperty("Ice.Default.Protocol") != "wss"))
+ communicator->getProperties()->getProperty("Ice.Default.Protocol") != "wss"))
{
cout << "creating/destroying/recreating object adapter... " << flush;
ObjectAdapterPtr adpt = communicator->createObjectAdapterWithEndpoints("TransientTestAdapter", "default");
@@ -78,9 +79,9 @@ allTests(const CommunicatorPtr& communicator)
initData.properties = communicator->getProperties()->clone();
Ice::CommunicatorHolder comm(initData);
#ifdef ICE_CPP11_MAPPING
- comm->stringToProxy("test:" + getTestEndpoint(communicator, 0))->ice_pingAsync();
+ comm->stringToProxy("test:" + helper->getTestEndpoint())->ice_pingAsync();
#else
- comm->stringToProxy("test:" + getTestEndpoint(communicator, 0))->begin_ice_ping();
+ comm->stringToProxy("test:" + helper->getTestEndpoint())->begin_ice_ping();
#endif
}
cout << "ok" << endl;
@@ -172,7 +173,7 @@ allTests(const CommunicatorPtr& communicator)
try
{
router = ICE_UNCHECKED_CAST(Ice::RouterPrx,
- communicator->stringToProxy("test:" + getTestEndpoint(communicator, 1)));
+ communicator->stringToProxy("test:" + helper->getTestEndpoint(1)));
communicator->createObjectAdapterWithRouter("", router);
test(false);
}
@@ -185,10 +186,10 @@ allTests(const CommunicatorPtr& communicator)
cout << "testing object adapter creation with port in use... " << flush;
{
Ice::ObjectAdapterPtr adapter1 =
- communicator->createObjectAdapterWithEndpoints("Adpt1", getTestEndpoint(communicator, 10));
+ communicator->createObjectAdapterWithEndpoints("Adpt1", helper->getTestEndpoint(10));
try
{
- communicator->createObjectAdapterWithEndpoints("Adpt2", getTestEndpoint(communicator, 10));
+ communicator->createObjectAdapterWithEndpoints("Adpt2", helper->getTestEndpoint(10));
test(false);
}
catch(const Ice::LocalException&)
diff --git a/cpp/test/Ice/adapterDeactivation/Client.cpp b/cpp/test/Ice/adapterDeactivation/Client.cpp
index 87279198a24..b6336faeec3 100644
--- a/cpp/test/Ice/adapterDeactivation/Client.cpp
+++ b/cpp/test/Ice/adapterDeactivation/Client.cpp
@@ -8,42 +8,28 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <string>
#include <iostream>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Ice;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- TestIntfPrxPtr allTests(const CommunicatorPtr&);
- TestIntfPrxPtr obj = allTests(communicator);
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
+ void run(int, char**);
+};
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ TestIntfPrxPtr allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/adapterDeactivation/Collocated.cpp b/cpp/test/Ice/adapterDeactivation/Collocated.cpp
index 14dcc5353f9..eebcf508105 100644
--- a/cpp/test/Ice/adapterDeactivation/Collocated.cpp
+++ b/cpp/test/Ice/adapterDeactivation/Collocated.cpp
@@ -7,21 +7,26 @@
//
// **********************************************************************
-#include <Ice/Application.h>
#include <ServantLocatorI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("collocated")
-
using namespace std;
using namespace Ice;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Collocated : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Collocated::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
//
// 2 threads are necessary to dispatch the collocated transient() call with AMI
@@ -32,30 +37,10 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
ServantLocatorPtr locator = ICE_MAKE_SHARED(ServantLocatorI);
adapter->addServantLocator(locator, "");
- TestIntfPrxPtr allTests(const CommunicatorPtr&);
- allTests(communicator);
+ TestIntfPrxPtr allTests(TestHelper*);
+ allTests(this);
adapter->waitForDeactivate();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Collocated)
diff --git a/cpp/test/Ice/adapterDeactivation/ServantLocatorI.cpp b/cpp/test/Ice/adapterDeactivation/ServantLocatorI.cpp
index bd338105213..1f6f6df7465 100644
--- a/cpp/test/Ice/adapterDeactivation/ServantLocatorI.cpp
+++ b/cpp/test/Ice/adapterDeactivation/ServantLocatorI.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <ServantLocatorI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
using namespace std;
diff --git a/cpp/test/Ice/adapterDeactivation/Server.cpp b/cpp/test/Ice/adapterDeactivation/Server.cpp
index 44b10da7330..dcf8b3baef6 100644
--- a/cpp/test/Ice/adapterDeactivation/Server.cpp
+++ b/cpp/test/Ice/adapterDeactivation/Server.cpp
@@ -7,46 +7,30 @@
//
// **********************************************************************
-#include <Ice/Application.h>
#include <ServantLocatorI.h>
-#include <TestCommon.h>
-
-DEFINE_TEST("server")
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
ServantLocatorPtr locator = ICE_MAKE_SHARED(ServantLocatorI);
adapter->addServantLocator(locator, "");
adapter->activate();
- TEST_READY
+ serverReady();
adapter->waitForDeactivate();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/adapterDeactivation/TestI.cpp b/cpp/test/Ice/adapterDeactivation/TestI.cpp
index f074459b82f..6ee60824dad 100644
--- a/cpp/test/Ice/adapterDeactivation/TestI.cpp
+++ b/cpp/test/Ice/adapterDeactivation/TestI.cpp
@@ -10,17 +10,19 @@
#include <IceUtil/IceUtil.h>
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
+using namespace Test;
void
TestI::transient(const Current& current)
{
CommunicatorPtr communicator = current.adapter->getCommunicator();
- ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("TransientTestAdapter",
- getTestEndpoint(communicator, 1));
+ ObjectAdapterPtr adapter =
+ communicator->createObjectAdapterWithEndpoints("TransientTestAdapter",
+ TestHelper::getTestEndpoint(communicator->getProperties(), 1));
adapter->activate();
adapter->destroy();
}
diff --git a/cpp/test/Ice/admin/AllTests.cpp b/cpp/test/Ice/admin/AllTests.cpp
index f86412012b9..36e80f6f0df 100644
--- a/cpp/test/Ice/admin/AllTests.cpp
+++ b/cpp/test/Ice/admin/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h> // For TestFacetI
using namespace std;
@@ -178,8 +178,9 @@ RemoteLoggerI::wait(int calls)
}
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
cout << "testing communicator operations... " << flush;
{
//
@@ -279,7 +280,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
}
cout << "ok" << endl;
- string ref = "factory:" + getTestEndpoint(communicator, 0) + " -t 10000";
+ string ref = "factory:" + helper->getTestEndpoint() + " -t 10000";
RemoteCommunicatorFactoryPrxPtr factory =
ICE_UNCHECKED_CAST(RemoteCommunicatorFactoryPrx, communicator->stringToProxy(ref));
diff --git a/cpp/test/Ice/admin/Client.cpp b/cpp/test/Ice/admin/Client.cpp
index f16a2be18d3..7184106d732 100644
--- a/cpp/test/Ice/admin/Client.cpp
+++ b/cpp/test/Ice/admin/Client.cpp
@@ -8,38 +8,24 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
-DEFINE_TEST("client")
-
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
+ void run(int, char**);
+};
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/admin/Server.cpp b/cpp/test/Ice/admin/Server.cpp
index bbc56f0342c..07abdded214 100644
--- a/cpp/test/Ice/admin/Server.cpp
+++ b/cpp/test/Ice/admin/Server.cpp
@@ -9,42 +9,28 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-DEFINE_TEST("server")
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+void
+Server::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0) + " -t 10000");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint() + " -t 10000");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::Identity id = Ice::stringToIdentity("factory");
adapter->add(ICE_MAKE_SHARED(RemoteCommunicatorFactoryI), id);
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/admin/TestI.h b/cpp/test/Ice/admin/TestI.h
index 765d9464a37..aab75a6e6af 100644
--- a/cpp/test/Ice/admin/TestI.h
+++ b/cpp/test/Ice/admin/TestI.h
@@ -11,7 +11,7 @@
#define TEST_I_H
#include <Test.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Ice/NativePropertiesAdmin.h>
class RemoteCommunicatorI : public virtual Test::RemoteCommunicator,
diff --git a/cpp/test/Ice/ami/AllTests.cpp b/cpp/test/Ice/ami/AllTests.cpp
index a449662d758..c60ca2f6d67 100644
--- a/cpp/test/Ice/ami/AllTests.cpp
+++ b/cpp/test/Ice/ami/AllTests.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <IceUtil/Random.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -899,18 +899,19 @@ typedef IceUtil::Handle<Thrower> ThrowerPtr;
}
void
-allTests(const Ice::CommunicatorPtr& communicator, bool collocated)
+allTests(Test::TestHelper* helper, bool collocated)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
const string protocol = communicator->getProperties()->getProperty("Ice.Default.Protocol");
#ifdef ICE_CPP11_MAPPING
- string sref = "test:" + getTestEndpoint(communicator, 0);
+ string sref = "test:" + helper->getTestEndpoint();
auto obj = communicator->stringToProxy(sref);
test(obj);
auto p = Ice::uncheckedCast<Test::TestIntfPrx>(obj);
- sref = "testController:" + getTestEndpoint(communicator, 1);
+ sref = "testController:" + helper->getTestEndpoint(1);
obj = communicator->stringToProxy(sref);
test(obj);
@@ -2387,7 +2388,7 @@ allTests(const Ice::CommunicatorPtr& communicator, bool collocated)
cout << "testing result struct... " << flush;
auto q = Ice::uncheckedCast<Test::Outer::Inner::TestIntfPrx>(
- communicator->stringToProxy("test2:" + getTestEndpoint(communicator, 0)));
+ communicator->stringToProxy("test2:" + helper->getTestEndpoint()));
promise<void> promise;
q->opAsync(1,
@@ -2420,13 +2421,13 @@ allTests(const Ice::CommunicatorPtr& communicator, bool collocated)
p->shutdown();
#else
- string sref = "test:" + getTestEndpoint(communicator, 0);
+ string sref = "test:" + helper->getTestEndpoint();
Ice::ObjectPrx obj = communicator->stringToProxy(sref);
test(obj);
Test::TestIntfPrx p = Test::TestIntfPrx::uncheckedCast(obj);
- sref = "testController:" + getTestEndpoint(communicator, 1);
+ sref = "testController:" + helper->getTestEndpoint(1);
obj = communicator->stringToProxy(sref);
test(obj);
diff --git a/cpp/test/Ice/ami/Client.cpp b/cpp/test/Ice/ami/Client.cpp
index a32ffa44d5d..c3959a16733 100644
--- a/cpp/test/Ice/ami/Client.cpp
+++ b/cpp/test/Ice/ami/Client.cpp
@@ -8,50 +8,34 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&, bool);
- allTests(communicator, false);
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-# ifdef ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.AMICallback", "0");
- initData.properties->setProperty("Ice.Warn.Connections", "0");
-
- //
- // Limit the send buffer size, this test relies on the socket
- // send() blocking after sending a given amount of data.
- //
- initData.properties->setProperty("Ice.TCP.SndSize", "50000");
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.AMICallback", "0");
+ properties->setProperty("Ice.Warn.Connections", "0");
+
+ //
+ // Limit the send buffer size, this test relies on the socket
+ // send() blocking after sending a given amount of data.
+ //
+ properties->setProperty("Ice.TCP.SndSize", "50000");
+
+ Ice::CommunicatorHolder communcator = initialize(argc, argv, properties);
+ void allTests(Test::TestHelper*, bool);
+ allTests(this, false);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/ami/Collocated.cpp b/cpp/test/Ice/ami/Collocated.cpp
index 8d09a3a3082..ef1893e344a 100644
--- a/cpp/test/Ice/ami/Collocated.cpp
+++ b/cpp/test/Ice/ami/Collocated.cpp
@@ -8,18 +8,26 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("collocated")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Collocated : public Test::TestHelper
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
- communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(communicator, 1));
+public:
+
+ void run(int, char**);
+};
+
+void
+Collocated::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.AMICallback", "0");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
+ communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(1));
communicator->getProperties()->setProperty("ControllerAdapter.ThreadPool.Size", "1");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
@@ -34,31 +42,8 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
adapter2->add(testController, Ice::stringToIdentity("testController"));
//adapter2->activate(); // Collocated test doesn't need to activate the OA
- void allTests(const Ice::CommunicatorPtr&, bool);
- allTests(communicator, true);
-
- return EXIT_SUCCESS;
+ void allTests(Test::TestHelper*, bool);
+ allTests(this, true);
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.AMICallback", "0");
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Collocated)
diff --git a/cpp/test/Ice/ami/Server.cpp b/cpp/test/Ice/ami/Server.cpp
index 1e477a22831..abeaed2d6d5 100644
--- a/cpp/test/Ice/ami/Server.cpp
+++ b/cpp/test/Ice/ami/Server.cpp
@@ -8,18 +8,37 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
- communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(communicator, 1));
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ //
+ // This test kills connections, so we don't want warnings.
+ //
+ properties->setProperty("Ice.Warn.Connections", "0");
+
+ //
+ // Limit the recv buffer size, this test relies on the socket
+ // send() blocking after sending a given amount of data.
+ //
+ properties->setProperty("Ice.TCP.RcvSize", "50000");
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
+ communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(1));
communicator->getProperties()->setProperty("ControllerAdapter.ThreadPool.Size", "1");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
@@ -34,41 +53,9 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
adapter2->add(testController, Ice::stringToIdentity("testController"));
adapter2->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
-
- //
- // This test kills connections, so we don't want warnings.
- //
- initData.properties->setProperty("Ice.Warn.Connections", "0");
-
- //
- // Limit the recv buffer size, this test relies on the socket
- // send() blocking after sending a given amount of data.
- //
- initData.properties->setProperty("Ice.TCP.RcvSize", "50000");
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/ami/TestI.h b/cpp/test/Ice/ami/TestI.h
index 87fc115327a..558d7b325df 100644
--- a/cpp/test/Ice/ami/TestI.h
+++ b/cpp/test/Ice/ami/TestI.h
@@ -11,7 +11,7 @@
#define TEST_I_H
#include <Test.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
class TestIntfControllerI;
ICE_DEFINE_PTR(TestIntfControllerIPtr, TestIntfControllerI);
diff --git a/cpp/test/Ice/background/AllTests.cpp b/cpp/test/Ice/background/AllTests.cpp
index 2ae82697746..61cb5b11afe 100644
--- a/cpp/test/Ice/background/AllTests.cpp
+++ b/cpp/test/Ice/background/AllTests.cpp
@@ -10,7 +10,7 @@
#include <IceUtil/IceUtil.h>
#include <IceUtil/Random.h>
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <PluginI.h>
#include <Configuration.h>
@@ -205,16 +205,17 @@ void validationTests(const ConfigurationPtr&, const Test::BackgroundPrxPtr&, con
void readWriteTests(const ConfigurationPtr&, const Test::BackgroundPrxPtr&, const Test::BackgroundControllerPrxPtr&);
BackgroundPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
- const string endp = getTestEndpoint(communicator, 0);
+ Ice::CommunicatorPtr communicator = helper->communicator();
+ const string endp = helper->getTestEndpoint();
string sref = "background:" + endp;
Ice::ObjectPrxPtr obj = communicator->stringToProxy(sref);
test(obj);
BackgroundPrxPtr background = ICE_UNCHECKED_CAST(BackgroundPrx, obj);
- sref = "backgroundController:" + getTestEndpoint(communicator, 1, "tcp");
+ sref = "backgroundController:" + helper->getTestEndpoint(1, "tcp");
obj = communicator->stringToProxy(sref);
test(obj);
diff --git a/cpp/test/Ice/background/Client.cpp b/cpp/test/Ice/background/Client.cpp
index b7488777d25..be276a3393f 100644
--- a/cpp/test/Ice/background/Client.cpp
+++ b/cpp/test/Ice/background/Client.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <Configuration.h>
@@ -26,64 +26,49 @@ Ice::Plugin* createTestTransport(const Ice::CommunicatorPtr&, const std::string&
};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- BackgroundPrxPtr allTests(const Ice::CommunicatorPtr&);
- BackgroundPrxPtr background = allTests(communicator);
- background->shutdown();
- return EXIT_SUCCESS;
-}
+public:
+
+ void run(int, char**);
+};
-int
-main(int argc, char* argv[])
+void
+Client::run(int argc, char** argv)
{
#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
Ice::registerPluginFactory("Test", createTestTransport, false);
#endif
- int status;
- Ice::CommunicatorPtr communicator;
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
-
- //
- // For this test, we want to disable retries.
- //
- initData.properties->setProperty("Ice.RetryIntervals", "-1");
-
- //
- // This test kills connections, so we don't want warnings.
- //
- initData.properties->setProperty("Ice.Warn.Connections", "0");
-
- // This test relies on filling the TCP send/recv buffer, so
- // we rely on a fixed value for these buffers.
- initData.properties->setProperty("Ice.TCP.SndSize", "50000");
-
- //
- // Setup the test transport plug-in.
- //
- initData.properties->setProperty("Ice.Plugin.Test", "TestTransport:createTestTransport");
- string defaultProtocol = initData.properties->getPropertyWithDefault("Ice.Default.Protocol", "tcp");
- initData.properties->setProperty("Ice.Default.Protocol", "test-" + defaultProtocol);
-
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << " " << ex.ice_stackTrace() << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+
+ //
+ // For this test, we want to disable retries.
+ //
+ properties->setProperty("Ice.RetryIntervals", "-1");
+
+ //
+ // This test kills connections, so we don't want warnings.
+ //
+ properties->setProperty("Ice.Warn.Connections", "0");
+
+ //
+ // This test relies on filling the TCP send/recv buffer, so
+ // we rely on a fixed value for these buffers.
+ //
+ properties->setProperty("Ice.TCP.SndSize", "50000");
+
+ //
+ // Setup the test transport plug-in.
+ //
+ properties->setProperty("Ice.Plugin.Test", "TestTransport:createTestTransport");
+ string defaultProtocol = properties->getPropertyWithDefault("Ice.Default.Protocol", "tcp");
+ properties->setProperty("Ice.Default.Protocol", "test-" + defaultProtocol);
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ BackgroundPrxPtr allTests(Test::TestHelper*);
+ BackgroundPrxPtr background = allTests(this);
+ background->shutdown();
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/background/Server.cpp b/cpp/test/Ice/background/Server.cpp
index 9a6dddb7194..bf2b9fe36d9 100644
--- a/cpp/test/Ice/background/Server.cpp
+++ b/cpp/test/Ice/background/Server.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
#include <Configuration.h>
#include <PluginI.h>
@@ -124,11 +124,45 @@ private:
BackgroundControllerIPtr _controller;
};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
- communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(communicator, 1, "tcp"));
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
+{
+#ifdef ICE_STATIC_LIBS
+ Ice::registerPluginFactory("Test", createTestTransport, false);
+#endif
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+
+ //
+ // This test kills connections, so we don't want warnings.
+ //
+ properties->setProperty("Ice.Warn.Connections", "0");
+
+ properties->setProperty("Ice.MessageSizeMax", "50000");
+
+ //
+ // This test relies on filling the TCP send/recv buffer, so
+ // we rely on a fixed value for these buffers.
+ //
+ properties->setProperty("Ice.TCP.RcvSize", "50000");
+
+ //
+ // Setup the test transport plug-in.
+ //
+ properties->setProperty("Ice.Plugin.Test", "TestTransport:createTestTransport");
+ string defaultProtocol = properties->getPropertyWithDefault("Ice.Default.Protocol", "tcp");
+ properties->setProperty("Ice.Default.Protocol", "test-" + defaultProtocol);
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(0));
+ communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(1, "tcp"));
communicator->getProperties()->setProperty("ControllerAdapter.ThreadPool.Size", "1");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
@@ -152,46 +186,6 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
adapter2->activate();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerPluginFactory("Test", createTestTransport, false);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
-
- //
- // This test kills connections, so we don't want warnings.
- //
- initData.properties->setProperty("Ice.Warn.Connections", "0");
-
- initData.properties->setProperty("Ice.MessageSizeMax", "50000");
-
- // This test relies on filling the TCP send/recv buffer, so
- // we rely on a fixed value for these buffers.
- initData.properties->setProperty("Ice.TCP.RcvSize", "50000");
-
- //
- // Setup the test transport plug-in.
- //
- initData.properties->setProperty("Ice.Plugin.Test", "TestTransport:createTestTransport");
- string defaultProtocol = initData.properties->getPropertyWithDefault("Ice.Default.Protocol", "tcp");
- initData.properties->setProperty("Ice.Default.Protocol", "test-" + defaultProtocol);
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/background/TestI.h b/cpp/test/Ice/background/TestI.h
index 3d88aeca16e..1405c0f70f1 100644
--- a/cpp/test/Ice/background/TestI.h
+++ b/cpp/test/Ice/background/TestI.h
@@ -11,7 +11,6 @@
#define TEST_I_H
#include <Test.h>
-#include <TestCommon.h>
#include <Configuration.h>
#include <set>
diff --git a/cpp/test/Ice/binding/AllTests.cpp b/cpp/test/Ice/binding/AllTests.cpp
index d64c4681251..7aafd6d0f95 100644
--- a/cpp/test/Ice/binding/AllTests.cpp
+++ b/cpp/test/Ice/binding/AllTests.cpp
@@ -9,7 +9,7 @@
#include <IceUtil/Random.h>
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <set>
@@ -101,9 +101,10 @@ deactivate(const RemoteCommunicatorPrxPtr& com, vector<RemoteObjectAdapterPrxPtr
}
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
- string ref = "communicator:" + getTestEndpoint(communicator, 0);
+ Ice::CommunicatorPtr communicator = helper->communicator();
+ string ref = "communicator:" + helper->getTestEndpoint();
RemoteCommunicatorPrxPtr com = ICE_UNCHECKED_CAST(RemoteCommunicatorPrx, communicator->stringToProxy(ref));
RandomNumberGenerator rng;
@@ -940,7 +941,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
string endpoint;
{
ostringstream str;
- str << "tcp -p " << getTestPort(communicator->getProperties(), 2);
+ str << "tcp -p " << helper->getTestPort(2);
endpoint = str.str();
}
diff --git a/cpp/test/Ice/binding/Client.cpp b/cpp/test/Ice/binding/Client.cpp
index f0ac6ebc528..7184106d732 100644
--- a/cpp/test/Ice/binding/Client.cpp
+++ b/cpp/test/Ice/binding/Client.cpp
@@ -8,42 +8,24 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-# ifdef ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
+ void run(int, char**);
+};
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/binding/Server.cpp b/cpp/test/Ice/binding/Server.cpp
index 6f717fda278..373b269fe14 100644
--- a/cpp/test/Ice/binding/Server.cpp
+++ b/cpp/test/Ice/binding/Server.cpp
@@ -8,11 +8,9 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
namespace
@@ -58,43 +56,33 @@ public:
}
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
+{
+ Ice::InitializationData initData;
+ initData.properties = createTestProperties(argc, argv);
+ initData.properties->setProperty("Ice.Warn.Connections", "0");
+ initData.logger = ICE_MAKE_SHARED(NullLogger);
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, initData);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::Identity id = Ice::stringToIdentity("communicator");
adapter->add(ICE_MAKE_SHARED(RemoteCommunicatorI), id);
adapter->activate();
- TEST_READY
+ serverReady();
// Disable ready print for further adapters.
communicator->getProperties()->setProperty("Ice.PrintAdapterReady", "0");
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.logger = ICE_MAKE_SHARED(NullLogger);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/binding/TestI.cpp b/cpp/test/Ice/binding/TestI.cpp
index a39cb3a5515..ecadd92171b 100644
--- a/cpp/test/Ice/binding/TestI.cpp
+++ b/cpp/test/Ice/binding/TestI.cpp
@@ -9,13 +9,14 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
using namespace Test;
-RemoteCommunicatorI::RemoteCommunicatorI() : _nextPort(1)
+RemoteCommunicatorI::RemoteCommunicatorI() :
+ _nextPort(1)
{
}
@@ -39,7 +40,7 @@ RemoteCommunicatorI::createObjectAdapter(const string& name, const string& endpt
{
if(endpoints.find("-p") == string::npos)
{
- endpoints = getTestEndpoint(com, _nextPort++, endpoints);
+ endpoints = TestHelper::getTestEndpoint(com->getProperties(), _nextPort++, endpoints);
}
}
com->getProperties()->setProperty(name + ".ThreadPool.Size", "1");
diff --git a/cpp/test/Ice/binding/TestI.h b/cpp/test/Ice/binding/TestI.h
index 3501d11b513..cb3d4423ff7 100644
--- a/cpp/test/Ice/binding/TestI.h
+++ b/cpp/test/Ice/binding/TestI.h
@@ -11,6 +11,7 @@
#define TEST_I_H
#include <Test.h>
+#include <TestHelper.h>
class RemoteCommunicatorI : public Test::RemoteCommunicator
{
@@ -19,7 +20,8 @@ public:
RemoteCommunicatorI();
#ifdef ICE_CPP11_MAPPING
- virtual std::shared_ptr<Test::RemoteObjectAdapterPrx> createObjectAdapter(std::string, std::string, const Ice::Current&);
+ virtual std::shared_ptr<Test::RemoteObjectAdapterPrx> createObjectAdapter(std::string, std::string,
+ const Ice::Current&);
virtual void deactivateObjectAdapter(std::shared_ptr<Test::RemoteObjectAdapterPrx>, const Ice::Current&);
#else
virtual Test::RemoteObjectAdapterPrx createObjectAdapter(const std::string&, const std::string&,
diff --git a/cpp/test/Ice/checksum/AllTests.cpp b/cpp/test/Ice/checksum/AllTests.cpp
index 402aa244347..30a8d2e82c0 100644
--- a/cpp/test/Ice/checksum/AllTests.cpp
+++ b/cpp/test/Ice/checksum/AllTests.cpp
@@ -8,15 +8,16 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
Test::ChecksumPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator, bool)
+allTests(Test::TestHelper* helper)
{
- string ref = "test:" + getTestEndpoint(communicator, 0);
+ Ice::CommunicatorPtr communicator = helper->communicator();
+ string ref = "test:" + helper->getTestEndpoint();
Ice::ObjectPrxPtr base = communicator->stringToProxy(ref);
test(base);
diff --git a/cpp/test/Ice/checksum/Client.cpp b/cpp/test/Ice/checksum/Client.cpp
index da6882af4a1..0450f7d6cb8 100644
--- a/cpp/test/Ice/checksum/Client.cpp
+++ b/cpp/test/Ice/checksum/Client.cpp
@@ -8,38 +8,25 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
-DEFINE_TEST("client")
+class Client : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+void
+Client::run(int argc, char** argv)
{
- Test::ChecksumPrxPtr allTests(const Ice::CommunicatorPtr&, bool);
- Test::ChecksumPrxPtr checksum = allTests(communicator, false);
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ Test::ChecksumPrxPtr allTests(Test::TestHelper*);
+ Test::ChecksumPrxPtr checksum = allTests(this);
checksum->shutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/checksum/Server.cpp b/cpp/test/Ice/checksum/Server.cpp
index 99870f2b672..e6a2206944b 100644
--- a/cpp/test/Ice/checksum/Server.cpp
+++ b/cpp/test/Ice/checksum/Server.cpp
@@ -9,40 +9,27 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-DEFINE_TEST("server")
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+void
+Server::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0) + " -t 10000");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint() + " -t 10000");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(ChecksumI), Ice::stringToIdentity("test"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/custom/AllTests.cpp b/cpp/test/Ice/custom/AllTests.cpp
index ea572da9806..39877b6960a 100644
--- a/cpp/test/Ice/custom/AllTests.cpp
+++ b/cpp/test/Ice/custom/AllTests.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <IceUtil/Iterator.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <Wstring.h>
@@ -566,9 +566,10 @@ typedef IceUtil::Handle<Callback> CallbackPtr;
#endif
Test::TestIntfPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
- const string endp = getTestEndpoint(communicator, 0);
+ Ice::CommunicatorPtr communicator = helper->communicator();
+ const string endp = helper->getTestEndpoint();
cout << "testing stringToProxy... " << flush;
string ref = communicator->getProperties()->getPropertyWithDefault("Custom.Proxy", "test:" + endp);
Ice::ObjectPrxPtr base = communicator->stringToProxy(ref);
diff --git a/cpp/test/Ice/custom/Client.cpp b/cpp/test/Ice/custom/Client.cpp
index 98586420b8c..efcca325d29 100644
--- a/cpp/test/Ice/custom/Client.cpp
+++ b/cpp/test/Ice/custom/Client.cpp
@@ -8,54 +8,28 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <StringConverterI.h>
using namespace std;
-DEFINE_TEST("client")
-
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- Test::TestIntfPrxPtr allTests(const Ice::CommunicatorPtr&);
- Test::TestIntfPrxPtr test = allTests(communicator);
- test->shutdown();
+public:
- return EXIT_SUCCESS;
-}
+ void run(int, char**);
+};
-int
-main(int argc, char** argv)
+void
+Client::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- setProcessStringConverter(ICE_MAKE_SHARED(Test::StringConverterI));
- setProcessWstringConverter(ICE_MAKE_SHARED(Test::WstringConverterI));
-
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << ": " << ex.ice_stackTrace() << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-
+ setProcessStringConverter(ICE_MAKE_SHARED(Test::StringConverterI));
+ setProcessWstringConverter(ICE_MAKE_SHARED(Test::WstringConverterI));
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ Test::TestIntfPrxPtr allTests(Test::TestHelper*);
+ Test::TestIntfPrxPtr test = allTests(this);
+ test->shutdown();
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/custom/Collocated.cpp b/cpp/test/Ice/custom/Collocated.cpp
index 3d293a69a83..6ff959f5b16 100644
--- a/cpp/test/Ice/custom/Collocated.cpp
+++ b/cpp/test/Ice/custom/Collocated.cpp
@@ -8,59 +8,36 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
#include <WstringI.h>
#include <StringConverterI.h>
using namespace std;
-DEFINE_TEST("collocated")
-
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Collocated : public Test::TestHelper
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
- Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
- adapter->add(ICE_MAKE_SHARED(TestIntfI, communicator), Ice::stringToIdentity("TEST"));
- adapter->add(ICE_MAKE_SHARED(Test1::WstringClassI), Ice::stringToIdentity("WSTRING1"));
- adapter->add(ICE_MAKE_SHARED(Test2::WstringClassI), Ice::stringToIdentity("WSTRING2"));
-
- Test::TestIntfPrxPtr allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
+public:
- return EXIT_SUCCESS;
-}
+ void run(int, char**);
+};
-int
-main(int argc, char** argv)
+void
+Collocated::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- int status;
- Ice::CommunicatorPtr communicator;
+ setProcessStringConverter(ICE_MAKE_SHARED(Test::StringConverterI));
+ setProcessWstringConverter(ICE_MAKE_SHARED(Test::WstringConverterI));
- try
- {
- setProcessStringConverter(ICE_MAKE_SHARED(Test::StringConverterI));
- setProcessWstringConverter(ICE_MAKE_SHARED(Test::WstringConverterI));
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
+ adapter->add(ICE_MAKE_SHARED(TestIntfI), Ice::stringToIdentity("TEST"));
+ adapter->add(ICE_MAKE_SHARED(Test1::WstringClassI), Ice::stringToIdentity("WSTRING1"));
+ adapter->add(ICE_MAKE_SHARED(Test2::WstringClassI), Ice::stringToIdentity("WSTRING2"));
- return status;
+ Test::TestIntfPrxPtr allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Collocated)
diff --git a/cpp/test/Ice/custom/Server.cpp b/cpp/test/Ice/custom/Server.cpp
index 49a2ca775c9..3c1ecbfe06f 100644
--- a/cpp/test/Ice/custom/Server.cpp
+++ b/cpp/test/Ice/custom/Server.cpp
@@ -8,60 +8,35 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
#include <WstringI.h>
#include <StringConverterI.h>
using namespace std;
-DEFINE_TEST("server")
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+void
+Server::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ setProcessStringConverter(ICE_MAKE_SHARED(Test::StringConverterI));
+ setProcessWstringConverter(ICE_MAKE_SHARED(Test::WstringConverterI));
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
- adapter->add(ICE_MAKE_SHARED(TestIntfI, communicator), Ice::stringToIdentity("TEST"));
+ adapter->add(ICE_MAKE_SHARED(TestIntfI), Ice::stringToIdentity("TEST"));
adapter->add(ICE_MAKE_SHARED(Test1::WstringClassI), Ice::stringToIdentity("WSTRING1"));
adapter->add(ICE_MAKE_SHARED(Test2::WstringClassI), Ice::stringToIdentity("WSTRING2"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char** argv)
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- setProcessStringConverter(ICE_MAKE_SHARED(Test::StringConverterI));
- setProcessWstringConverter(ICE_MAKE_SHARED(Test::WstringConverterI));
-
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/custom/ServerAMD.cpp b/cpp/test/Ice/custom/ServerAMD.cpp
index 1afc87208f5..5cc6de32135 100644
--- a/cpp/test/Ice/custom/ServerAMD.cpp
+++ b/cpp/test/Ice/custom/ServerAMD.cpp
@@ -8,60 +8,37 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestAMDI.h>
#include <WstringAMDI.h>
#include <StringConverterI.h>
using namespace std;
-DEFINE_TEST("serveramd")
+class ServerAMD : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+void
+ServerAMD::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ setProcessStringConverter(ICE_MAKE_SHARED(Test::StringConverterI));
+ setProcessWstringConverter(ICE_MAKE_SHARED(Test::WstringConverterI));
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
- adapter->add(ICE_MAKE_SHARED(TestIntfI,communicator), Ice::stringToIdentity("TEST"));
+ adapter->add(ICE_MAKE_SHARED(TestIntfI), Ice::stringToIdentity("TEST"));
adapter->add(ICE_MAKE_SHARED(Test1::WstringClassI), Ice::stringToIdentity("WSTRING1"));
adapter->add(ICE_MAKE_SHARED(Test2::WstringClassI), Ice::stringToIdentity("WSTRING2"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char** argv)
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- setProcessStringConverter(ICE_MAKE_SHARED(Test::StringConverterI));
- setProcessWstringConverter(ICE_MAKE_SHARED(Test::WstringConverterI));
-
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(ServerAMD)
diff --git a/cpp/test/Ice/custom/TestAMDI.cpp b/cpp/test/Ice/custom/TestAMDI.cpp
index fc7337cfe85..ae8c53f118c 100644
--- a/cpp/test/Ice/custom/TestAMDI.cpp
+++ b/cpp/test/Ice/custom/TestAMDI.cpp
@@ -10,11 +10,6 @@
#include <Ice/Communicator.h>
#include <TestAMDI.h>
-TestIntfI::TestIntfI(const Ice::CommunicatorPtr& communicator)
- : _communicator(communicator)
-{
-}
-
#ifdef ICE_CPP11_MAPPING
void
@@ -343,9 +338,10 @@ TestIntfI::opBufferStructAsync(Test::BufferStruct in,
void
TestIntfI::shutdownAsync(std::function<void()> response,
- std::function<void(std::exception_ptr)>, const Ice::Current&)
+ std::function<void(std::exception_ptr)>,
+ const Ice::Current& current)
{
- _communicator->shutdown();
+ current.adapter->getCommunicator()->shutdown();
response();
}
@@ -694,9 +690,9 @@ TestIntfI::opBufferStruct_async(const Test::AMD_TestIntf_opBufferStructPtr& cb,
void
TestIntfI::shutdown_async(const Test::AMD_TestIntf_shutdownPtr& shutdownCB,
- const Ice::Current&)
+ const Ice::Current& current)
{
- _communicator->shutdown();
+ current.adapter->getCommunicator()->shutdown();
shutdownCB->ice_response();
}
#endif
diff --git a/cpp/test/Ice/custom/TestAMDI.h b/cpp/test/Ice/custom/TestAMDI.h
index e28bdc7c409..12e0b02d887 100644
--- a/cpp/test/Ice/custom/TestAMDI.h
+++ b/cpp/test/Ice/custom/TestAMDI.h
@@ -16,8 +16,6 @@ class TestIntfI : public virtual Test::TestIntf
{
public:
- TestIntfI(const Ice::CommunicatorPtr&);
-
#ifdef ICE_CPP11_MAPPING
void opDoubleArrayAsync(std::pair<const ::Ice::Double*, const ::Ice::Double*>,
@@ -343,10 +341,6 @@ public:
virtual void shutdown_async(const Test::AMD_TestIntf_shutdownPtr&,
const Ice::Current&);
#endif
-
-private:
-
- Ice::CommunicatorPtr _communicator;
};
#endif
diff --git a/cpp/test/Ice/custom/TestI.cpp b/cpp/test/Ice/custom/TestI.cpp
index 6f9567d611f..99c68bd47eb 100644
--- a/cpp/test/Ice/custom/TestI.cpp
+++ b/cpp/test/Ice/custom/TestI.cpp
@@ -10,11 +10,6 @@
#include <Ice/Communicator.h>
#include <TestI.h>
-TestIntfI::TestIntfI(const Ice::CommunicatorPtr& communicator)
- : _communicator(communicator)
-{
-}
-
Test::DoubleSeq
TestIntfI::opDoubleArray(ICE_IN(std::pair<const Ice::Double*, const Ice::Double*>) inSeq,
Test::DoubleSeq& outSeq,
@@ -461,7 +456,7 @@ TestIntfI::opBufferStruct(ICE_IN(Test::BufferStruct) bs, const Ice::Current&)
}
void
-TestIntfI::shutdown(const Ice::Current&)
+TestIntfI::shutdown(const Ice::Current& current)
{
- _communicator->shutdown();
+ current.adapter->getCommunicator()->shutdown();
}
diff --git a/cpp/test/Ice/custom/TestI.h b/cpp/test/Ice/custom/TestI.h
index 0f429f7195d..85cb924bc7e 100644
--- a/cpp/test/Ice/custom/TestI.h
+++ b/cpp/test/Ice/custom/TestI.h
@@ -16,8 +16,6 @@ class TestIntfI : public virtual Test::TestIntf
{
public:
- TestIntfI(const Ice::CommunicatorPtr&);
-
virtual Test::DoubleSeq opDoubleArray(ICE_IN(std::pair<const Ice::Double*, const Ice::Double*>),
Test::DoubleSeq&,
const Ice::Current&);
@@ -207,10 +205,6 @@ public:
Test::BufferStruct opBufferStruct(ICE_IN(Test::BufferStruct), const Ice::Current&);
virtual void shutdown(const Ice::Current&);
-
-private:
-
- Ice::CommunicatorPtr _communicator;
};
#endif
diff --git a/cpp/test/Ice/defaultServant/AllTests.cpp b/cpp/test/Ice/defaultServant/AllTests.cpp
index 52665d7019c..146f29cdf32 100644
--- a/cpp/test/Ice/defaultServant/AllTests.cpp
+++ b/cpp/test/Ice/defaultServant/AllTests.cpp
@@ -8,15 +8,16 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
using namespace std;
using namespace Test;
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
Ice::ObjectAdapterPtr oa = communicator->createObjectAdapterWithEndpoints("MyOA", "tcp -h localhost");
oa->activate();
diff --git a/cpp/test/Ice/defaultServant/Client.cpp b/cpp/test/Ice/defaultServant/Client.cpp
index 18e4fd6fecf..50558f8f63f 100644
--- a/cpp/test/Ice/defaultServant/Client.cpp
+++ b/cpp/test/Ice/defaultServant/Client.cpp
@@ -8,38 +8,25 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
using namespace Test;
-DEFINE_TEST("client")
-
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/defaultValue/AllTests.cpp b/cpp/test/Ice/defaultValue/AllTests.cpp
index a4b00e4e375..3eacb6b0273 100644
--- a/cpp/test/Ice/defaultValue/AllTests.cpp
+++ b/cpp/test/Ice/defaultValue/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
diff --git a/cpp/test/Ice/defaultValue/Client.cpp b/cpp/test/Ice/defaultValue/Client.cpp
index 2a78e52bfff..3057e93e872 100644
--- a/cpp/test/Ice/defaultValue/Client.cpp
+++ b/cpp/test/Ice/defaultValue/Client.cpp
@@ -8,37 +8,24 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
using namespace Test;
-DEFINE_TEST("client")
+class Client : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
-int
-run(int, char**)
+void
+Client::run(int argc, char** argv)
{
void allTests();
allTests();
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
-
- try
- {
- status = run(argc, argv);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- return status;
-}
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/defaultValue/msbuild/client.vcxproj b/cpp/test/Ice/defaultValue/msbuild/client.vcxproj
index 17299afb31d..177d047be21 100644
--- a/cpp/test/Ice/defaultValue/msbuild/client.vcxproj
+++ b/cpp/test/Ice/defaultValue/msbuild/client.vcxproj
@@ -40,7 +40,7 @@
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
- <ProjectGuid>{80FE3863-C289-4BDE-833C-256D5E5.0.4A}</ProjectGuid>
+ <ProjectGuid>{80FE3863-C289-4BDE-833C-256D5E54093A}</ProjectGuid>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
diff --git a/cpp/test/Ice/dispatcher/AllTests.cpp b/cpp/test/Ice/dispatcher/AllTests.cpp
index 4abfb3db9cd..c153d535846 100644
--- a/cpp/test/Ice/dispatcher/AllTests.cpp
+++ b/cpp/test/Ice/dispatcher/AllTests.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <IceUtil/Random.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <Dispatcher.h>
@@ -113,15 +113,16 @@ ICE_DEFINE_PTR(CallbackPtr, Callback);
}
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
- string sref = "test:" + getTestEndpoint(communicator, 0);
+ Ice::CommunicatorPtr communicator = helper->communicator();
+ string sref = "test:" + helper->getTestEndpoint();
Ice::ObjectPrxPtr obj = communicator->stringToProxy(sref);
test(obj);
Test::TestIntfPrxPtr p = ICE_UNCHECKED_CAST(Test::TestIntfPrx, obj);
- sref = "testController:" + getTestEndpoint(communicator, 1, "tcp");
+ sref = "testController:" + helper->getTestEndpoint(1, "tcp");
obj = communicator->stringToProxy(sref);
test(obj);
diff --git a/cpp/test/Ice/dispatcher/Client.cpp b/cpp/test/Ice/dispatcher/Client.cpp
index 53fa9667baf..62798c5f374 100644
--- a/cpp/test/Ice/dispatcher/Client.cpp
+++ b/cpp/test/Ice/dispatcher/Client.cpp
@@ -8,57 +8,43 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <Dispatcher.h>
-DEFINE_TEST("client")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- int status;
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
+ void run(int, char**);
+};
- //
- // Limit the send buffer size, this test relies on the socket
- // send() blocking after sending a given amount of data.
- //
- initData.properties->setProperty("Ice.TCP.SndSize", "50000");
+void
+Client::run(int argc, char** argv)
+{
+ Ice::InitializationData initData;
+ initData.properties = createTestProperties(argc, argv);
+ //
+ // Limit the send buffer size, this test relies on the socket
+ // send() blocking after sending a given amount of data.
+ //
+ initData.properties->setProperty("Ice.TCP.SndSize", "50000");
#ifdef ICE_CPP11_MAPPING
- IceUtil::Handle<Dispatcher> dispatcher = new Dispatcher;
- initData.dispatcher = [=](function<void()> call, const shared_ptr<Ice::Connection>& conn)
- {
- dispatcher->dispatch(make_shared<DispatcherCall>(call), conn);
- };
+ IceUtil::Handle<Dispatcher> dispatcher = new Dispatcher;
+ initData.dispatcher = [=](function<void()> call, const shared_ptr<Ice::Connection>& conn)
+ {
+ dispatcher->dispatch(make_shared<DispatcherCall>(call), conn);
+ };
#else
- initData.dispatcher = new Dispatcher();
+ initData.dispatcher = new Dispatcher();
#endif
- Ice::CommunicatorHolder ich(argc, argv, initData);
- status = run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
- Dispatcher::terminate();
- return status;
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, initData);
+
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/dispatcher/Collocated.cpp b/cpp/test/Ice/dispatcher/Collocated.cpp
index ddac767ebec..db7d8bdb32b 100644
--- a/cpp/test/Ice/dispatcher/Collocated.cpp
+++ b/cpp/test/Ice/dispatcher/Collocated.cpp
@@ -8,19 +8,37 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
#include <Dispatcher.h>
-DEFINE_TEST("collocated")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Collocated : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Collocated::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
- communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(communicator, 1, "tcp"));
+ Ice::InitializationData initData;
+ initData.properties = createTestProperties(argc, argv);
+#ifdef ICE_CPP11_MAPPING
+ IceUtil::Handle<Dispatcher> dispatcher = new Dispatcher;
+ initData.dispatcher = [=](function<void()> call, const shared_ptr<Ice::Connection>& conn)
+ {
+ dispatcher->dispatch(make_shared<DispatcherCall>(call), conn);
+ };
+#else
+ initData.dispatcher = new Dispatcher();
+#endif
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, initData);
+
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
+ communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(1, "tcp"));
communicator->getProperties()->setProperty("ControllerAdapter.ThreadPool.Size", "1");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
@@ -34,39 +52,10 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
adapter2->add(testController, Ice::stringToIdentity("testController"));
//adapter2->activate(); // Don't activate OA to ensure collocation is used.
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
+ void allTests(Test::TestHelper*);
+ allTests(this);
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- int status;
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
-#ifdef ICE_CPP11_MAPPING
- IceUtil::Handle<Dispatcher> dispatcher = new Dispatcher;
- initData.dispatcher = [=](function<void()> call, const shared_ptr<Ice::Connection>& conn)
- {
- dispatcher->dispatch(make_shared<DispatcherCall>(call), conn);
- };
-#else
- initData.dispatcher = new Dispatcher();
-#endif
- Ice::CommunicatorHolder ich(argc, argv, initData);
- status = run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
Dispatcher::terminate();
- return status;
}
+
+DEFINE_TEST(Collocated)
diff --git a/cpp/test/Ice/dispatcher/Dispatcher.cpp b/cpp/test/Ice/dispatcher/Dispatcher.cpp
index 036743b7c59..c3d3bf5eb76 100644
--- a/cpp/test/Ice/dispatcher/Dispatcher.cpp
+++ b/cpp/test/Ice/dispatcher/Dispatcher.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Dispatcher.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
diff --git a/cpp/test/Ice/dispatcher/Server.cpp b/cpp/test/Ice/dispatcher/Server.cpp
index 4423bf1ccde..423b5b79773 100644
--- a/cpp/test/Ice/dispatcher/Server.cpp
+++ b/cpp/test/Ice/dispatcher/Server.cpp
@@ -9,18 +9,42 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Dispatcher.h>
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
- communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(communicator, 1, "tcp"));
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
+{
+ Ice::InitializationData initData;
+ initData.properties = createTestProperties(argc, argv);
+ //
+ // Limit the recv buffer size, this test relies on the socket
+ // send() blocking after sending a given amount of data.
+ //
+ initData.properties->setProperty("Ice.TCP.RcvSize", "50000");
+
+#ifdef ICE_CPP11_MAPPING
+ IceUtil::Handle<Dispatcher> dispatcher = new Dispatcher;
+ initData.dispatcher = [=](function<void()> call, const shared_ptr<Ice::Connection>& conn)
+ {
+ dispatcher->dispatch(make_shared<DispatcherCall>(call), conn);
+ };
+#else
+ initData.dispatcher = new Dispatcher();
+#endif
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, initData);
+
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
+ communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(1, "tcp"));
communicator->getProperties()->setProperty("ControllerAdapter.ThreadPool.Size", "1");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
@@ -34,47 +58,11 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
adapter2->add(testController, Ice::stringToIdentity("testController"));
adapter2->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- int status;
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
-
- //
- // Limit the recv buffer size, this test relies on the socket
- // send() blocking after sending a given amount of data.
- //
- initData.properties->setProperty("Ice.TCP.RcvSize", "50000");
-#ifdef ICE_CPP11_MAPPING
- IceUtil::Handle<Dispatcher> dispatcher = new Dispatcher;
- initData.dispatcher = [=](function<void()> call, const shared_ptr<Ice::Connection>& conn)
- {
- dispatcher->dispatch(make_shared<DispatcherCall>(call), conn);
- };
-#else
- initData.dispatcher = new Dispatcher();
-#endif
- Ice::CommunicatorHolder ich(argc, argv, initData);
- status = run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
Dispatcher::terminate();
- return status;
}
+
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/dispatcher/TestI.cpp b/cpp/test/Ice/dispatcher/TestI.cpp
index bf7ec975d90..1280757808a 100644
--- a/cpp/test/Ice/dispatcher/TestI.cpp
+++ b/cpp/test/Ice/dispatcher/TestI.cpp
@@ -10,7 +10,7 @@
#include <TestI.h>
#include <Ice/Ice.h>
#include <Dispatcher.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <IceUtil/Thread.h>
using namespace std;
diff --git a/cpp/test/Ice/echo/Server.cpp b/cpp/test/Ice/echo/Server.cpp
index 6ff9d6e8466..b701a9ab055 100644
--- a/cpp/test/Ice/echo/Server.cpp
+++ b/cpp/test/Ice/echo/Server.cpp
@@ -8,12 +8,10 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <BlobjectI.h>
#include <Test.h>
-DEFINE_TEST("server")
-
using namespace std;
class EchoI : public Test::Echo
@@ -50,44 +48,25 @@ private:
BlobjectIPtr _blob;
};
-int
-run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
BlobjectIPtr blob = ICE_MAKE_SHARED(BlobjectI);
adapter->addDefaultServant(blob, "");
adapter->add(ICE_MAKE_SHARED(EchoI, blob), Ice::stringToIdentity("__echo"));
adapter->activate();
-
- TEST_READY
-
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/enums/AllTests.cpp b/cpp/test/Ice/enums/AllTests.cpp
index 96e4da36b1c..d843cff6d80 100644
--- a/cpp/test/Ice/enums/AllTests.cpp
+++ b/cpp/test/Ice/enums/AllTests.cpp
@@ -8,16 +8,17 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
using namespace Test;
TestIntfPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
- string ref = "test:" + getTestEndpoint(communicator, 0);
+ Ice::CommunicatorPtr communicator = helper->communicator();
+ string ref = "test:" + helper->getTestEndpoint();
Ice::ObjectPrxPtr obj = communicator->stringToProxy(ref);
test(obj);
TestIntfPrxPtr proxy = ICE_CHECKED_CAST(TestIntfPrx, obj);
diff --git a/cpp/test/Ice/enums/Client.cpp b/cpp/test/Ice/enums/Client.cpp
index f1184a24501..31388a38fe0 100644
--- a/cpp/test/Ice/enums/Client.cpp
+++ b/cpp/test/Ice/enums/Client.cpp
@@ -8,43 +8,26 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- TestIntfPrxPtr allTests(const Ice::CommunicatorPtr&);
- TestIntfPrxPtr t = allTests(communicator);
- t->shutdown();
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-# ifdef ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
+ void run(int, char**);
+};
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ TestIntfPrxPtr allTests(Test::TestHelper*);
+ TestIntfPrxPtr t = allTests(this);
+ t->shutdown();
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/enums/Server.cpp b/cpp/test/Ice/enums/Server.cpp
index e6e2cb5853a..0c0958f129a 100644
--- a/cpp/test/Ice/enums/Server.cpp
+++ b/cpp/test/Ice/enums/Server.cpp
@@ -8,44 +8,29 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(TestIntfI), Ice::stringToIdentity("test"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/enums/TestI.h b/cpp/test/Ice/enums/TestI.h
index 06ffc54a94c..01c6e4f10e0 100644
--- a/cpp/test/Ice/enums/TestI.h
+++ b/cpp/test/Ice/enums/TestI.h
@@ -11,7 +11,6 @@
#define TEST_I_H
#include <Test.h>
-#include <TestCommon.h>
class TestIntfI : public virtual Test::TestIntf
{
diff --git a/cpp/test/Ice/exceptions/AllTests.cpp b/cpp/test/Ice/exceptions/AllTests.cpp
index 9940da22f57..ba305f19bc7 100644
--- a/cpp/test/Ice/exceptions/AllTests.cpp
+++ b/cpp/test/Ice/exceptions/AllTests.cpp
@@ -9,7 +9,7 @@
#include <IceUtil/IceUtil.h>
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -402,8 +402,9 @@ endsWith(const string& s, const string& findme)
}
ThrowerPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
const string protocol = communicator->getProperties()->getProperty("Ice.Default.Protocol");
cout << "testing ice_print()/what()... " << flush;
@@ -691,7 +692,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
cout << "ok" << endl;
cout << "testing stringToProxy... " << flush;
- string ref = "thrower:" + getTestEndpoint(communicator, 0);
+ string ref = "thrower:" + helper->getTestEndpoint();
Ice::ObjectPrxPtr base = communicator->stringToProxy(ref);
test(base);
cout << "ok" << endl;
@@ -1002,7 +1003,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
try
{
ThrowerPrxPtr thrower2 =
- ICE_UNCHECKED_CAST(ThrowerPrx, communicator->stringToProxy("thrower:" + getTestEndpoint(communicator, 1)));
+ ICE_UNCHECKED_CAST(ThrowerPrx, communicator->stringToProxy("thrower:" + helper->getTestEndpoint(1)));
try
{
thrower2->throwMemoryLimitException(Ice::ByteSeq(2 * 1024 * 1024)); // 2MB (no limits)
@@ -1011,7 +1012,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
{
}
ThrowerPrxPtr thrower3 =
- ICE_UNCHECKED_CAST(ThrowerPrx, communicator->stringToProxy("thrower:" + getTestEndpoint(communicator, 2)));
+ ICE_UNCHECKED_CAST(ThrowerPrx, communicator->stringToProxy("thrower:" + helper->getTestEndpoint(2)));
try
{
thrower3->throwMemoryLimitException(Ice::ByteSeq(1024)); // 1KB limit
diff --git a/cpp/test/Ice/exceptions/Client.cpp b/cpp/test/Ice/exceptions/Client.cpp
index 89135606fb7..9a90cfdff5f 100644
--- a/cpp/test/Ice/exceptions/Client.cpp
+++ b/cpp/test/Ice/exceptions/Client.cpp
@@ -8,46 +8,30 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- ThrowerPrxPtr allTests(const Ice::CommunicatorPtr&);
- ThrowerPrxPtr thrower = allTests(communicator);
- thrower->shutdown();
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-# ifdef ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
+ void run(int, char**);
+};
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.MessageSizeMax", "10"); // 10KB max
+void
+Client::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Connections", "0");
+ properties->setProperty("Ice.MessageSizeMax", "10"); // 10KB max
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+ ThrowerPrxPtr allTests(Test::TestHelper*);
+ ThrowerPrxPtr thrower = allTests(this);
+ thrower->shutdown();
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/exceptions/Collocated.cpp b/cpp/test/Ice/exceptions/Collocated.cpp
index 8c6a13affde..37ca380d05e 100644
--- a/cpp/test/Ice/exceptions/Collocated.cpp
+++ b/cpp/test/Ice/exceptions/Collocated.cpp
@@ -8,49 +8,36 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("collocated");
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Collocated : public Test::TestHelper
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+public:
+
+ void run(int, char**);
+};
+
+void
+Collocated::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.MessageSizeMax", "10"); // 10KB max
+ properties->setProperty("Ice.Warn.Connections", "0");
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = ICE_MAKE_SHARED(ThrowerI);
adapter->add(object, Ice::stringToIdentity("thrower"));
- ThrowerPrxPtr allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
-
- return EXIT_SUCCESS;
+ ThrowerPrxPtr allTests(Test::TestHelper*);
+ allTests(this);
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.MessageSizeMax", "10"); // 10KB max
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Collocated)
diff --git a/cpp/test/Ice/exceptions/Server.cpp b/cpp/test/Ice/exceptions/Server.cpp
index 2bc9ddc2fbc..e70f58f0c93 100644
--- a/cpp/test/Ice/exceptions/Server.cpp
+++ b/cpp/test/Ice/exceptions/Server.cpp
@@ -8,20 +8,32 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server");
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
- communicator->getProperties()->setProperty("TestAdapter2.Endpoints", getTestEndpoint(communicator, 1));
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+ properties->setProperty("Ice.Warn.Connections", "0");
+ properties->setProperty("Ice.MessageSizeMax", "10"); // 10KB max
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
+ communicator->getProperties()->setProperty("TestAdapter2.Endpoints", getTestEndpoint(1));
communicator->getProperties()->setProperty("TestAdapter2.MessageSizeMax", "0");
- communicator->getProperties()->setProperty("TestAdapter3.Endpoints", getTestEndpoint(communicator, 2));
+ communicator->getProperties()->setProperty("TestAdapter3.Endpoints", getTestEndpoint(2));
communicator->getProperties()->setProperty("TestAdapter3.MessageSizeMax", "1");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::ObjectAdapterPtr adapter2 = communicator->createObjectAdapter("TestAdapter2");
@@ -33,33 +45,8 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
adapter->activate();
adapter2->activate();
adapter3->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.MessageSizeMax", "10"); // 10KB max
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/exceptions/ServerAMD.cpp b/cpp/test/Ice/exceptions/ServerAMD.cpp
index 7e2a7b61750..f7624403c35 100644
--- a/cpp/test/Ice/exceptions/ServerAMD.cpp
+++ b/cpp/test/Ice/exceptions/ServerAMD.cpp
@@ -8,20 +8,31 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestAMDI.h>
-DEFINE_TEST("serveramd");
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class ServerAMD : public Test::TestHelper
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
- communicator->getProperties()->setProperty("TestAdapter2.Endpoints", getTestEndpoint(communicator, 1));
+public:
+
+ void run(int, char**);
+};
+
+void
+ServerAMD::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+ properties->setProperty("Ice.Warn.Connections", "0");
+ properties->setProperty("Ice.MessageSizeMax", "10"); // 10KB max
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(0));
+ communicator->getProperties()->setProperty("TestAdapter2.Endpoints", getTestEndpoint(1));
communicator->getProperties()->setProperty("TestAdapter2.MessageSizeMax", "0");
- communicator->getProperties()->setProperty("TestAdapter3.Endpoints", getTestEndpoint(communicator, 2));
+ communicator->getProperties()->setProperty("TestAdapter3.Endpoints", getTestEndpoint(2));
communicator->getProperties()->setProperty("TestAdapter3.MessageSizeMax", "1");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::ObjectAdapterPtr adapter2 = communicator->createObjectAdapter("TestAdapter2");
@@ -33,33 +44,8 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
adapter->activate();
adapter2->activate();
adapter3->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.MessageSizeMax", "10"); // 10KB max
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(ServerAMD)
diff --git a/cpp/test/Ice/exceptions/TestAMDI.cpp b/cpp/test/Ice/exceptions/TestAMDI.cpp
index 9409fc9bd06..c423a8381fb 100644
--- a/cpp/test/Ice/exceptions/TestAMDI.cpp
+++ b/cpp/test/Ice/exceptions/TestAMDI.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <TestAMDI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace Test;
using namespace std;
diff --git a/cpp/test/Ice/exceptions/TestAMDI.h b/cpp/test/Ice/exceptions/TestAMDI.h
index a89f14f9fc4..747a8d2a825 100644
--- a/cpp/test/Ice/exceptions/TestAMDI.h
+++ b/cpp/test/Ice/exceptions/TestAMDI.h
@@ -11,7 +11,6 @@
#define TEST_I_H
#include <TestAMD.h>
-#include <TestCommon.h>
bool
endsWith(const std::string&, const std::string&);
diff --git a/cpp/test/Ice/exceptions/TestI.cpp b/cpp/test/Ice/exceptions/TestI.cpp
index ee1db2a4019..5d309d414bb 100644
--- a/cpp/test/Ice/exceptions/TestI.cpp
+++ b/cpp/test/Ice/exceptions/TestI.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace Test;
using namespace std;
diff --git a/cpp/test/Ice/exceptions/TestI.h b/cpp/test/Ice/exceptions/TestI.h
index 30f69ddbc62..c4ae7b8e6b0 100644
--- a/cpp/test/Ice/exceptions/TestI.h
+++ b/cpp/test/Ice/exceptions/TestI.h
@@ -11,7 +11,6 @@
#define TEST_I_H
#include <Test.h>
-#include <TestCommon.h>
bool endsWith(const std::string&, const std::string&);
diff --git a/cpp/test/Ice/facets/AllTests.cpp b/cpp/test/Ice/facets/AllTests.cpp
index c46bec6db5d..fffc9424bec 100644
--- a/cpp/test/Ice/facets/AllTests.cpp
+++ b/cpp/test/Ice/facets/AllTests.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <IceUtil/IceUtil.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -20,8 +20,9 @@ class EmptyI : public virtual Empty
};
GPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
#ifdef ICE_OS_UWP
bool uwp = true;
#else
@@ -122,7 +123,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
}
cout << "testing stringToProxy... " << flush;
- string ref = "d:" + getTestEndpoint(communicator, 0);
+ string ref = "d:" + helper->getTestEndpoint();
Ice::ObjectPrxPtr db = communicator->stringToProxy(ref);
test(db);
cout << "ok" << endl;
diff --git a/cpp/test/Ice/facets/Client.cpp b/cpp/test/Ice/facets/Client.cpp
index 6b525c0387a..81844551ec8 100644
--- a/cpp/test/Ice/facets/Client.cpp
+++ b/cpp/test/Ice/facets/Client.cpp
@@ -8,43 +8,26 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- GPrxPtr allTests(const Ice::CommunicatorPtr&);
- GPrxPtr g = allTests(communicator);
- g->shutdown();
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-# ifdef ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
+ void run(int, char**);
+};
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ GPrxPtr allTests(Test::TestHelper*);
+ GPrxPtr g = allTests(this);
+ g->shutdown();
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/facets/Collocated.cpp b/cpp/test/Ice/facets/Collocated.cpp
index a1501525503..43a7d9d8f3a 100644
--- a/cpp/test/Ice/facets/Collocated.cpp
+++ b/cpp/test/Ice/facets/Collocated.cpp
@@ -8,50 +8,35 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Collocated : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Collocated::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::ObjectPtr d = ICE_MAKE_SHARED(DI);
adapter->add(d, Ice::stringToIdentity("d"));
adapter->addFacet(d, Ice::stringToIdentity("d"), "facetABCD");
Ice::ObjectPtr f = ICE_MAKE_SHARED(FI);
adapter->addFacet(f, Ice::stringToIdentity("d"), "facetEF");
- Ice::ObjectPtr h = ICE_MAKE_SHARED(HI, communicator);
+ Ice::ObjectPtr h = ICE_MAKE_SHARED(HI);
adapter->addFacet(h, Ice::stringToIdentity("d"), "facetGH");
- GPrxPtr allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
-
- return EXIT_SUCCESS;
+ GPrxPtr allTests(Test::TestHelper*);
+ allTests(this);
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Collocated)
diff --git a/cpp/test/Ice/facets/Server.cpp b/cpp/test/Ice/facets/Server.cpp
index ff1dababfc4..38ebf725525 100644
--- a/cpp/test/Ice/facets/Server.cpp
+++ b/cpp/test/Ice/facets/Server.cpp
@@ -8,49 +8,32 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
+class Server : public Test::TestHelper
+{
+public:
-using namespace std;
+ void run(int, char**);
+};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+void
+Server::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::ObjectPtr d = ICE_MAKE_SHARED(DI);
adapter->add(d, Ice::stringToIdentity("d"));
adapter->addFacet(d, Ice::stringToIdentity("d"), "facetABCD");
Ice::ObjectPtr f = ICE_MAKE_SHARED(FI);
adapter->addFacet(f, Ice::stringToIdentity("d"), "facetEF");
- Ice::ObjectPtr h = ICE_MAKE_SHARED(HI, communicator);
+ Ice::ObjectPtr h = ICE_MAKE_SHARED(HI);
adapter->addFacet(h, Ice::stringToIdentity("d"), "facetGH");
- TEST_READY
+ serverReady();
adapter->activate();
communicator->waitForShutdown();
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/facets/TestI.cpp b/cpp/test/Ice/facets/TestI.cpp
index 56c60589475..124973c4cdd 100644
--- a/cpp/test/Ice/facets/TestI.cpp
+++ b/cpp/test/Ice/facets/TestI.cpp
@@ -46,15 +46,10 @@ FI::callF(const Ice::Current&)
return "F";
}
-GI::GI(const Ice::CommunicatorPtr& communicator) :
- _communicator(communicator)
-{
-}
-
void
-GI::shutdown(const Ice::Current&)
+GI::shutdown(const Ice::Current& current)
{
- _communicator->shutdown();
+ current.adapter->getCommunicator()->shutdown();
}
std::string
@@ -63,11 +58,6 @@ GI::callG(const Ice::Current&)
return "G";
}
-HI::HI(const Ice::CommunicatorPtr& communicator) :
- GI(communicator)
-{
-}
-
std::string
HI::callH(const Ice::Current&)
{
diff --git a/cpp/test/Ice/facets/TestI.h b/cpp/test/Ice/facets/TestI.h
index b3c05990bcf..6e2c52f4b44 100644
--- a/cpp/test/Ice/facets/TestI.h
+++ b/cpp/test/Ice/facets/TestI.h
@@ -58,20 +58,14 @@ class GI : public virtual Test::G
{
public:
- GI(const Ice::CommunicatorPtr&);
virtual void shutdown(const Ice::Current&);
virtual std::string callG(const Ice::Current&);
-
-private:
-
- Ice::CommunicatorPtr _communicator;
};
class HI : public virtual Test::H, public virtual GI
{
public:
- HI(const Ice::CommunicatorPtr&);
virtual std::string callH(const Ice::Current&);
};
diff --git a/cpp/test/Ice/faultTolerance/AllTests.cpp b/cpp/test/Ice/faultTolerance/AllTests.cpp
index 6aacdaa9fe1..e1917b4ea11 100644
--- a/cpp/test/Ice/faultTolerance/AllTests.cpp
+++ b/cpp/test/Ice/faultTolerance/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -109,14 +109,15 @@ private:
typedef IceUtil::Handle<Callback> CallbackPtr;
void
-allTests(const Ice::CommunicatorPtr& communicator, const vector<int>& ports)
+allTests(Test::TestHelper* helper, const vector<int>& ports)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
cout << "testing stringToProxy... " << flush;
ostringstream ref;
ref << "test";
for(vector<int>::const_iterator p = ports.begin(); p != ports.end(); ++p)
{
- ref << ":" << getTestEndpoint(communicator, *p);
+ ref << ":" << helper->getTestEndpoint(*p);
}
Ice::ObjectPrxPtr base = communicator->stringToProxy(ref.str());
test(base);
diff --git a/cpp/test/Ice/faultTolerance/Client.cpp b/cpp/test/Ice/faultTolerance/Client.cpp
index 501046417ef..b69887d54b9 100644
--- a/cpp/test/Ice/faultTolerance/Client.cpp
+++ b/cpp/test/Ice/faultTolerance/Client.cpp
@@ -8,73 +8,44 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
-void
-usage(const char* n)
+class Client : public Test::TestHelper
{
- cerr << "Usage: " << n << " port...\n";
-}
+public:
+
+ void run(int, char**);
+};
-int
-run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
+void
+Client::run(int argc, char** argv)
{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Connections", "0"); // test aborts
+ Ice::CommunicatorHolder ich = initialize(argc, argv, properties);
+
vector<int> ports;
for(int i = 1; i < argc; ++i)
{
if(argv[i][0] == '-')
{
- cerr << argv[0] << ": unknown option `" << argv[i] << "'" << endl;
- usage(argv[0]);
- return EXIT_FAILURE;
+ ostringstream os;
+ os << "unknown option `" << argv[i] << "'";
+ throw invalid_argument(os.str());
}
-
ports.push_back(atoi(argv[i]));
}
if(ports.empty())
{
- cerr << argv[0] << ": no ports specified" << endl;
- usage(argv[0]);
- return EXIT_FAILURE;
+ throw runtime_error("no ports specified");
}
- try
- {
- void allTests(const Ice::CommunicatorPtr&, const vector<int>&);
- allTests(communicator, ports);
- }
- catch(const Ice::Exception& ex)
- {
- cout << ex << endl;
- test(false);
- }
-
- return EXIT_SUCCESS;
+ void allTests(Test::TestHelper*, const vector<int>&);
+ allTests(this, ports);
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Connections", "0"); // test aborts
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/faultTolerance/Server.cpp b/cpp/test/Ice/faultTolerance/Server.cpp
index 87d65190a00..cb62745f9f6 100644
--- a/cpp/test/Ice/faultTolerance/Server.cpp
+++ b/cpp/test/Ice/faultTolerance/Server.cpp
@@ -9,34 +9,43 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-void
-usage(const char* n)
+class Server : public Test::TestHelper
{
- cerr << "Usage: " << n << " port\n";
-}
+public:
-int
-run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
+ //
+ // In this test, we need a longer server idle time, otherwise
+ // our test servers may time out before they are used in the
+ // test.
+ //
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.ServerIdleTime", "120"); // Two minutes.
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+
int port = 0;
for(int i = 1; i < argc; ++i)
{
if(argv[i][0] == '-')
{
- cerr << argv[0] << ": unknown option `" << argv[i] << "'" << endl;
- usage(argv[0]);
- return EXIT_FAILURE;
+ ostringstream os;
+ os << ": unknown option `" << argv[i] << "'";
+ throw invalid_argument(os.str());
}
if(port > 0)
{
- cerr << argv[0] << ": only one port can be specified" << endl;
- usage(argv[0]);
- return EXIT_FAILURE;
+ throw runtime_error("only one port can be specified");
}
port = atoi(argv[i]);
@@ -44,47 +53,18 @@ run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
if(port <= 0)
{
- cerr << argv[0] << ": no port specified" << endl;
- usage(argv[0]);
- return EXIT_FAILURE;
+ throw runtime_error("no port specified");
}
ostringstream endpts;
- endpts << getTestEndpoint(communicator, port);
+ endpts << getTestEndpoint(port);
communicator->getProperties()->setProperty("TestAdapter.Endpoints", endpts.str());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = ICE_MAKE_SHARED(TestI);
adapter->add(object, Ice::stringToIdentity("test"));
adapter->activate();
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
-
- try
- {
- //
- // In this test, we need a longer server idle time, otherwise
- // our test servers may time out before they are used in the
- // test.
- //
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.ServerIdleTime", "120"); // Two minutes.
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/gc/Client.cpp b/cpp/test/Ice/gc/Client.cpp
index 386a3a7d87c..49425be3f7d 100644
--- a/cpp/test/Ice/gc/Client.cpp
+++ b/cpp/test/Ice/gc/Client.cpp
@@ -12,7 +12,7 @@
#include <IceUtil/MutexPtrLock.h>
#include <IceUtil/Random.h>
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <fstream>
@@ -145,21 +145,8 @@ public:
}
};
-class MyApplication : public Ice::Application
-{
-public:
-
- MyApplication();
- virtual int run(int, char* []);
-};
-
-MyApplication::MyApplication()
- : Ice::Application(Ice::ICE_ENUM(SignalPolicy, NoSignalHandling))
-{
-}
-
-int
-MyApplication::run(int argc, char* argv[])
+void
+allTests()
{
cout << "testing single instance... " << flush;
{
@@ -528,16 +515,19 @@ MyApplication::run(int argc, char* argv[])
test(getNum() == 0);
cout << "ok" << endl;
- return 0;
}
-int
-main(int argc, char* argv[])
+class Client : public Test::TestHelper
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- MyApplication app;
- return app.main(argc, argv);
+public:
+
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
+{
+ allTests();
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/hash/Client.cpp b/cpp/test/Ice/hash/Client.cpp
index 6278c3c4a8f..c601dc449b3 100644
--- a/cpp/test/Ice/hash/Client.cpp
+++ b/cpp/test/Ice/hash/Client.cpp
@@ -10,7 +10,7 @@
#include <Ice/Ice.h>
#include <IceUtil/Random.h>
#include <Test.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#if defined(__GNUC__)
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
@@ -19,14 +19,21 @@
using namespace std;
using namespace Test;
-DEFINE_TEST("client")
+class Client : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
-int main(int argc, char** argv)
+void
+Client::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceUDP(true);
- Ice::registerIceSSL(false);
-#endif
+ Ice::PropertiesPtr properties = Ice::createProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.IceSSL", "IceSSL:createIceSSL");
+ properties->setProperty("IceSSL.Keychain", "client.keychain");
+ properties->setProperty("IceSSL.KeychainPassword", "password");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
cout << "testing proxy hash algorithm collisions... " << flush;
map<Ice::Int, Ice::ObjectPrxPtr> seenProxy;
map<Ice::Int, Ice::EndpointPtr> seenEndpoint;
@@ -35,13 +42,6 @@ int main(int argc, char** argv)
unsigned int maxCollisions = 10;
unsigned int maxIterations = 10000;
- Ice::InitializationData id;
- id.properties = Ice::createProperties(argc, argv);
- id.properties->setProperty("Ice.Plugin.IceSSL", "IceSSL:createIceSSL");
- id.properties->setProperty("IceSSL.Keychain", "client.keychain");
- id.properties->setProperty("IceSSL.KeychainPassword", "password");
-
- Ice::CommunicatorPtr communicator = Ice::initialize(id);
for(i = 0; proxyCollisions < maxCollisions && i < maxIterations; ++i)
{
ostringstream os;
@@ -84,22 +84,20 @@ int main(int argc, char** argv)
proxyMap["prx9"] = prx9->_hash();
proxyMap["prx10"] = prx10->_hash();
- test( communicator->stringToProxy("Glacier2/router:tcp -p 10010")->_hash() == proxyMap["prx1"]);
- test( communicator->stringToProxy("Glacier2/router:ssl -p 10011")->_hash() == proxyMap["prx2"]);
- test( communicator->stringToProxy("Glacier2/router:udp -p 10012")->_hash() == proxyMap["prx3"]);
- test( communicator->stringToProxy("Glacier2/router:tcp -h zeroc.com -p 10010")->_hash() == proxyMap["prx4"]);
- test( communicator->stringToProxy("Glacier2/router:ssl -h zeroc.com -p 10011")->_hash() == proxyMap["prx5"]);
- test( communicator->stringToProxy("Glacier2/router:udp -h zeroc.com -p 10012")->_hash() == proxyMap["prx6"]);
- test( communicator->stringToProxy("Glacier2/router:tcp -p 10010 -t 10000")->_hash() == proxyMap["prx7"]);
- test( communicator->stringToProxy("Glacier2/router:ssl -p 10011 -t 10000")->_hash() == proxyMap["prx8"]);
- test( communicator->stringToProxy("Glacier2/router:tcp -h zeroc.com -p 10010 -t 10000")->_hash() == proxyMap["prx9"]);
- test( communicator->stringToProxy("Glacier2/router:ssl -h zeroc.com -p 10011 -t 10000")->_hash() == proxyMap["prx10"]);
+ test(communicator->stringToProxy("Glacier2/router:tcp -p 10010")->_hash() == proxyMap["prx1"]);
+ test(communicator->stringToProxy("Glacier2/router:ssl -p 10011")->_hash() == proxyMap["prx2"]);
+ test(communicator->stringToProxy("Glacier2/router:udp -p 10012")->_hash() == proxyMap["prx3"]);
+ test(communicator->stringToProxy("Glacier2/router:tcp -h zeroc.com -p 10010")->_hash() == proxyMap["prx4"]);
+ test(communicator->stringToProxy("Glacier2/router:ssl -h zeroc.com -p 10011")->_hash() == proxyMap["prx5"]);
+ test(communicator->stringToProxy("Glacier2/router:udp -h zeroc.com -p 10012")->_hash() == proxyMap["prx6"]);
+ test(communicator->stringToProxy("Glacier2/router:tcp -p 10010 -t 10000")->_hash() == proxyMap["prx7"]);
+ test(communicator->stringToProxy("Glacier2/router:ssl -p 10011 -t 10000")->_hash() == proxyMap["prx8"]);
+ test(communicator->stringToProxy("Glacier2/router:tcp -h zeroc.com -p 10010 -t 10000")->_hash() ==
+ proxyMap["prx9"]);
+ test(communicator->stringToProxy("Glacier2/router:ssl -h zeroc.com -p 10011 -t 10000")->_hash() ==
+ proxyMap["prx10"]);
cerr << "ok" << endl;
-
- if(communicator)
- {
- communicator->destroy();
- }
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/hold/AllTests.cpp b/cpp/test/Ice/hold/AllTests.cpp
index ddb4f45bb5d..4db7f187534 100644
--- a/cpp/test/Ice/hold/AllTests.cpp
+++ b/cpp/test/Ice/hold/AllTests.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <IceUtil/Random.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -78,13 +78,14 @@ typedef IceUtil::Handle<SetCB> SetCBPtr;
}
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
cout << "testing stringToProxy... " << flush;
- string ref = "hold:" + getTestEndpoint(communicator, 0);
+ string ref = "hold:" + helper->getTestEndpoint();
Ice::ObjectPrxPtr base = communicator->stringToProxy(ref);
test(base);
- string refSerialized = "hold:" + getTestEndpoint(communicator, 1);
+ string refSerialized = "hold:" + helper->getTestEndpoint(1);
Ice::ObjectPrxPtr baseSerialized = communicator->stringToProxy(refSerialized);
test(base);
cout << "ok" << endl;
diff --git a/cpp/test/Ice/hold/Client.cpp b/cpp/test/Ice/hold/Client.cpp
index 61488c8e419..50558f8f63f 100644
--- a/cpp/test/Ice/hold/Client.cpp
+++ b/cpp/test/Ice/hold/Client.cpp
@@ -8,42 +8,25 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-# ifdef ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
+ void run(int, char**);
+};
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/hold/Server.cpp b/cpp/test/Ice/hold/Server.cpp
index c59ec91babe..f41b1a605fa 100644
--- a/cpp/test/Ice/hold/Server.cpp
+++ b/cpp/test/Ice/hold/Server.cpp
@@ -8,19 +8,25 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
IceUtil::TimerPtr timer = new IceUtil::Timer();
- communicator->getProperties()->setProperty("TestAdapter1.Endpoints", getTestEndpoint(communicator, 0));
+ communicator->getProperties()->setProperty("TestAdapter1.Endpoints", getTestEndpoint());
communicator->getProperties()->setProperty("TestAdapter1.ThreadPool.Size", "5");
communicator->getProperties()->setProperty("TestAdapter1.ThreadPool.SizeMax", "5");
communicator->getProperties()->setProperty("TestAdapter1.ThreadPool.SizeWarn", "0");
@@ -28,7 +34,7 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
Ice::ObjectAdapterPtr adapter1 = communicator->createObjectAdapter("TestAdapter1");
adapter1->add(ICE_MAKE_SHARED(HoldI, timer, adapter1), Ice::stringToIdentity("hold"));
- communicator->getProperties()->setProperty("TestAdapter2.Endpoints", getTestEndpoint(communicator, 1));
+ communicator->getProperties()->setProperty("TestAdapter2.Endpoints", getTestEndpoint(1));
communicator->getProperties()->setProperty("TestAdapter2.ThreadPool.Size", "5");
communicator->getProperties()->setProperty("TestAdapter2.ThreadPool.SizeMax", "5");
communicator->getProperties()->setProperty("TestAdapter2.ThreadPool.SizeWarn", "0");
@@ -39,32 +45,11 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
adapter1->activate();
adapter2->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
timer->destroy();
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/hold/TestI.cpp b/cpp/test/Ice/hold/TestI.cpp
index 79f6001f93a..aa9a72db779 100644
--- a/cpp/test/Ice/hold/TestI.cpp
+++ b/cpp/test/Ice/hold/TestI.cpp
@@ -10,7 +10,7 @@
#include <Ice/Ice.h>
#include <IceUtil/IceUtil.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
HoldI::HoldI(const IceUtil::TimerPtr& timer, const Ice::ObjectAdapterPtr& adapter) :
_last(0), _timer(timer), _adapter(adapter)
diff --git a/cpp/test/Ice/impl/Server.cpp b/cpp/test/Ice/impl/Server.cpp
index c84232fa665..a9ea324a433 100644
--- a/cpp/test/Ice/impl/Server.cpp
+++ b/cpp/test/Ice/impl/Server.cpp
@@ -8,52 +8,36 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
- string endpt = getTestEndpoint(communicator, 0);
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", endpt);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ //
+ // Its possible to have batch oneway requests dispatched after
+ // the adapter is deactivated due to thread scheduling so we
+ // supress this warning.
+ //
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(MyDerivedClassI), Ice::stringToIdentity("test"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- //
- // Its possible to have batch oneway requests dispatched after
- // the adapter is deactivated due to thread scheduling so we
- // supress this warning.
- //
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/impl/ServerAMD.cpp b/cpp/test/Ice/impl/ServerAMD.cpp
index 20a515955f2..b114fb11e85 100644
--- a/cpp/test/Ice/impl/ServerAMD.cpp
+++ b/cpp/test/Ice/impl/ServerAMD.cpp
@@ -8,52 +8,36 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestAMDI.h>
-DEFINE_TEST("serveramd")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class ServerAMD : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+ServerAMD::run(int argc, char** argv)
{
- string endpt = getTestEndpoint(communicator, 0);
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", endpt);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ //
+ // Its possible to have batch oneway requests dispatched after
+ // the adapter is deactivated due to thread scheduling so we
+ // supress this warning.
+ //
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(MyDerivedClassI), Ice::stringToIdentity("test"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- //
- // Its possible to have batch oneway requests dispatched after
- // the adapter is deactivated due to thread scheduling so we
- // supress this warning.
- //
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(ServerAMD)
diff --git a/cpp/test/Ice/info/AllTests.cpp b/cpp/test/Ice/info/AllTests.cpp
index dae47636acf..40addf59a37 100644
--- a/cpp/test/Ice/info/AllTests.cpp
+++ b/cpp/test/Ice/info/AllTests.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <IceSSL/IceSSL.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
using namespace std;
@@ -49,8 +49,9 @@ getTCPConnectionInfo(const Ice::ConnectionInfoPtr& info)
}
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
cout << "testing proxy endpoint information... " << flush;
{
Ice::ObjectPrxPtr p1 =
@@ -147,11 +148,11 @@ allTests(const Ice::CommunicatorPtr& communicator)
adapter->destroy();
- int port = getTestPort(communicator->getProperties(), 1);
+ int port = helper->getTestPort(1);
ostringstream portStr;
portStr << port;
communicator->getProperties()->setProperty("TestAdapter.Endpoints", "default -h * -p " + portStr.str());
- communicator->getProperties()->setProperty("TestAdapter.PublishedEndpoints", getTestEndpoint(communicator, 1));
+ communicator->getProperties()->setProperty("TestAdapter.PublishedEndpoints", helper->getTestEndpoint(1));
adapter = communicator->createObjectAdapter("TestAdapter");
endpoints = adapter->getEndpoints();
@@ -166,7 +167,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
}
ipEndpoint = getTCPEndpointInfo(publishedEndpoints[0]->getInfo());
- test(ipEndpoint->host == getTestHost(communicator->getProperties()));
+ test(ipEndpoint->host == helper->getTestHost());
test(ipEndpoint->port == port);
adapter->destroy();
@@ -174,8 +175,8 @@ allTests(const Ice::CommunicatorPtr& communicator)
cout << "ok" << endl;
}
- string endpoints = getTestEndpoint(communicator, 0) + ":" + getTestEndpoint(communicator, 0, "udp") + " -c";
- int port = getTestPort(communicator->getProperties(), 0);
+ string endpoints = helper->getTestEndpoint() + ":" + helper->getTestEndpoint("udp") + " -c";
+ int port = helper->getTestPort();
Ice::ObjectPrxPtr base = communicator->stringToProxy("test:" + endpoints);
TestIntfPrxPtr testIntf = ICE_CHECKED_CAST(TestIntfPrx, base);
diff --git a/cpp/test/Ice/info/Client.cpp b/cpp/test/Ice/info/Client.cpp
index 221511ef18b..7184106d732 100644
--- a/cpp/test/Ice/info/Client.cpp
+++ b/cpp/test/Ice/info/Client.cpp
@@ -8,39 +8,24 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
+ void run(int, char**);
+};
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/info/Makefile.mk b/cpp/test/Ice/info/Makefile.mk
index 74c2fd424f5..c97eb46b4fd 100644
--- a/cpp/test/Ice/info/Makefile.mk
+++ b/cpp/test/Ice/info/Makefile.mk
@@ -8,6 +8,6 @@
# **********************************************************************
$(test)_client_sources = Test.ice TestI.cpp Client.cpp AllTests.cpp
-$(test)_dependencies = IceSSL Ice TestCommon
+$(test)_dependencies = TestCommon IceSSL Ice
tests += $(test)
diff --git a/cpp/test/Ice/info/Server.cpp b/cpp/test/Ice/info/Server.cpp
index 42684d34089..139e0773d58 100644
--- a/cpp/test/Ice/info/Server.cpp
+++ b/cpp/test/Ice/info/Server.cpp
@@ -8,44 +8,29 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server");
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
- string endpoints = getTestEndpoint(communicator, 0) + ":" + getTestEndpoint(communicator, 0, "udp");
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", endpoints);
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints",
+ getTestEndpoint() + ":" + getTestEndpoint("udp"));
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(TestI), Ice::stringToIdentity("test"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/info/TestI.cpp b/cpp/test/Ice/info/TestI.cpp
index d870f9de6e4..e5e096711a1 100644
--- a/cpp/test/Ice/info/TestI.cpp
+++ b/cpp/test/Ice/info/TestI.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <IceSSL/IceSSL.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
using namespace std;
diff --git a/cpp/test/Ice/inheritance/AllTests.cpp b/cpp/test/Ice/inheritance/AllTests.cpp
index d975fc79d57..6e9f775776b 100644
--- a/cpp/test/Ice/inheritance/AllTests.cpp
+++ b/cpp/test/Ice/inheritance/AllTests.cpp
@@ -8,17 +8,18 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
using namespace Test;
InitialPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
cout << "testing stringToProxy... " << flush;
- string ref = "initial:" + getTestEndpoint(communicator, 0);
+ string ref = "initial:" + helper->getTestEndpoint();
Ice::ObjectPrxPtr base = communicator->stringToProxy(ref);
test(base);
cout << "ok" << endl;
diff --git a/cpp/test/Ice/inheritance/Client.cpp b/cpp/test/Ice/inheritance/Client.cpp
index d44b36772ca..ff5a06fc53a 100644
--- a/cpp/test/Ice/inheritance/Client.cpp
+++ b/cpp/test/Ice/inheritance/Client.cpp
@@ -8,43 +8,26 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- InitialPrxPtr allTests(const Ice::CommunicatorPtr&);
- InitialPrxPtr initial = allTests(communicator);
- initial->shutdown();
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-# ifdef ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
+ void run(int, char**);
+};
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ InitialPrxPtr allTests(Test::TestHelper*);
+ InitialPrxPtr initial = allTests(this);
+ initial->shutdown();
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/inheritance/Collocated.cpp b/cpp/test/Ice/inheritance/Collocated.cpp
index 57248407eb0..c77900702df 100644
--- a/cpp/test/Ice/inheritance/Collocated.cpp
+++ b/cpp/test/Ice/inheritance/Collocated.cpp
@@ -8,45 +8,29 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("collocated")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Collocated : public Test::TestHelper
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+public:
+
+ void run(int, char**);
+};
+
+void
+Collocated::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = ICE_MAKE_SHARED(InitialI, adapter);
adapter->add(object, Ice::stringToIdentity("initial"));
-
- InitialPrxPtr allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
-
- return EXIT_SUCCESS;
+ InitialPrxPtr allTests(Test::TestHelper*);
+ allTests(this);
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Collocated)
diff --git a/cpp/test/Ice/inheritance/Server.cpp b/cpp/test/Ice/inheritance/Server.cpp
index 392783b81a3..8df6d019fe2 100644
--- a/cpp/test/Ice/inheritance/Server.cpp
+++ b/cpp/test/Ice/inheritance/Server.cpp
@@ -8,43 +8,29 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = ICE_MAKE_SHARED(InitialI, adapter);
adapter->add(object, Ice::stringToIdentity("initial"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/inheritance/TestI.h b/cpp/test/Ice/inheritance/TestI.h
index ccc49d308de..3834bc3ce28 100644
--- a/cpp/test/Ice/inheritance/TestI.h
+++ b/cpp/test/Ice/inheritance/TestI.h
@@ -11,7 +11,6 @@
#define TESTI_H
#include <Test.h>
-#include <TestCommon.h>
class InitialI : public Test::Initial
{
diff --git a/cpp/test/Ice/interceptor/AMDInterceptorI.cpp b/cpp/test/Ice/interceptor/AMDInterceptorI.cpp
index 3d9f5ffc9f0..647e7e62d88 100644
--- a/cpp/test/Ice/interceptor/AMDInterceptorI.cpp
+++ b/cpp/test/Ice/interceptor/AMDInterceptorI.cpp
@@ -10,7 +10,7 @@
#include <IceUtil/DisableWarnings.h>
#include <AMDInterceptorI.h>
#include <Test.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
diff --git a/cpp/test/Ice/interceptor/Client.cpp b/cpp/test/Ice/interceptor/Client.cpp
index bf80efea7b1..09aa2420de8 100644
--- a/cpp/test/Ice/interceptor/Client.cpp
+++ b/cpp/test/Ice/interceptor/Client.cpp
@@ -8,141 +8,60 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <MyObjectI.h>
#include <InterceptorI.h>
#include <AMDInterceptorI.h>
#include <iostream>
-DEFINE_TEST("client")
-
#ifndef _WIN32
//
// SIGPIPE test
//
# include <signal.h>
-#endif
-
-using namespace std;
-
-#if defined(__APPLE__) || defined(ICE_OS_UWP)
-namespace
-{
-
-class App
-{
-public:
-
- virtual ~App()
- {
- if(_communicator)
- {
- _communicator->destroy();
- }
- }
-
- Ice::CommunicatorPtr communicator()
- {
- return _communicator;
- }
-
- virtual int _main(int argc, char** argv)
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
- _communicator = Ice::initialize(initData);
- return run(argc, argv);
- }
- virtual int run(int argc, char** argv) = 0;
-
-private:
- Ice::CommunicatorPtr _communicator;
-};
-
-}
-#else
-namespace
+extern "C" void testAction(int)
{
-typedef Ice::Application App;
+ test(false);
}
+
#endif
-class ClientApp : public App
+using namespace std;
+
+class Client : public Test::TestHelper
{
public:
- virtual int run(int, char*[]);
+ virtual void run(int, char**);
private:
- int run(const Test::MyObjectPrxPtr&, const InterceptorIPtr&);
- int runAmd(const Test::MyObjectPrxPtr&, const AMDInterceptorIPtr&);
+ void runTest(const Test::MyObjectPrxPtr&, const InterceptorIPtr&);
+ void runAmdTest(const Test::MyObjectPrxPtr&, const AMDInterceptorIPtr&);
};
-#ifndef _WIN32
-extern "C" void testAction(int)
+void
+Client::run(int argc, char* argv[])
{
- test(false);
-}
-#endif
-
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
#ifndef _WIN32
-//
-// Set SIGPIPE action
-//
+ //
+ // Set SIGPIPE action
+ //
struct sigaction action;
action.sa_handler = &testAction;
sigemptyset(&action.sa_mask);
action.sa_flags = 0;
sigaction(SIGPIPE, &action, 0);
#endif
-
- ClientApp app;
-#if defined(__APPLE__) || defined(ICE_OS_UWP)
- int result = app._main(argc, argv);
-#else
- int result = app.main(argc, argv);
-#endif
-
-#ifndef _WIN32
-//
-// Check SIGPIPE was properly reset to old action
-//
- struct sigaction newAction;
- sigaction(SIGPIPE, 0, &newAction);
- test(action.sa_handler == &testAction);
-#endif
-
- return result;
-}
-
-int
-ClientApp::run(int, char*[])
-{
-
-#ifndef _WIN32
-//
-// Check SIGPIPE is now SIG_IGN
-//
- struct sigaction action;
- sigaction(SIGPIPE, 0, &action);
- test(action.sa_handler == SIG_IGN);
-#endif
-
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
//
// Create OA and servants
//
- Ice::ObjectAdapterPtr oa = communicator()->createObjectAdapterWithEndpoints("MyOA", "tcp -h localhost");
+ Ice::ObjectAdapterPtr oa = communicator->createObjectAdapterWithEndpoints("MyOA", "tcp -h localhost");
Ice::ObjectPtr servant = ICE_MAKE_SHARED(MyObjectI);
InterceptorIPtr interceptor = ICE_MAKE_SHARED(InterceptorI, servant);
@@ -152,40 +71,34 @@ ClientApp::run(int, char*[])
Test::MyObjectPrxPtr prxForAMD = ICE_UNCHECKED_CAST(Test::MyObjectPrx, oa->addWithUUID(amdInterceptor));
cout << "Collocation optimization on" << endl;
- int rs = run(prx, interceptor);
- if(rs != 0)
- {
- return rs;
- }
+ runTest(prx, interceptor);
cout << "Now with AMD" << endl;
- rs = runAmd(prxForAMD, amdInterceptor);
- if(rs != 0)
- {
- return rs;
- }
+ runAmdTest(prxForAMD, amdInterceptor);
oa->activate(); // Only necessary for non-collocation optimized tests
cout << "Collocation optimization off" << endl;
interceptor->clear();
prx = ICE_UNCHECKED_CAST(Test::MyObjectPrx, prx->ice_collocationOptimized(false));
- rs = run(prx, interceptor);
- if(rs != 0)
- {
- return rs;
- }
+ runTest(prx, interceptor);
cout << "Now with AMD" << endl;
amdInterceptor->clear();
prxForAMD = ICE_UNCHECKED_CAST(Test::MyObjectPrx, prxForAMD->ice_collocationOptimized(false));
- rs = runAmd(prxForAMD, amdInterceptor);
-
- return rs;
+ runAmdTest(prxForAMD, amdInterceptor);
+#ifndef _WIN32
+ //
+ // Check SIGPIPE was properly reset to old action
+ //
+ struct sigaction newAction;
+ sigaction(SIGPIPE, 0, &newAction);
+ test(action.sa_handler == &testAction);
+#endif
}
-int
-ClientApp::run(const Test::MyObjectPrxPtr& prx, const InterceptorIPtr& interceptor)
+void
+Client::runTest(const Test::MyObjectPrxPtr& prx, const InterceptorIPtr& interceptor)
{
cout << "testing simple interceptor... " << flush;
test(interceptor->getLastOperation().empty());
@@ -261,12 +174,10 @@ ClientApp::run(const Test::MyObjectPrxPtr& prx, const InterceptorIPtr& intercept
test(interceptor->getLastOperation() == "amdAdd");
test(!interceptor->getLastStatus());
cout << "ok" << endl;
-
- return EXIT_SUCCESS;
}
-int
-ClientApp::runAmd(const Test::MyObjectPrxPtr& prx, const AMDInterceptorIPtr& interceptor)
+void
+Client::runAmdTest(const Test::MyObjectPrxPtr& prx, const AMDInterceptorIPtr& interceptor)
{
cout << "testing simple interceptor... " << flush;
test(interceptor->getLastOperation().empty());
@@ -328,5 +239,6 @@ ClientApp::runAmd(const Test::MyObjectPrxPtr& prx, const AMDInterceptorIPtr& int
test(!interceptor->getLastStatus());
test(dynamic_cast<MySystemException*>(interceptor->getException()) != 0);
cout << "ok" << endl;
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/interceptor/InterceptorI.cpp b/cpp/test/Ice/interceptor/InterceptorI.cpp
index 644a7e05be4..cbd0ccf14a9 100644
--- a/cpp/test/Ice/interceptor/InterceptorI.cpp
+++ b/cpp/test/Ice/interceptor/InterceptorI.cpp
@@ -9,7 +9,7 @@
#include <InterceptorI.h>
#include <Test.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
diff --git a/cpp/test/Ice/interceptor/MyObjectI.cpp b/cpp/test/Ice/interceptor/MyObjectI.cpp
index 675b7c4003a..574213dedb2 100644
--- a/cpp/test/Ice/interceptor/MyObjectI.cpp
+++ b/cpp/test/Ice/interceptor/MyObjectI.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <MyObjectI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <IceUtil/IceUtil.h>
using namespace IceUtil;
diff --git a/cpp/test/Ice/invoke/AllTests.cpp b/cpp/test/Ice/invoke/AllTests.cpp
index febb223548b..d56d47b60f8 100644
--- a/cpp/test/Ice/invoke/AllTests.cpp
+++ b/cpp/test/Ice/invoke/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -285,9 +285,10 @@ typedef IceUtil::Handle<Callback> CallbackPtr;
#endif
Test::MyClassPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
- string ref = "test:" + getTestEndpoint(communicator, 0);
+ Ice::CommunicatorPtr communicator = helper->communicator();
+ string ref = "test:" + helper->getTestEndpoint();
Ice::ObjectPrxPtr base = communicator->stringToProxy(ref);
test(base);
diff --git a/cpp/test/Ice/invoke/BlobjectI.cpp b/cpp/test/Ice/invoke/BlobjectI.cpp
index ee8be62d429..e0c44b1d4bd 100644
--- a/cpp/test/Ice/invoke/BlobjectI.cpp
+++ b/cpp/test/Ice/invoke/BlobjectI.cpp
@@ -10,7 +10,7 @@
#include <Ice/Ice.h>
#include <BlobjectI.h>
#include <Test.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
@@ -135,7 +135,7 @@ BlobjectArrayAsyncI::ice_invokeAsync(pair<const Ice::Byte*, const Ice::Byte*> in
#else
void
BlobjectAsyncI::ice_invoke_async(const Ice::AMD_Object_ice_invokePtr& cb, const vector<Ice::Byte>& inEncaps,
- const Ice::Current& current)
+ const Ice::Current& current)
{
Ice::InputStream in(current.adapter->getCommunicator(), current.encoding, inEncaps);
vector<Ice::Byte> outEncaps;
@@ -145,8 +145,8 @@ BlobjectAsyncI::ice_invoke_async(const Ice::AMD_Object_ice_invokePtr& cb, const
void
BlobjectArrayAsyncI::ice_invoke_async(const Ice::AMD_Object_ice_invokePtr& cb,
- const pair<const Ice::Byte*, const Ice::Byte*>& inEncaps,
- const Ice::Current& current)
+ const pair<const Ice::Byte*, const Ice::Byte*>& inEncaps,
+ const Ice::Current& current)
{
Ice::InputStream in(current.adapter->getCommunicator(), current.encoding, inEncaps);
vector<Ice::Byte> outEncaps;
diff --git a/cpp/test/Ice/invoke/Client.cpp b/cpp/test/Ice/invoke/Client.cpp
index d03ef2238d0..3c557329d9c 100644
--- a/cpp/test/Ice/invoke/Client.cpp
+++ b/cpp/test/Ice/invoke/Client.cpp
@@ -8,53 +8,25 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
-int
-run(int, char**,
- const Ice::CommunicatorPtr& communicator,
- const Ice::InitializationData&)
+class Client : public Test::TestHelper
{
- Test::MyClassPrxPtr allTests(const Ice::CommunicatorPtr&);
- Test::MyClassPrxPtr myClass = allTests(communicator);
+public:
- myClass->shutdown();
+ void run(int, char**);
+};
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
+void
+Client::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(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)
- {
- communicator->destroy();
- }
-
- return status;
+ Ice::CommunicatorHolder holder = initialize(argc, argv);
+ Test::MyClassPrxPtr allTests(Test::TestHelper*);
+ Test::MyClassPrxPtr myClass = allTests(this);
+ myClass->shutdown();
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/invoke/Server.cpp b/cpp/test/Ice/invoke/Server.cpp
index d6c022f44d3..ccee3948daf 100644
--- a/cpp/test/Ice/invoke/Server.cpp
+++ b/cpp/test/Ice/invoke/Server.cpp
@@ -8,12 +8,10 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <IceUtil/Options.h>
#include <BlobjectI.h>
-DEFINE_TEST("server")
-
using namespace std;
class ServantLocatorI : public Ice::ServantLocator
@@ -82,6 +80,21 @@ private:
int
run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
{
+
+ return EXIT_SUCCESS;
+}
+
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
IceUtilInternal::Options opts;
opts.addOpt("", "array");
opts.addOpt("", "async");
@@ -94,50 +107,19 @@ run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
catch(const IceUtilInternal::BadOptException& e)
{
cout << argv[0] << ": " << e.reason << endl;
- return false;
+ throw;
}
bool array = opts.isSet("array");
bool async = opts.isSet("async");
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->addServantLocator(ICE_MAKE_SHARED(ServantLocatorI, array, async), "");
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
-
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/library/Client.cpp b/cpp/test/Ice/library/Client.cpp
index f5f7483b4a8..093495bd69e 100644
--- a/cpp/test/Ice/library/Client.cpp
+++ b/cpp/test/Ice/library/Client.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
ICE_DECLSPEC_IMPORT void
allTests(const Ice::ObjectAdapterPtr&);
@@ -17,28 +17,24 @@ allTests(const Ice::ObjectAdapterPtr&);
# pragma comment(lib, ICE_LIBNAME("alltests"))
#endif
-DEFINE_TEST("client")
-
using namespace std;
-int
-main(int argc, char* argv[])
+class Client : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
{
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
-
- // Collocated-only OA
- Ice::ObjectAdapterPtr oa = ich->createObjectAdapter("");
-
- oa->activate();
- allTests(oa);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
- return EXIT_SUCCESS;
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ // Collocated-only OA
+ Ice::ObjectAdapterPtr oa = communicator->createObjectAdapter("");
+
+ oa->activate();
+ allTests(oa);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/library/Consumer.cpp b/cpp/test/Ice/library/Consumer.cpp
index b8a06bd9f69..a879e9bea30 100644
--- a/cpp/test/Ice/library/Consumer.cpp
+++ b/cpp/test/Ice/library/Consumer.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Test.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#if defined(_MSC_VER)
# pragma comment(lib, ICE_LIBNAME("gencode"))
diff --git a/cpp/test/Ice/location/AllTests.cpp b/cpp/test/Ice/location/AllTests.cpp
index 0dd99ef0e48..becce4b6e6d 100644
--- a/cpp/test/Ice/location/AllTests.cpp
+++ b/cpp/test/Ice/location/AllTests.cpp
@@ -10,7 +10,7 @@
#include <Ice/Ice.h>
#include <Ice/Router.h>
#include <IceUtil/IceUtil.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <list>
@@ -60,8 +60,9 @@ public:
typedef IceUtil::Handle<AMICallback> AMICallbackPtr;
void
-allTests(const Ice::CommunicatorPtr& communicator, const string& ref)
+allTests(Test::TestHelper* helper, const string& ref)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
ServerManagerPrxPtr manager = ICE_CHECKED_CAST(ServerManagerPrx, communicator->stringToProxy(ref));
TestLocatorPrxPtr locator = ICE_UNCHECKED_CAST(TestLocatorPrx, communicator->getDefaultLocator());
test(manager);
diff --git a/cpp/test/Ice/location/Client.cpp b/cpp/test/Ice/location/Client.cpp
index e73221fc55c..2fc6532f9ff 100644
--- a/cpp/test/Ice/location/Client.cpp
+++ b/cpp/test/Ice/location/Client.cpp
@@ -8,38 +8,26 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&, const string&);
- allTests(communicator, "ServerManager:" + getTestEndpoint(communicator, 0));
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Default.Locator", "locator:" + getTestEndpoint(initData.properties, 0));
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Default.Locator", "locator:" + getTestEndpoint(properties));
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ void allTests(Test::TestHelper*, const string&);
+ allTests(this, "ServerManager:" + getTestEndpoint());
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/location/Server.cpp b/cpp/test/Ice/location/Server.cpp
index 962efc36023..755e4ae721d 100644
--- a/cpp/test/Ice/location/Server.cpp
+++ b/cpp/test/Ice/location/Server.cpp
@@ -9,16 +9,25 @@
#include <Ice/Ice.h>
#include <ServerLocator.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator, const Ice::InitializationData& initData)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
+ Ice::InitializationData initData;
+ initData.properties = createTestProperties(argc, argv);
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, initData);
//
// Register the server manager. The server manager creates a new
// 'server' (a server isn't a different process, it's just a new
@@ -26,7 +35,7 @@ run(int, char**, const Ice::CommunicatorPtr& communicator, const Ice::Initializa
//
Ice::PropertiesPtr properties = communicator->getProperties();
properties->setProperty("Ice.ThreadPool.Server.Size", "2");
- properties->setProperty("ServerManager.Endpoints", getTestEndpoint(communicator, 0));
+ properties->setProperty("ServerManager.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("ServerManager");
@@ -48,30 +57,8 @@ run(int, char**, const Ice::CommunicatorPtr& communicator, const Ice::Initializa
adapter->add(locator, Ice::stringToIdentity("locator"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- assert(initData.properties != ich->getProperties());
- return run(argc, argv, ich.communicator(), initData);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/location/ServerLocator.cpp b/cpp/test/Ice/location/ServerLocator.cpp
index 5dd30a48061..9c55595006e 100644
--- a/cpp/test/Ice/location/ServerLocator.cpp
+++ b/cpp/test/Ice/location/ServerLocator.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <Ice/BuiltinSequences.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <ServerLocator.h>
using namespace std;
diff --git a/cpp/test/Ice/location/TestI.cpp b/cpp/test/Ice/location/TestI.cpp
index 583f86f20ff..be4045a4571 100644
--- a/cpp/test/Ice/location/TestI.cpp
+++ b/cpp/test/Ice/location/TestI.cpp
@@ -10,7 +10,7 @@
#include <Ice/Ice.h>
#include <Ice/Locator.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace Test;
@@ -60,14 +60,15 @@ ServerManagerI::startServer(const Ice::Current&)
{
Ice::PropertiesPtr props = _initData.properties;
serverCommunicator->getProperties()->setProperty("TestAdapter.Endpoints",
- getTestEndpoint(props, _nextPort++));
+ TestHelper::getTestEndpoint(props, _nextPort++));
serverCommunicator->getProperties()->setProperty("TestAdapter2.Endpoints",
- getTestEndpoint(props, _nextPort++));
+ TestHelper::getTestEndpoint(props, _nextPort++));
adapter = serverCommunicator->createObjectAdapter("TestAdapter");
adapter2 = serverCommunicator->createObjectAdapter("TestAdapter2");
- Ice::ObjectPrxPtr locator = serverCommunicator->stringToProxy("locator:" + getTestEndpoint(props, 0));
+ Ice::ObjectPrxPtr locator =
+ serverCommunicator->stringToProxy("locator:" + TestHelper::getTestEndpoint(props));
adapter->setLocator(ICE_UNCHECKED_CAST(Ice::LocatorPrx, locator));
adapter2->setLocator(ICE_UNCHECKED_CAST(Ice::LocatorPrx, locator));
diff --git a/cpp/test/Ice/location/TestI.h b/cpp/test/Ice/location/TestI.h
index c9b72508c86..beaf1c7287a 100644
--- a/cpp/test/Ice/location/TestI.h
+++ b/cpp/test/Ice/location/TestI.h
@@ -11,6 +11,7 @@
#define TEST_I_H
#include <Test.h>
+#include <TestHelper.h>
#include <vector>
#include <ServerLocator.h>
diff --git a/cpp/test/Ice/logger/Client1.cpp b/cpp/test/Ice/logger/Client1.cpp
index 2ed7ce33e46..2dfe7245ab2 100644
--- a/cpp/test/Ice/logger/Client1.cpp
+++ b/cpp/test/Ice/logger/Client1.cpp
@@ -8,44 +8,29 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <fstream>
using namespace std;
-namespace
-{
-
-class Client : public Ice::Application
+class Client1 : public Test::TestHelper
{
public:
- virtual int
- run(int, char*[])
- {
- communicator()->getLogger()->trace("info", "XXX");
- return EXIT_SUCCESS;
- };
-};
-}
+ void run(int, char**);
+};
-int
-main(int argc, char* argv[])
+void
+Client1::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
cout << "testing logger encoding with Ice.LogFile... " << flush;
- Ice::InitializationData id;
- id.properties = Ice::createProperties();
- id.properties->load("config.client");
- id.properties->setProperty("Ice.LogFile", "log.txt");
- const string programName = id.properties->getProperty("Ice.ProgramName");
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->load("config.client");
+ properties->setProperty("Ice.LogFile", "log.txt");
+ const string programName = properties->getProperty("Ice.ProgramName");
- Client c;
- c.main(argc, argv, id);
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getLogger()->trace("info", "XXX");
ifstream in("log.txt");
if(!in)
@@ -61,5 +46,6 @@ main(int argc, char* argv[])
in.close();
remove("log.txt");
cout << "ok" << endl;
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(Client1)
diff --git a/cpp/test/Ice/logger/Client2.cpp b/cpp/test/Ice/logger/Client2.cpp
index 299791408b9..b7ee10f4763 100644
--- a/cpp/test/Ice/logger/Client2.cpp
+++ b/cpp/test/Ice/logger/Client2.cpp
@@ -8,34 +8,20 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-namespace
-{
-
-class Client : public Ice::Application
+class Client2 : public Test::TestHelper
{
public:
- virtual int
- run(int, char*[])
- {
- communicator()->getLogger()->trace("info", "XXX");
- return EXIT_SUCCESS;
- };
-};
-}
+ void run(int, char**);
+};
-int
-main(int argc, char* argv[])
+void
+Client2::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
#ifdef _WIN32
int cp = GetConsoleOutputCP();
//
@@ -46,14 +32,16 @@ main(int argc, char* argv[])
#else
setProcessStringConverter(Ice::createIconvStringConverter<char>("ISO8859-15"));
#endif
- Ice::InitializationData id;
- id.properties = Ice::createProperties();
- id.properties->load("config.client");
- Client c;
- int status = c.main(argc, argv, id);
+
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->load("config.client");
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getLogger()->trace("info", "XXX");
#ifdef _WIN32
SetConsoleOutputCP(cp);
#endif
- return status;
}
+
+DEFINE_TEST(Client2)
diff --git a/cpp/test/Ice/logger/Client3.cpp b/cpp/test/Ice/logger/Client3.cpp
index 9d96ce59263..1accdb71add 100644
--- a/cpp/test/Ice/logger/Client3.cpp
+++ b/cpp/test/Ice/logger/Client3.cpp
@@ -8,46 +8,32 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-namespace
-{
-
-class Client : public Ice::Application
+class Client3 : public Test::TestHelper
{
public:
- virtual int
- run(int, char*[])
- {
- communicator()->getLogger()->trace("info", "XXX");
- return EXIT_SUCCESS;
- };
-};
-}
+ void run(int, char**);
+};
-int
-main(int argc, char* argv[])
+void
+Client3::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
#ifdef _WIN32
int cp = GetConsoleOutputCP();
SetConsoleOutputCP(CP_UTF8);
#endif
- Ice::InitializationData id;
- id.properties = Ice::createProperties();
- id.properties->load("config.client");
- Client c;
- int status = c.main(argc, argv, id);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->load("config.client");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getLogger()->trace("info", "XXX");
#ifdef _WIN32
SetConsoleOutputCP(cp);
#endif
- return status;
}
+
+DEFINE_TEST(Client3)
diff --git a/cpp/test/Ice/logger/Client4.cpp b/cpp/test/Ice/logger/Client4.cpp
index 991bca47780..83459ce09e7 100644
--- a/cpp/test/Ice/logger/Client4.cpp
+++ b/cpp/test/Ice/logger/Client4.cpp
@@ -8,34 +8,20 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-namespace
-{
-
-class Client : public Ice::Application
+class Client4 : public Test::TestHelper
{
public:
- virtual int
- run(int, char*[])
- {
- communicator()->getLogger()->trace("info", "XXX");
- return EXIT_SUCCESS;
- };
-};
-}
+ void run(int, char**);
+};
-int
-main(int argc, char* argv[])
+void
+Client4::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
#ifdef _WIN32
//
// 28605 == ISO 8859-15 codepage
@@ -46,13 +32,13 @@ main(int argc, char* argv[])
#else
setProcessStringConverter(Ice::createIconvStringConverter<char>("ISO8859-15"));
#endif
- Ice::InitializationData id;
- id.properties = Ice::createProperties();
- id.properties->load("config.client");
- Client c;
- int status = c.main(argc, argv, id);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->load("config.client");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getLogger()->trace("info", "XXX");
#ifdef _WIN32
SetConsoleOutputCP(cp);
#endif
- return status;
}
+
+DEFINE_TEST(Client4)
diff --git a/cpp/test/Ice/logger/Client5.cpp b/cpp/test/Ice/logger/Client5.cpp
index e831348d874..2d7442a98c6 100644
--- a/cpp/test/Ice/logger/Client5.cpp
+++ b/cpp/test/Ice/logger/Client5.cpp
@@ -8,29 +8,19 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-namespace
+void
+runTest(const Ice::CommunicatorPtr& communicator)
{
-
-class Client : public Ice::Application
-{
-public:
- virtual int
- run(int, char*[])
+ int count = communicator->getProperties()->getPropertyAsInt("Client.Iterations");
+ const string message = communicator->getProperties()->getProperty("Client.Message");
+ for(int i = 0; i < count; ++i)
{
- int count = communicator()->getProperties()->getPropertyAsInt("Client.Iterations");
- const string message = communicator()->getProperties()->getProperty("Client.Message");
- for(int i = 0; i < count; ++i)
- {
- communicator()->getLogger()->print(message);
- }
- return EXIT_SUCCESS;
- };
-};
-
+ communicator->getLogger()->print(message);
+ }
}
//
@@ -47,14 +37,16 @@ const string message = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.
"Fusce dictum turpis ante, sit amet finibus eros commodo vel. Sed amet.";
#endif
-int
-main(int argc, char* argv[])
+class Client5 : public Test::TestHelper
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
+public:
+ void run(int, char**);
+};
+
+void
+Client5::run(int argc, char** argv)
+{
//
// Run Client application 20 times, each times it generate 512 bytes of log messages,
// the application logger is configured to archive log files larger than 512 bytes.
@@ -71,11 +63,9 @@ main(int argc, char* argv[])
id.properties->setProperty("Client.Message", message);
id.properties->setProperty("Ice.LogFile", "client5-0.log");
id.properties->setProperty("Ice.LogFile.SizeMax", "512");
- Client c;
- if(c.main(argc, argv, id) != EXIT_SUCCESS)
- {
- return EXIT_FAILURE;
- }
+
+ Ice::CommunicatorHolder ich = Ice::initialize(id);
+ runTest(ich.communicator());
}
//
@@ -91,11 +81,9 @@ main(int argc, char* argv[])
id.properties->setProperty("Client.Message", message);
id.properties->setProperty("Ice.LogFile", "client5-1.log");
id.properties->setProperty("Ice.LogFile.SizeMax", "0");
- Client c;
- if(c.main(argc, argv, id) != EXIT_SUCCESS)
- {
- return EXIT_FAILURE;
- }
+
+ Ice::CommunicatorHolder ich = Ice::initialize(id);
+ runTest(ich.communicator());
}
//
@@ -111,11 +99,9 @@ main(int argc, char* argv[])
id.properties->setProperty("Client.Message", message);
id.properties->setProperty("Ice.LogFile", "client5-2.log");
id.properties->setProperty("Ice.LogFile.SizeMax", "128");
- Client c;
- if(c.main(argc, argv, id) != EXIT_SUCCESS)
- {
- return EXIT_FAILURE;
- }
+
+ Ice::CommunicatorHolder ich = Ice::initialize(id);
+ runTest(ich.communicator());
}
//
@@ -130,11 +116,9 @@ main(int argc, char* argv[])
id.properties->setProperty("Client.Message", message);
id.properties->setProperty("Ice.LogFile", "client5-3.log");
id.properties->setProperty("Ice.LogFile.SizeMax", "64");
- Client c;
- if(c.main(argc, argv, id) != EXIT_SUCCESS)
- {
- return EXIT_FAILURE;
- }
+
+ Ice::CommunicatorHolder ich = Ice::initialize(id);
+ runTest(ich.communicator());
}
//
@@ -151,10 +135,10 @@ main(int argc, char* argv[])
id.properties->setProperty("Client.Message", message);
id.properties->setProperty("Ice.LogFile", "log/client5-4.log");
id.properties->setProperty("Ice.LogFile.SizeMax", "512");
- Client c;
- if(c.main(argc, argv, id) != EXIT_SUCCESS)
- {
- return EXIT_FAILURE;
- }
+
+ Ice::CommunicatorHolder ich = Ice::initialize(id);
+ runTest(ich.communicator());
}
}
+
+DEFINE_TEST(Client5)
diff --git a/cpp/test/Ice/metrics/AllTests.cpp b/cpp/test/Ice/metrics/AllTests.cpp
index 94636136c36..c21cc22e94a 100644
--- a/cpp/test/Ice/metrics/AllTests.cpp
+++ b/cpp/test/Ice/metrics/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <InstrumentationI.h>
#include <Test.h>
@@ -59,7 +59,7 @@ string
getPort(const Ice::PropertiesAdminPrxPtr& p)
{
ostringstream os;
- os << getTestPort(p->ice_getCommunicator()->getProperties(), 0);
+ os << TestHelper::getTestPort(p->ice_getCommunicator()->getProperties(), 0);
return os.str();
}
@@ -384,7 +384,8 @@ clearView(const Ice::PropertiesAdminPrxPtr& cprops, const Ice::PropertiesAdminPr
}
void
-checkFailure(const IceMX::MetricsAdminPrxPtr& m, const string& map, const string& id, const string& failure, int count = 0)
+checkFailure(const IceMX::MetricsAdminPrxPtr& m, const string& map, const string& id, const string& failure,
+ int count = 0)
{
IceMX::MetricsFailures f = m->getMetricsFailures("View", map, id);
if(f.failures.find(failure) == f.failures.end())
@@ -414,18 +415,18 @@ toMap(const IceMX::MetricsMap& mmap)
}
MetricsPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator, const CommunicatorObserverIPtr& obsv)
+allTests(Test::TestHelper* helper, const CommunicatorObserverIPtr& obsv)
{
- Ice::PropertiesPtr properties = communicator->getProperties();
- string host = getTestHost(properties);
+ Ice::CommunicatorPtr communicator = helper->communicator();
+ string host = helper->getTestHost();
string port;
{
ostringstream os;
- os << getTestPort(properties, 0);
+ os << helper->getTestPort();
port = os.str();
}
string hostAndPort = host + ":" + port;
- string protocol = getTestProtocol(properties);
+ string protocol = helper->getTestProtocol();
string endpoint;
{
ostringstream os;
@@ -638,7 +639,7 @@ allTests(const Ice::CommunicatorPtr& communicator, const CommunicatorObserverIPt
map = toMap(clientMetrics->getMetricsView("View", timestamp)["Connection"]);
test(map["active"]->current == 1);
- Ice::ObjectPrxPtr cprx = communicator->stringToProxy("controller:" + getTestEndpoint(communicator, 1));
+ Ice::ObjectPrxPtr cprx = communicator->stringToProxy("controller:" + helper->getTestEndpoint(1));
ControllerPrxPtr controller = ICE_CHECKED_CAST(ControllerPrx, cprx);
controller->hold();
diff --git a/cpp/test/Ice/metrics/Client.cpp b/cpp/test/Ice/metrics/Client.cpp
index 33a7c909d0e..18be573689c 100644
--- a/cpp/test/Ice/metrics/Client.cpp
+++ b/cpp/test/Ice/metrics/Client.cpp
@@ -8,46 +8,36 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <InstrumentationI.h>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator, const CommunicatorObserverIPtr& observer)
+class Client : public Test::TestHelper
{
- MetricsPrxPtr allTests(const Ice::CommunicatorPtr&, const CommunicatorObserverIPtr&);
- MetricsPrxPtr metrics = allTests(communicator, observer);
- metrics->shutdown();
- return EXIT_SUCCESS;
-}
+public:
+
+ void run(int, char**);
+};
-int
-main(int argc, char* argv[])
+void
+Client::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Admin.Endpoints", "default");
- initData.properties->setProperty("Ice.Admin.InstanceName", "client");
- initData.properties->setProperty("Ice.Admin.DelayCreation", "1");
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- CommunicatorObserverIPtr observer = ICE_MAKE_SHARED(CommunicatorObserverI);
- initData.observer = observer;
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator(), observer);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+ Ice::InitializationData initData;
+ initData.properties = createTestProperties(argc, argv);
+ initData.properties->setProperty("Ice.Admin.Endpoints", "default");
+ initData.properties->setProperty("Ice.Admin.InstanceName", "client");
+ initData.properties->setProperty("Ice.Admin.DelayCreation", "1");
+ initData.properties->setProperty("Ice.Warn.Connections", "0");
+ CommunicatorObserverIPtr observer = ICE_MAKE_SHARED(CommunicatorObserverI);
+ initData.observer = observer;
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, initData);
+
+ MetricsPrxPtr allTests(Test::TestHelper*, const CommunicatorObserverIPtr&);
+ MetricsPrxPtr metrics = allTests(this, observer);
+ metrics->shutdown();
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/metrics/Collocated.cpp b/cpp/test/Ice/metrics/Collocated.cpp
index 156673ff1e1..4dc2e316e46 100644
--- a/cpp/test/Ice/metrics/Collocated.cpp
+++ b/cpp/test/Ice/metrics/Collocated.cpp
@@ -8,57 +8,47 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
#include <InstrumentationI.h>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator, const CommunicatorObserverIPtr& observer)
+class Collocated : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Collocated::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::InitializationData initData;
+ initData.properties = createTestProperties(argc, argv);
+ initData.properties->setProperty("Ice.Admin.Endpoints", "tcp");
+ initData.properties->setProperty("Ice.Admin.InstanceName", "client");
+ initData.properties->setProperty("Ice.Admin.DelayCreation", "1");
+ initData.properties->setProperty("Ice.Warn.Connections", "0");
+ initData.properties->setProperty("Ice.Warn.Dispatch", "0");
+ CommunicatorObserverIPtr observer = ICE_MAKE_SHARED(CommunicatorObserverI);
+ initData.observer = observer;
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, initData);
+
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(MetricsI), Ice::stringToIdentity("metrics"));
//adapter->activate(); // Don't activate OA to ensure collocation is used.
- communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(communicator, 1));
+ communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(1));
Ice::ObjectAdapterPtr controllerAdapter = communicator->createObjectAdapter("ControllerAdapter");
controllerAdapter->add(ICE_MAKE_SHARED(ControllerI, adapter), Ice::stringToIdentity("controller"));
//controllerAdapter->activate(); // Don't activate OA to ensure collocation is used.
- MetricsPrxPtr allTests(const Ice::CommunicatorPtr&, const CommunicatorObserverIPtr&);
- MetricsPrxPtr metrics = allTests(communicator, observer);
+ MetricsPrxPtr allTests(Test::TestHelper*, const CommunicatorObserverIPtr&);
+ MetricsPrxPtr metrics = allTests(this, observer);
metrics->shutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Admin.Endpoints", "tcp");
- initData.properties->setProperty("Ice.Admin.InstanceName", "client");
- initData.properties->setProperty("Ice.Admin.DelayCreation", "1");
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
- CommunicatorObserverIPtr observer = ICE_MAKE_SHARED(CommunicatorObserverI);
- initData.observer = observer;
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator(), observer);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Collocated)
diff --git a/cpp/test/Ice/metrics/Server.cpp b/cpp/test/Ice/metrics/Server.cpp
index d0c9e3ecaf7..05ee94509cd 100644
--- a/cpp/test/Ice/metrics/Server.cpp
+++ b/cpp/test/Ice/metrics/Server.cpp
@@ -8,55 +8,41 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Admin.Endpoints", "tcp");
+ properties->setProperty("Ice.Admin.InstanceName", "server");
+ properties->setProperty("Ice.Warn.Connections", "0");
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+ properties->setProperty("Ice.MessageSizeMax", "50000");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(MetricsI), Ice::stringToIdentity("metrics"));
adapter->activate();
- communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(communicator, 1));
+ communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(1));
Ice::ObjectAdapterPtr controllerAdapter = communicator->createObjectAdapter("ControllerAdapter");
controllerAdapter->add(ICE_MAKE_SHARED(ControllerI, adapter), Ice::stringToIdentity("controller"));
controllerAdapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- //initData.properties->setProperty("Ice.ThreadPool.Server.Size", "1");
- //initData.properties->setProperty("Ice.ThreadPool.Server.SizeMax", "1");
- initData.properties->setProperty("Ice.Admin.Endpoints", "tcp");
- initData.properties->setProperty("Ice.Admin.InstanceName", "server");
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
- initData.properties->setProperty("Ice.MessageSizeMax", "50000");
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/metrics/ServerAMD.cpp b/cpp/test/Ice/metrics/ServerAMD.cpp
index 5b04664ff84..8f5a723523b 100644
--- a/cpp/test/Ice/metrics/ServerAMD.cpp
+++ b/cpp/test/Ice/metrics/ServerAMD.cpp
@@ -8,55 +8,41 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestAMDI.h>
-DEFINE_TEST("serveramd")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class ServerAMD : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+ServerAMD::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Admin.Endpoints", "tcp");
+ properties->setProperty("Ice.Admin.InstanceName", "server");
+ properties->setProperty("Ice.Warn.Connections", "0");
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+ properties->setProperty("Ice.MessageSizeMax", "50000");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(MetricsI), Ice::stringToIdentity("metrics"));
adapter->activate();
- communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(communicator, 1));
+ communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(1));
Ice::ObjectAdapterPtr controllerAdapter = communicator->createObjectAdapter("ControllerAdapter");
controllerAdapter->add(ICE_MAKE_SHARED(ControllerI, adapter), Ice::stringToIdentity("controller"));
controllerAdapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- //initData.properties->setProperty("Ice.ThreadPool.Server.Size", "1");
- //initData.properties->setProperty("Ice.ThreadPool.Server.SizeMax", "1");
- initData.properties->setProperty("Ice.Admin.Endpoints", "tcp");
- initData.properties->setProperty("Ice.Admin.InstanceName", "server");
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
- initData.properties->setProperty("Ice.MessageSizeMax", "50000");
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(ServerAMD)
diff --git a/cpp/test/Ice/metrics/TestI.h b/cpp/test/Ice/metrics/TestI.h
index b0114348aa7..50edd4474a5 100644
--- a/cpp/test/Ice/metrics/TestI.h
+++ b/cpp/test/Ice/metrics/TestI.h
@@ -11,7 +11,6 @@
#define TEST_I_H
#include <Test.h>
-#include <TestCommon.h>
class MetricsI : public Test::Metrics
{
diff --git a/cpp/test/Ice/networkProxy/AllTests.cpp b/cpp/test/Ice/networkProxy/AllTests.cpp
index 9f6111888fd..ae7534bd99f 100644
--- a/cpp/test/Ice/networkProxy/AllTests.cpp
+++ b/cpp/test/Ice/networkProxy/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -34,9 +34,10 @@ getIPConnectionInfo(const Ice::ConnectionInfoPtr& info)
}
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
- string sref = "test:" + getTestEndpoint(communicator, 0);
+ Ice::CommunicatorPtr communicator = helper->communicator();
+ string sref = "test:" + helper->getTestEndpoint();
Ice::ObjectPrxPtr obj = communicator->stringToProxy(sref);
test(obj);
diff --git a/cpp/test/Ice/networkProxy/Client.cpp b/cpp/test/Ice/networkProxy/Client.cpp
index cb0b70071ac..50558f8f63f 100644
--- a/cpp/test/Ice/networkProxy/Client.cpp
+++ b/cpp/test/Ice/networkProxy/Client.cpp
@@ -8,38 +8,25 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator){
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
+class Client : public Test::TestHelper
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
+public:
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/networkProxy/Server.cpp b/cpp/test/Ice/networkProxy/Server.cpp
index 2eb40102b16..b66e6f92f1a 100644
--- a/cpp/test/Ice/networkProxy/Server.cpp
+++ b/cpp/test/Ice/networkProxy/Server.cpp
@@ -8,11 +8,9 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("server")
-
using namespace std;
namespace
@@ -31,37 +29,24 @@ public:
}
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = ICE_MAKE_SHARED(TestI);
adapter->add(object, Ice::stringToIdentity("test"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/objects/AllTests.cpp b/cpp/test/Ice/objects/AllTests.cpp
index 977838a2948..324cb2af3a1 100644
--- a/cpp/test/Ice/objects/AllTests.cpp
+++ b/cpp/test/Ice/objects/AllTests.cpp
@@ -8,16 +8,13 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-#ifdef _MSC_VER
-// For 'Ice::Communicator::addObjectFactory()' deprecation
-#pragma warning( disable : 4996 )
-#endif
-
-#if defined(__GNUC__)
// For 'Ice::Communicator::addObjectFactory()' deprecation
+#if defined(_MSC_VER)
+# pragma warning( disable : 4996 )
+#elif defined(__GNUC__)
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif
@@ -39,7 +36,7 @@ public:
void
testUOE(const Ice::CommunicatorPtr& communicator)
{
- string ref = "uoet:" + getTestEndpoint(communicator, 0);
+ string ref = "uoet:" + TestHelper::getTestEndpoint(communicator->getProperties());
Ice::ObjectPrxPtr base = communicator->stringToProxy(ref);
test(base);
UnexpectedObjectExceptionTestPrxPtr uoet = ICE_UNCHECKED_CAST(UnexpectedObjectExceptionTestPrx, base);
@@ -116,10 +113,11 @@ clear(const DPtr& d)
}
InitialPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
cout << "testing stringToProxy... " << flush;
- string ref = "initial:" + getTestEndpoint(communicator, 0);
+ string ref = "initial:" + helper->getTestEndpoint();
Ice::ObjectPrxPtr base = communicator->stringToProxy(ref);
test(base);
cout << "ok" << endl;
@@ -471,8 +469,10 @@ allTests(const Ice::CommunicatorPtr& communicator)
try
{
- TestIntfPrxPtr p = ICE_CHECKED_CAST(TestIntfPrx,
- communicator->stringToProxy("test:" + getTestEndpoint(communicator, 0)));
+ Ice::PropertiesPtr properties = communicator->getProperties();
+ TestIntfPrxPtr p =
+ ICE_CHECKED_CAST(TestIntfPrx,
+ communicator->stringToProxy("test:" + TestHelper::getTestEndpoint(properties)));
cout << "testing Object factory registration... " << flush;
{
diff --git a/cpp/test/Ice/objects/Client.cpp b/cpp/test/Ice/objects/Client.cpp
index bdc86082d50..677d60e32a8 100644
--- a/cpp/test/Ice/objects/Client.cpp
+++ b/cpp/test/Ice/objects/Client.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
//
@@ -21,15 +21,10 @@
//
#include <DerivedEx.h>
-DEFINE_TEST("client")
-
-#ifdef _MSC_VER
-// For 'Ice::Communicator::addObjectFactory()' deprecation
-#pragma warning( disable : 4996 )
-#endif
-
-#if defined(__GNUC__)
// For 'Ice::Communicator::addObjectFactory()' deprecation
+#if defined(_MSC_VER)
+# pragma warning( disable : 4996 )
+#elif defined(__GNUC__)
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif
@@ -84,13 +79,13 @@ public:
{
return new HI;
}
-
assert(false); // Should never be reached
return 0;
}
};
#endif
+
class MyObjectFactory : public Ice::ObjectFactory
{
public:
@@ -117,9 +112,23 @@ private:
bool _destroyed;
};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+
+#ifndef ICE_CPP11_MAPPING
+ properties->setProperty("Ice.CollectObjects", "1");
+#endif
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
#ifdef ICE_CPP11_MAPPING
communicator->getValueFactoryManager()->add(makeFactory<BI>(), "::Test::B");
communicator->getValueFactoryManager()->add(makeFactory<CI>(), "::Test::C");
@@ -143,35 +152,9 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
communicator->addObjectFactory(new MyObjectFactory(), "TestOF");
#endif
- InitialPrxPtr allTests(const Ice::CommunicatorPtr&);
- InitialPrxPtr initial = allTests(communicator);
+ InitialPrxPtr allTests(Test::TestHelper*);
+ InitialPrxPtr initial = allTests(this);
initial->shutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-# ifdef ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
-#ifndef ICE_CPP11_MAPPING
- initData.properties->setProperty("Ice.CollectObjects", "1");
-#endif
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/objects/Collocated.cpp b/cpp/test/Ice/objects/Collocated.cpp
index acba14e7df0..01a2e3c99a8 100644
--- a/cpp/test/Ice/objects/Collocated.cpp
+++ b/cpp/test/Ice/objects/Collocated.cpp
@@ -8,18 +8,15 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("collocated")
-
-#ifdef _MSC_VER
-// For 'Ice::Communicator::addObjectFactory()' deprecation
-#pragma warning( disable : 4996 )
-#endif
-
-#if defined(__GNUC__)
+//
// For 'Ice::Communicator::addObjectFactory()' deprecation
+//
+#if defined(_MSC_VER)
+# pragma warning( disable : 4996 )
+#elif defined(__GNUC__)
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif
@@ -81,6 +78,7 @@ public:
};
#endif
+
class MyObjectFactory : public Ice::ObjectFactory
{
public:
@@ -106,9 +104,23 @@ private:
bool _destroyed;
};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Collocated : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Collocated::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+#ifndef ICE_CPP11_MAPPING
+ properties->setProperty("Ice.CollectObjects", "1");
+#endif
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+
#ifdef ICE_CPP11_MAPPING
communicator->getValueFactoryManager()->add(makeFactory<BI>(), "::Test::B");
communicator->getValueFactoryManager()->add(makeFactory<CI>(), "::Test::C");
@@ -132,39 +144,15 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
communicator->addObjectFactory(new MyObjectFactory(), "TestOF");
#endif
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(InitialI, adapter), Ice::stringToIdentity("initial"));
adapter->add(ICE_MAKE_SHARED(TestIntfI), Ice::stringToIdentity("test"));
adapter->add(ICE_MAKE_SHARED(UnexpectedObjectExceptionTestI), Ice::stringToIdentity("uoet"));
- InitialPrxPtr allTests(const Ice::CommunicatorPtr&);
- InitialPrxPtr initial = allTests(communicator);
+ InitialPrxPtr allTests(Test::TestHelper*);
+ InitialPrxPtr initial = allTests(this);
// We must call shutdown even in the collocated case for cyclic dependency cleanup
initial->shutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
-#ifndef ICE_CPP11_MAPPING
- initData.properties->setProperty("Ice.CollectObjects", "1");
-#endif
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Collocated)
diff --git a/cpp/test/Ice/objects/Server.cpp b/cpp/test/Ice/objects/Server.cpp
index 0e895811984..05d864a93a0 100644
--- a/cpp/test/Ice/objects/Server.cpp
+++ b/cpp/test/Ice/objects/Server.cpp
@@ -8,11 +8,9 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
using namespace Test;
@@ -52,9 +50,21 @@ public:
};
#endif
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+
#ifdef ICE_CPP11_MAPPING
communicator->getValueFactoryManager()->add(makeFactory<II>(), "::Test::I");
communicator->getValueFactoryManager()->add(makeFactory<JI>(), "::Test::J");
@@ -66,36 +76,15 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
communicator->getValueFactoryManager()->add(factory, "::Test::H");
#endif
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(InitialI, adapter), Ice::stringToIdentity("initial"));
adapter->add(ICE_MAKE_SHARED(TestIntfI), Ice::stringToIdentity("test"));
adapter->add(ICE_MAKE_SHARED(UnexpectedObjectExceptionTestI), Ice::stringToIdentity("uoet"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/objects/TestI.h b/cpp/test/Ice/objects/TestI.h
index b577518a3eb..1061864de50 100644
--- a/cpp/test/Ice/objects/TestI.h
+++ b/cpp/test/Ice/objects/TestI.h
@@ -11,7 +11,6 @@
#define TEST_I_H
#include <Test.h>
-#include <TestCommon.h>
class BI : public Test::B
{
diff --git a/cpp/test/Ice/operations/AllTests.cpp b/cpp/test/Ice/operations/AllTests.cpp
index b107f636c7d..5f0acf61547 100644
--- a/cpp/test/Ice/operations/AllTests.cpp
+++ b/cpp/test/Ice/operations/AllTests.cpp
@@ -9,15 +9,16 @@
#include <Ice/Ice.h>
#include <Ice/Locator.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
Test::MyClassPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
- string ref = "test:" + getTestEndpoint(communicator, 0);
+ Ice::CommunicatorPtr communicator = helper->communicator();
+ string ref = "test:" + helper->getTestEndpoint();
Ice::ObjectPrxPtr base = communicator->stringToProxy(ref);
Test::MyClassPrxPtr cl = ICE_CHECKED_CAST(Test::MyClassPrx, base);
Test::MyDerivedClassPrxPtr derived = ICE_CHECKED_CAST(Test::MyDerivedClassPrx, cl);
diff --git a/cpp/test/Ice/operations/BatchOneways.cpp b/cpp/test/Ice/operations/BatchOneways.cpp
index 4e594aa3ffa..517847e6b53 100644
--- a/cpp/test/Ice/operations/BatchOneways.cpp
+++ b/cpp/test/Ice/operations/BatchOneways.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
diff --git a/cpp/test/Ice/operations/BatchOnewaysAMI.cpp b/cpp/test/Ice/operations/BatchOnewaysAMI.cpp
index c77cd07789e..47709bd958a 100644
--- a/cpp/test/Ice/operations/BatchOnewaysAMI.cpp
+++ b/cpp/test/Ice/operations/BatchOnewaysAMI.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
diff --git a/cpp/test/Ice/operations/Client.cpp b/cpp/test/Ice/operations/Client.cpp
index 29452d3d0c4..a3efb33e179 100644
--- a/cpp/test/Ice/operations/Client.cpp
+++ b/cpp/test/Ice/operations/Client.cpp
@@ -8,18 +8,34 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- Test::MyClassPrxPtr allTests(const Ice::CommunicatorPtr&);
- Test::MyClassPrxPtr myClass = allTests(communicator);
+public:
+
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
+{
+ //
+ // In this test, we need at least two threads in the
+ // client side thread pool for nested AMI.
+ //
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.ThreadPool.Client.Size", "2");
+ properties->setProperty("Ice.ThreadPool.Client.SizeWarn", "0");
+ properties->setProperty("Ice.BatchAutoFlushSize", "100");
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+
+ Test::MyClassPrxPtr allTests(Test::TestHelper*);
+ Test::MyClassPrxPtr myClass = allTests(this);
myClass->shutdown();
cout << "testing server shutdown... " << flush;
@@ -35,38 +51,6 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
{
cout << "ok" << endl;
}
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-# ifdef ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
-
- try
- {
- //
- // In this test, we need at least two threads in the
- // client side thread pool for nested AMI.
- //
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.ThreadPool.Client.Size", "2");
- initData.properties->setProperty("Ice.ThreadPool.Client.SizeWarn", "0");
- initData.properties->setProperty("Ice.BatchAutoFlushSize", "100");
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/operations/Collocated.cpp b/cpp/test/Ice/operations/Collocated.cpp
index 2b2020e63fc..c3833fc1729 100644
--- a/cpp/test/Ice/operations/Collocated.cpp
+++ b/cpp/test/Ice/operations/Collocated.cpp
@@ -8,17 +8,25 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("collocated")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Collocated : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Collocated::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.BatchAutoFlushSize", "100");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
communicator->getProperties()->setProperty("TestAdapter.AdapterId", "test");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::ObjectPrxPtr prx = adapter->add(ICE_MAKE_SHARED(MyDerivedClassI), Ice::stringToIdentity("test"));
@@ -26,31 +34,8 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
test(!prx->ice_getConnection());
- Test::MyClassPrxPtr allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
-
- return EXIT_SUCCESS;
+ Test::MyClassPrxPtr allTests(Test::TestHelper*);
+ allTests(this);
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.BatchAutoFlushSize", "100");
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Collocated)
diff --git a/cpp/test/Ice/operations/Oneways.cpp b/cpp/test/Ice/operations/Oneways.cpp
index 4ceef346381..f88f26a4877 100644
--- a/cpp/test/Ice/operations/Oneways.cpp
+++ b/cpp/test/Ice/operations/Oneways.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
diff --git a/cpp/test/Ice/operations/OnewaysAMI.cpp b/cpp/test/Ice/operations/OnewaysAMI.cpp
index c686284c92a..1338071e166 100644
--- a/cpp/test/Ice/operations/OnewaysAMI.cpp
+++ b/cpp/test/Ice/operations/OnewaysAMI.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
diff --git a/cpp/test/Ice/operations/Server.cpp b/cpp/test/Ice/operations/Server.cpp
index 6eb60873c8c..988d818ac46 100644
--- a/cpp/test/Ice/operations/Server.cpp
+++ b/cpp/test/Ice/operations/Server.cpp
@@ -8,51 +8,36 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
{
- string endpt = getTestEndpoint(communicator, 0);
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", endpt);
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ //
+ // Its possible to have batch oneway requests dispatched after
+ // the adapter is deactivated due to thread scheduling so we
+ // supress this warning.
+ //
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(MyDerivedClassI), Ice::stringToIdentity("test"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- //
- // Its possible to have batch oneway requests dispatched after
- // the adapter is deactivated due to thread scheduling so we
- // supress this warning.
- //
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/operations/ServerAMD.cpp b/cpp/test/Ice/operations/ServerAMD.cpp
index 088f6e003a7..83a8675f62b 100644
--- a/cpp/test/Ice/operations/ServerAMD.cpp
+++ b/cpp/test/Ice/operations/ServerAMD.cpp
@@ -8,51 +8,36 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestAMDI.h>
-DEFINE_TEST("serveramd")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class ServerAMD : public Test::TestHelper
{
- string endpt = getTestEndpoint(communicator, 0);
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", endpt);
+public:
+
+ void run(int, char**);
+};
+
+void
+ServerAMD::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ //
+ // Its possible to have batch oneway requests dispatched after
+ // the adapter is deactivated due to thread scheduling so we
+ // supress this warning.
+ //
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(MyDerivedClassI), Ice::stringToIdentity("test"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- //
- // Its possible to have batch oneway requests dispatched after
- // the adapter is deactivated due to thread scheduling so we
- // supress this warning.
- //
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(ServerAMD)
diff --git a/cpp/test/Ice/operations/TestAMDI.cpp b/cpp/test/Ice/operations/TestAMDI.cpp
index 83ea89e6eaf..55f0c53023f 100644
--- a/cpp/test/Ice/operations/TestAMDI.cpp
+++ b/cpp/test/Ice/operations/TestAMDI.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <TestAMDI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <functional>
#include <iterator>
diff --git a/cpp/test/Ice/operations/TestAMDI.h b/cpp/test/Ice/operations/TestAMDI.h
index 4628e1ae54b..afd23239048 100644
--- a/cpp/test/Ice/operations/TestAMDI.h
+++ b/cpp/test/Ice/operations/TestAMDI.h
@@ -12,7 +12,6 @@
#include <IceUtil/Thread.h>
#include <TestAMD.h>
-#include <TestCommon.h>
class MyDerivedClassI : public Test::MyDerivedClass
{
diff --git a/cpp/test/Ice/operations/TestI.cpp b/cpp/test/Ice/operations/TestI.cpp
index 963ff2885d1..96651a25d4b 100644
--- a/cpp/test/Ice/operations/TestI.cpp
+++ b/cpp/test/Ice/operations/TestI.cpp
@@ -10,7 +10,7 @@
#include <Ice/Ice.h>
#include <IceUtil/IceUtil.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <functional>
#include <iterator>
diff --git a/cpp/test/Ice/operations/TestI.h b/cpp/test/Ice/operations/TestI.h
index 94ac7b0f8ff..2d14f50b990 100644
--- a/cpp/test/Ice/operations/TestI.h
+++ b/cpp/test/Ice/operations/TestI.h
@@ -11,7 +11,6 @@
#define TEST_I_H
#include <Test.h>
-#include <TestCommon.h>
class MyDerivedClassI : public Test::MyDerivedClass
{
diff --git a/cpp/test/Ice/operations/Twoways.cpp b/cpp/test/Ice/operations/Twoways.cpp
index 88a40ac4d4f..c2222899420 100644
--- a/cpp/test/Ice/operations/Twoways.cpp
+++ b/cpp/test/Ice/operations/Twoways.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <limits>
@@ -1753,8 +1753,10 @@ twoways(const Ice::CommunicatorPtr& communicator, const Test::MyClassPrxPtr& p)
ctx["two"] = "TWO";
ctx["three"] = "THREE";
- Test::MyClassPrxPtr p = ICE_UNCHECKED_CAST(Test::MyClassPrx,
- ic->stringToProxy("test:" + getTestEndpoint(ic, 0)));
+ Ice::PropertiesPtr properties = ic->getProperties();
+ Test::MyClassPrxPtr p =
+ ICE_UNCHECKED_CAST(Test::MyClassPrx,
+ ic->stringToProxy("test:" + TestHelper::getTestEndpoint(properties, 0)));
ic->getImplicitContext()->setContext(ctx);
test(ic->getImplicitContext()->getContext() == ctx);
diff --git a/cpp/test/Ice/operations/TwowaysAMI.cpp b/cpp/test/Ice/operations/TwowaysAMI.cpp
index ff8abb7897a..47451f5c41a 100644
--- a/cpp/test/Ice/operations/TwowaysAMI.cpp
+++ b/cpp/test/Ice/operations/TwowaysAMI.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
//
@@ -2475,8 +2475,10 @@ twowaysAMI(const Ice::CommunicatorPtr& communicator, const Test::MyClassPrxPtr&
ctx["two"] = "TWO";
ctx["three"] = "THREE";
+ Ice::PropertiesPtr properties = ic->getProperties();
Test::MyClassPrxPtr p =
- ICE_UNCHECKED_CAST(Test::MyClassPrx, ic->stringToProxy("test:" + getTestEndpoint(ic, 0)));
+ ICE_UNCHECKED_CAST(Test::MyClassPrx,
+ ic->stringToProxy("test:" + TestHelper::getTestEndpoint(properties)));
ic->getImplicitContext()->setContext(ctx);
test(ic->getImplicitContext()->getContext() == ctx);
{
diff --git a/cpp/test/Ice/optional/AllTests.cpp b/cpp/test/Ice/optional/AllTests.cpp
index ff23f109af9..8a19969ac03 100644
--- a/cpp/test/Ice/optional/AllTests.cpp
+++ b/cpp/test/Ice/optional/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#ifdef ICE_CPP11_MAPPING
@@ -371,18 +371,23 @@ typedef IceUtil::Handle<FactoryI> FactoryIPtr;
#endif
InitialPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator, bool)
+allTests(Test::TestHelper* helper, bool)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
FactoryIPtr factory = ICE_MAKE_SHARED(FactoryI);
#ifdef ICE_CPP11_MAPPING
- communicator->getValueFactoryManager()->add([factory](const string& typeId) { return factory->create(typeId); }, "");
+ communicator->getValueFactoryManager()->add([factory](const string& typeId)
+ {
+ return factory->create(typeId);
+ },
+ "");
#else
communicator->getValueFactoryManager()->add(factory, "");
#endif
cout << "testing stringToProxy... " << flush;
- string ref = "initial:" + getTestEndpoint(communicator, 0);
+ string ref = "initial:" + helper->getTestEndpoint();
Ice::ObjectPrxPtr base = communicator->stringToProxy(ref);
test(base);
cout << "ok" << endl;
diff --git a/cpp/test/Ice/optional/Client.cpp b/cpp/test/Ice/optional/Client.cpp
index cd025c208ca..c4afb448df3 100644
--- a/cpp/test/Ice/optional/Client.cpp
+++ b/cpp/test/Ice/optional/Client.cpp
@@ -8,46 +8,30 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- InitialPrxPtr allTests(const Ice::CommunicatorPtr&, bool);
- InitialPrxPtr initial = allTests(communicator, false);
- initial->shutdown();
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-# ifdef ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
+ void run(int, char**);
+};
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
+void
+Client::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
#ifndef ICE_CPP11_MAPPING
- initData.properties->setProperty("Ice.CollectObjects", "1");
+ properties->setProperty("Ice.CollectObjects", "1");
#endif
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ InitialPrxPtr allTests(Test::TestHelper*, bool);
+ InitialPrxPtr initial = allTests(this, false);
+ initial->shutdown();
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/optional/Server.cpp b/cpp/test/Ice/optional/Server.cpp
index e92c7e9a15b..b5de88b1c5b 100644
--- a/cpp/test/Ice/optional/Server.cpp
+++ b/cpp/test/Ice/optional/Server.cpp
@@ -8,56 +8,33 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server");
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+#ifndef ICE_CPP11_MAPPING
+ properties->setProperty("Ice.CollectObjects", "1");
+#endif
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(InitialI), Ice::stringToIdentity("initial"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
-#ifndef ICE_CPP11_MAPPING
- initData.properties->setProperty("Ice.CollectObjects", "1");
-#endif
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/optional/ServerAMD.cpp b/cpp/test/Ice/optional/ServerAMD.cpp
index aa93c5873eb..3da6271f1a5 100644
--- a/cpp/test/Ice/optional/ServerAMD.cpp
+++ b/cpp/test/Ice/optional/ServerAMD.cpp
@@ -8,56 +8,32 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestAMDI.h>
-DEFINE_TEST("serveramd")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class ServerAMD : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+ServerAMD::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+#ifndef ICE_CPP11_MAPPING
+ properties->setProperty("Ice.CollectObjects", "1");
+#endif
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(InitialI), Ice::stringToIdentity("initial"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
-#ifndef ICE_CPP11_MAPPING
- initData.properties->setProperty("Ice.CollectObjects", "1");
-#endif
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
-
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(ServerAMD)
diff --git a/cpp/test/Ice/optional/msbuild/server/server.vcxproj b/cpp/test/Ice/optional/msbuild/server/server.vcxproj
index 84083e414f2..a2f3675c0f6 100644
--- a/cpp/test/Ice/optional/msbuild/server/server.vcxproj
+++ b/cpp/test/Ice/optional/msbuild/server/server.vcxproj
@@ -40,7 +40,7 @@
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
- <ProjectGuid>{76FA117F-D41E-4136-933C-DE93E74AE88B}</ProjectGuid>
+ <ProjectGuid>{E64764EB-2B8E-454F-9635-0729D07CCA24}</ProjectGuid>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
diff --git a/cpp/test/Ice/plugin/Client.cpp b/cpp/test/Ice/plugin/Client.cpp
index b4600d2cc55..a78a3ea50a4 100644
--- a/cpp/test/Ice/plugin/Client.cpp
+++ b/cpp/test/Ice/plugin/Client.cpp
@@ -8,12 +8,10 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-DEFINE_TEST("client")
-
namespace
{
@@ -23,8 +21,8 @@ class MyPlugin : public Ice::Plugin
public:
MyPlugin() :
- _initialized(false),
- _destroyed(false)
+ _initialized(false),
+ _destroyed(false)
{
}
@@ -59,7 +57,6 @@ public:
private:
- const Ice::CommunicatorPtr _communicator;
bool _initialized;
bool _destroyed;
};
@@ -78,16 +75,22 @@ createMyPlugin(const ::Ice::CommunicatorPtr&, const std::string&, const ::Ice::S
}
-int
-main(int argc, char* argv[])
+class Client : public Test::TestHelper
{
- int status = EXIT_SUCCESS;
- Ice::CommunicatorPtr communicator;
+public:
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
+{
if(argc < 2)
{
- cerr << "usage: " << argv[0] << " <plugindir>";
- return 1;
+ ostringstream os;
+ os << "usage: " << argv[0] << " <plugindir>";
+ cerr << os.str() << endl;
+ throw invalid_argument(os.str());
}
//
@@ -106,8 +109,7 @@ main(int argc, char* argv[])
cout << "testing static plugin factory... " << flush;
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
MyPluginPtr plugin = ICE_DYNAMIC_CAST(MyPlugin, communicator->getPluginManager()->getPlugin("Static1"));
test(plugin && plugin->isInitialized());
try
@@ -117,23 +119,22 @@ main(int argc, char* argv[])
catch(const Ice::NotRegisteredException&)
{
}
- communicator->destroy();
}
catch(const Ice::Exception& ex)
{
cerr << ex << endl;
test(false);
}
+
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.Static2", "1");
- communicator = Ice::initialize(argc, argv, initData);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.Static2", "1");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
MyPluginPtr plugin = ICE_DYNAMIC_CAST(MyPlugin, communicator->getPluginManager()->getPlugin("Static1"));
test(plugin && plugin->isInitialized());
plugin = ICE_DYNAMIC_CAST(MyPlugin, communicator->getPluginManager()->getPlugin("Static2"));
test(plugin && plugin->isInitialized());
- communicator->destroy();
}
catch(const Ice::Exception& ex)
{
@@ -145,16 +146,16 @@ main(int argc, char* argv[])
cout << "testing a simple plug-in... " << flush;
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.Test", pluginDir + "TestPlugin:createPlugin");
- communicator = Ice::initialize(argc, argv, initData);
- communicator->destroy();
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.Test", pluginDir + "TestPlugin:createPlugin");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
}
catch(const Ice::Exception& ex)
{
cerr << ex << endl;
test(false);
}
+
try
{
int majorVersion = (ICE_INT_VERSION / 10000);
@@ -172,44 +173,45 @@ main(int argc, char* argv[])
os << 'a' << (patchVersion - 50);
}
os << ":createPlugin";
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.Test", os.str());
- communicator = Ice::initialize(argc, argv, initData);
- communicator->destroy();
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.Test", os.str());
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
}
catch(const Ice::Exception& ex)
{
cerr << ex << endl;
test(false);
}
+
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.Test", pluginDir + "TestPlugin,10:createPlugin");
- communicator = Ice::initialize(argc, argv, initData);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.Test", pluginDir + "TestPlugin,10:createPlugin");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
test(false);
}
catch(const Ice::PluginInitializationException&)
{
}
+
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.Test", "TestPlugin,1.0.0:createPlugin");
- communicator = Ice::initialize(argc, argv, initData);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.Test", "TestPlugin,1.0.0:createPlugin");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
test(false);
}
catch(const Ice::PluginInitializationException&)
{
}
+
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.Test",
- pluginDir + "TestPlugin:createPluginWithArgs 'C:\\Program Files\\' --DatabasePath "
- "'C:\\Program Files\\Application\\db'" );
- communicator = Ice::initialize(argc, argv, initData);
- communicator->destroy();
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.Test",
+ pluginDir + "TestPlugin:createPluginWithArgs 'C:\\Program Files\\' --DatabasePath "
+ "'C:\\Program Files\\Application\\db'" );
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
}
catch(const Ice::Exception& ex)
{
@@ -219,31 +221,28 @@ main(int argc, char* argv[])
cout << "ok" << endl;
cout << "testing a simple plug-in that fails to initialize... " << flush;
- communicator = 0;
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.Test", pluginDir + "TestPlugin:createPluginInitializeFail");
- communicator = Ice::initialize(argc, argv, initData);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.Test", pluginDir + "TestPlugin:createPluginInitializeFail");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
test(false);
}
catch(const Ice::PluginInitializationException& ex)
{
test(ex.reason.find("PluginInitializeFailExeption") > 0);
}
- test(!communicator);
cout << "ok" << endl;
cout << "testing plug-in load order... " << flush;
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.PluginOne", pluginDir + "TestPlugin:createPluginOne");
- initData.properties->setProperty("Ice.Plugin.PluginTwo", pluginDir + "TestPlugin:createPluginTwo");
- initData.properties->setProperty("Ice.Plugin.PluginThree", pluginDir + "TestPlugin:createPluginThree");
- initData.properties->setProperty("Ice.PluginLoadOrder", "PluginOne, PluginTwo"); // Exclude PluginThree
- communicator = Ice::initialize(argc, argv, initData);
- communicator->destroy();
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.PluginOne", pluginDir + "TestPlugin:createPluginOne");
+ properties->setProperty("Ice.Plugin.PluginTwo", pluginDir + "TestPlugin:createPluginTwo");
+ properties->setProperty("Ice.Plugin.PluginThree", pluginDir + "TestPlugin:createPluginThree");
+ properties->setProperty("Ice.PluginLoadOrder", "PluginOne, PluginTwo"); // Exclude PluginThree
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
}
catch(const Ice::Exception& ex)
{
@@ -255,13 +254,13 @@ main(int argc, char* argv[])
cout << "testing plug-in manager... " << flush;
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.PluginOne", pluginDir + "TestPlugin:createPluginOne");
- initData.properties->setProperty("Ice.Plugin.PluginTwo", pluginDir + "TestPlugin:createPluginTwo");
- initData.properties->setProperty("Ice.Plugin.PluginThree", pluginDir + "TestPlugin:createPluginThree");
- initData.properties->setProperty("Ice.PluginLoadOrder", "PluginOne, PluginTwo");
- initData.properties->setProperty("Ice.InitPlugins", "0");
- communicator = Ice::initialize(argc, argv, initData);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.PluginOne", pluginDir + "TestPlugin:createPluginOne");
+ properties->setProperty("Ice.Plugin.PluginTwo", pluginDir + "TestPlugin:createPluginTwo");
+ properties->setProperty("Ice.Plugin.PluginThree", pluginDir + "TestPlugin:createPluginThree");
+ properties->setProperty("Ice.PluginLoadOrder", "PluginOne, PluginTwo");
+ properties->setProperty("Ice.InitPlugins", "0");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
Ice::PluginManagerPtr pm = communicator->getPluginManager();
test(pm->getPlugin("PluginOne"));
@@ -288,23 +287,21 @@ main(int argc, char* argv[])
cout << "ok" << endl;
cout << "testing destroy when a plug-in fails to initialize... " << flush;
- communicator = 0;
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.PluginOneFail", pluginDir + "TestPlugin:createPluginOneFail");
- initData.properties->setProperty("Ice.Plugin.PluginTwoFail", pluginDir + "TestPlugin:createPluginTwoFail");
- initData.properties->setProperty("Ice.Plugin.PluginThreeFail", pluginDir + "TestPlugin:createPluginThreeFail");
- initData.properties->setProperty("Ice.PluginLoadOrder", "PluginOneFail, PluginTwoFail, PluginThreeFail");
- communicator = Ice::initialize(argc, argv, initData);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.PluginOneFail", pluginDir + "TestPlugin:createPluginOneFail");
+ properties->setProperty("Ice.Plugin.PluginTwoFail", pluginDir + "TestPlugin:createPluginTwoFail");
+ properties->setProperty("Ice.Plugin.PluginThreeFail", pluginDir + "TestPlugin:createPluginThreeFail");
+ properties->setProperty("Ice.PluginLoadOrder", "PluginOneFail, PluginTwoFail, PluginThreeFail");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
test(false);
}
catch(const Ice::PluginInitializationException& ex)
{
test(ex.reason.find("PluginInitializeFailExeption") > 0);
}
- test(!communicator);
cout << "ok" << endl;
-
- return status;
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/plugin/Plugin.cpp b/cpp/test/Ice/plugin/Plugin.cpp
index 73aaf474990..4ff2f7bccd4 100644
--- a/cpp/test/Ice/plugin/Plugin.cpp
+++ b/cpp/test/Ice/plugin/Plugin.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
diff --git a/cpp/test/Ice/properties/Client.cpp b/cpp/test/Ice/properties/Client.cpp
index afb70b12dfa..368b789eeef 100644
--- a/cpp/test/Ice/properties/Client.cpp
+++ b/cpp/test/Ice/properties/Client.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <fstream>
using namespace std;
@@ -18,9 +18,10 @@ namespace
string configPath;
-class Client : public Ice::Application
+class TestApplication : public Ice::Application
{
public:
+
virtual int
run(int, char*[])
{
@@ -31,19 +32,21 @@ public:
test(properties->getProperty("Ice.ProgramName") == "PropertiesClient");
test(appName() == properties->getProperty("Ice.ProgramName"));
return EXIT_SUCCESS;
- };
+ }
};
}
-int
-main(int argc, char* argv[])
+class Client : public Test::TestHelper
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
+public:
+
+ void run(int, char**);
+};
+void
+Client::run(int argc, char** argv)
+{
ifstream in("./config/configPath");
if(!in)
{
@@ -54,7 +57,7 @@ main(int argc, char* argv[])
{
test(false);
}
- try
+
{
cout << "testing load properties from UTF-8 path... " << flush;
Ice::PropertiesPtr properties = Ice::createProperties();
@@ -65,22 +68,15 @@ main(int argc, char* argv[])
test(properties->getProperty("Ice.ProgramName") == "PropertiesClient");
cout << "ok" << endl;
}
- catch(const Ice::Exception& ex)
+
{
- cerr << ex << endl;
- return EXIT_FAILURE;
+ cout << "testing load properties from UTF-8 path using Ice::Application... " << flush;
+ TestApplication app;
+ app.main(argc, argv, configPath.c_str());
+ cout << "ok" << endl;
}
- cout << "testing load properties from UTF-8 path using Ice::Application... " << flush;
- Client c;
- c.main(argc, argv, configPath.c_str());
- cout << "ok" << endl;
-
- try
{
- //
- // Try to load multiple config files.
- //
cout << "testing using Ice.Config with multiple config files... " << flush;
Ice::PropertiesPtr properties;
Ice::StringSeq args;
@@ -91,13 +87,7 @@ main(int argc, char* argv[])
test(properties->getProperty("Config3") == "Config3");
cout << "ok" << endl;
}
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
- try
{
cout << "testing configuration file escapes... " << flush;
Ice::PropertiesPtr properties;
@@ -105,42 +95,37 @@ main(int argc, char* argv[])
args.push_back("--Ice.Config=config/escapes.cfg");
properties = Ice::createProperties(args);
- string props[] = { "Foo\tBar", "3",
- "Foo\\tBar", "4",
- "Escape\\ Space", "2",
- "Prop1", "1",
- "Prop2", "2",
- "Prop3", "3",
- "My Prop1", "1",
- "My Prop2", "2",
- "My.Prop1", "a property",
- "My.Prop2", "a property",
- "My.Prop3", " a property ",
- "My.Prop4", " a property ",
- "My.Prop5", "a \\ property",
- "foo=bar", "1",
- "foo#bar", "2",
- "foo bar", "3",
- "A", "1",
- "B", "2 3 4",
- "C", "5=#6",
- "AServer", "\\\\server\\dir",
- "BServer", "\\server\\dir",
- ""
- } ;
+ string props[] = {
+ "Foo\tBar", "3",
+ "Foo\\tBar", "4",
+ "Escape\\ Space", "2",
+ "Prop1", "1",
+ "Prop2", "2",
+ "Prop3", "3",
+ "My Prop1", "1",
+ "My Prop2", "2",
+ "My.Prop1", "a property",
+ "My.Prop2", "a property",
+ "My.Prop3", " a property ",
+ "My.Prop4", " a property ",
+ "My.Prop5", "a \\ property",
+ "foo=bar", "1",
+ "foo#bar", "2",
+ "foo bar", "3",
+ "A", "1",
+ "B", "2 3 4",
+ "C", "5=#6",
+ "AServer", "\\\\server\\dir",
+ "BServer", "\\server\\dir",
+ ""
+ };
for(size_t i = 0; props[i] != ""; i += 2)
{
test(properties->getProperty(props[i]) == props[i + 1]);
}
-
cout << "ok" << endl;
}
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/proxy/AllTests.cpp b/cpp/test/Ice/proxy/AllTests.cpp
index bfbe6882776..e82b881397b 100644
--- a/cpp/test/Ice/proxy/AllTests.cpp
+++ b/cpp/test/Ice/proxy/AllTests.cpp
@@ -10,17 +10,18 @@
#include <Ice/Ice.h>
#include <Ice/Locator.h>
#include <Ice/Router.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
Test::MyClassPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
const string protocol = communicator->getProperties()->getProperty("Ice.Default.Protocol");
- const string endp = getTestEndpoint(communicator, 0);
+ const string endp = helper->getTestEndpoint();
cout << "testing stringToProxy... " << flush;
string ref = "test:" + endp;
diff --git a/cpp/test/Ice/proxy/Client.cpp b/cpp/test/Ice/proxy/Client.cpp
index 8cbbe2873b5..0e4155bf810 100644
--- a/cpp/test/Ice/proxy/Client.cpp
+++ b/cpp/test/Ice/proxy/Client.cpp
@@ -8,44 +8,26 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- Test::MyClassPrxPtr allTests(const Ice::CommunicatorPtr&);
- Test::MyClassPrxPtr myClass = allTests(communicator);
-
- myClass->shutdown();
+public:
- return EXIT_SUCCESS;
-}
+ void run(int, char**);
+};
-int
-main(int argc, char* argv[])
+void
+Client::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-# ifdef ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ Test::MyClassPrxPtr allTests(Test::TestHelper*);
+ Test::MyClassPrxPtr myClass = allTests(this);
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+ myClass->shutdown();
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/proxy/Collocated.cpp b/cpp/test/Ice/proxy/Collocated.cpp
index ac4fe5d0f91..ebf2f911398 100644
--- a/cpp/test/Ice/proxy/Collocated.cpp
+++ b/cpp/test/Ice/proxy/Collocated.cpp
@@ -8,46 +8,31 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("collocated")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Collocated : public Test::TestHelper
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+public:
+
+ void run(int, char**);
+};
+
+void
+Collocated::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(MyDerivedClassI), Ice::stringToIdentity("test"));
//adapter->activate(); // Don't activate OA to ensure collocation is used.
- Test::MyClassPrxPtr allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
-
- return EXIT_SUCCESS;
+ Test::MyClassPrxPtr allTests(Test::TestHelper*);
+ allTests(this);
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Collocated)
diff --git a/cpp/test/Ice/proxy/Server.cpp b/cpp/test/Ice/proxy/Server.cpp
index 544dc0e3cc5..9ba1190c83b 100644
--- a/cpp/test/Ice/proxy/Server.cpp
+++ b/cpp/test/Ice/proxy/Server.cpp
@@ -8,43 +8,30 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(MyDerivedClassI), Ice::stringToIdentity("test"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/proxy/ServerAMD.cpp b/cpp/test/Ice/proxy/ServerAMD.cpp
index ef1403f489b..1f37b96fb16 100644
--- a/cpp/test/Ice/proxy/ServerAMD.cpp
+++ b/cpp/test/Ice/proxy/ServerAMD.cpp
@@ -8,45 +8,32 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestAMDI.h>
-DEFINE_TEST("serveramd")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class ServerAMD : public Test::TestHelper
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+public:
+
+ void run(int, char**);
+};
+
+void
+ServerAMD::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Connections", "0");
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(MyDerivedClassI), Ice::stringToIdentity("test"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(ServerAMD)
diff --git a/cpp/test/Ice/proxy/TestAMDI.cpp b/cpp/test/Ice/proxy/TestAMDI.cpp
index fbc89418469..ce8785d3ea6 100644
--- a/cpp/test/Ice/proxy/TestAMDI.cpp
+++ b/cpp/test/Ice/proxy/TestAMDI.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <TestAMDI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
diff --git a/cpp/test/Ice/proxy/TestI.cpp b/cpp/test/Ice/proxy/TestI.cpp
index 464e9dd3179..f2e6082f530 100644
--- a/cpp/test/Ice/proxy/TestI.cpp
+++ b/cpp/test/Ice/proxy/TestI.cpp
@@ -9,7 +9,6 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
using namespace std;
diff --git a/cpp/test/Ice/retry/AllTests.cpp b/cpp/test/Ice/retry/AllTests.cpp
index 7001e244641..4b6fba39b02 100644
--- a/cpp/test/Ice/retry/AllTests.cpp
+++ b/cpp/test/Ice/retry/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <InstrumentationI.h>
#include <SystemFailure.h>
diff --git a/cpp/test/Ice/retry/Client.cpp b/cpp/test/Ice/retry/Client.cpp
index ead1c6e6c64..63ef0a4a905 100644
--- a/cpp/test/Ice/retry/Client.cpp
+++ b/cpp/test/Ice/retry/Client.cpp
@@ -8,63 +8,54 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <InstrumentationI.h>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator, const Ice::CommunicatorPtr& communicator2)
-{
- RetryPrxPtr allTests(const Ice::CommunicatorPtr&, const Ice::CommunicatorPtr&, const string&);
- RetryPrxPtr retry = allTests(communicator, communicator2, "retry:" + getTestEndpoint(communicator, 0));
- retry->shutdown();
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
+class Client : public Test::TestHelper
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- try
- {
- initCounts();
+public:
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.observer = getObserver();
- //
- // This test kills connections, so we don't want warnings.
- //
- initData.properties->setProperty("Ice.Warn.Connections", "0");
+ void run(int, char**);
+};
- // Disable PrintStackTraces otherwise the test can fail on Windows/Debug
- initData.properties->setProperty("Ice.PrintStackTraces", "0");
-
- initData.properties->setProperty("Ice.RetryIntervals", "0 1 10 1");
- Ice::CommunicatorHolder ich(argc, argv, initData);
+void
+Client::run(int argc, char** argv)
+{
+ initCounts();
+
+ Ice::InitializationData initData;
+ initData.properties = createTestProperties(argc, argv);
+ initData.observer = getObserver();
+ //
+ // This test kills connections, so we don't want warnings.
+ //
+ initData.properties->setProperty("Ice.Warn.Connections", "0");
+
+ // Disable PrintStackTraces otherwise the test can fail on Windows/Debug
+ initData.properties->setProperty("Ice.PrintStackTraces", "0");
+
+ initData.properties->setProperty("Ice.RetryIntervals", "0 1 10 1");
+ Ice::CommunicatorHolder ich1 = Ice::initialize(argc, argv, initData);
+
+ //
+ // Configure a second communicator for the invocation timeout
+ // + retry test, we need to configure a large retry interval
+ // to avoid time-sensitive failures.
+ //
+ initData.properties = initData.properties->clone();
+ initData.properties->setProperty("Ice.RetryIntervals", "0 1 10000");
+ initData.observer = getObserver();
+ Ice::CommunicatorHolder ich2 = Ice::initialize(initData);
- //
- // Configure a second communicator for the invocation timeout
- // + retry test, we need to configure a large retry interval
- // to avoid time-sensitive failures.
- //
- Ice::InitializationData initData2;
- initData2.properties = initData.properties->clone();
- initData2.properties->setProperty("Ice.RetryIntervals", "0 1 10000");
- initData2.observer = getObserver();
- Ice::CommunicatorHolder ich2(initData2);
- return run(argc, argv, ich.communicator(), ich2.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+ RetryPrxPtr allTests(const Ice::CommunicatorPtr&, const Ice::CommunicatorPtr&, const string&);
+ RetryPrxPtr retry = allTests(ich1.communicator(),
+ ich2.communicator(),
+ "retry:" + TestHelper::getTestEndpoint(ich1->getProperties()));
+ retry->shutdown();
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/retry/Collocated.cpp b/cpp/test/Ice/retry/Collocated.cpp
index d77c6b65de0..00a90a31b77 100644
--- a/cpp/test/Ice/retry/Collocated.cpp
+++ b/cpp/test/Ice/retry/Collocated.cpp
@@ -8,13 +8,11 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <TestI.h>
#include <InstrumentationI.h>
-DEFINE_TEST("collocated")
-
using namespace std;
using namespace Test;
@@ -26,59 +24,49 @@ setupObjectAdapter(const Ice::CommunicatorPtr& communicator)
//adapter->activate(); // Don't activate OA to ensure collocation is used.
}
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator, const Ice::CommunicatorPtr& communicator2)
+class Collocated : public Test::TestHelper
{
- setupObjectAdapter(communicator);
- setupObjectAdapter(communicator2);
+public:
- RetryPrxPtr allTests(const Ice::CommunicatorPtr&, const Ice::CommunicatorPtr&, const string&);
- RetryPrxPtr retry = allTests(communicator, communicator2, "retry");
- retry->shutdown();
- return EXIT_SUCCESS;
-}
+ void run(int, char**);
+};
-int
-main(int argc, char* argv[])
+void
+Collocated::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- try
- {
- initCounts();
+ initCounts();
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.observer = getObserver();
+ Ice::InitializationData initData;
+ initData.properties = createTestProperties(argc, argv);
+ initData.observer = getObserver();
- initData.properties->setProperty("Ice.RetryIntervals", "0 1 10 1");
+ initData.properties->setProperty("Ice.RetryIntervals", "0 1 10 1");
- //
- // This test kills connections, so we don't want warnings.
- //
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
+ //
+ // This test kills connections, so we don't want warnings.
+ //
+ initData.properties->setProperty("Ice.Warn.Connections", "0");
+ initData.properties->setProperty("Ice.Warn.Dispatch", "0");
- Ice::CommunicatorHolder ich(argc, argv, initData);
+ Ice::CommunicatorHolder ich1 = Ice::initialize(argc, argv, initData);
- //
- // Configure a second communicator for the invocation timeout
- // + retry test, we need to configure a large retry interval
- // to avoid time-sensitive failures.
- //
- Ice::InitializationData initData2;
- initData2.properties = initData.properties->clone();
- initData2.properties->setProperty("Ice.RetryIntervals", "0 1 10000");
- initData2.observer = getObserver();
+ //
+ // Configure a second communicator for the invocation timeout
+ // + retry test, we need to configure a large retry interval
+ // to avoid time-sensitive failures.
+ //
+ initData.properties = initData.properties->clone();
+ initData.properties->setProperty("Ice.RetryIntervals", "0 1 10000");
+ initData.observer = getObserver();
- Ice::CommunicatorHolder ich2(initData2);
+ Ice::CommunicatorHolder ich2 = Ice::initialize(initData);;
- return run(argc, argv, ich.communicator(), ich2.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+ setupObjectAdapter(ich1.communicator());
+ setupObjectAdapter(ich2.communicator());
+
+ RetryPrxPtr allTests(const Ice::CommunicatorPtr&, const Ice::CommunicatorPtr&, const string&);
+ RetryPrxPtr retry = allTests(ich1.communicator(), ich2.communicator(), "retry");
+ retry->shutdown();
}
+
+DEFINE_TEST(Collocated)
diff --git a/cpp/test/Ice/retry/InstrumentationI.cpp b/cpp/test/Ice/retry/InstrumentationI.cpp
index 60d025cf7d9..6abfb14ac9f 100644
--- a/cpp/test/Ice/retry/InstrumentationI.cpp
+++ b/cpp/test/Ice/retry/InstrumentationI.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
namespace
{
diff --git a/cpp/test/Ice/retry/Server.cpp b/cpp/test/Ice/retry/Server.cpp
index b0bbaef4253..6a0f9b4324b 100644
--- a/cpp/test/Ice/retry/Server.cpp
+++ b/cpp/test/Ice/retry/Server.cpp
@@ -8,46 +8,32 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+ properties->setProperty("Ice.PrintStackTraces", "0");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(RetryI), Ice::stringToIdentity("retry"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
- int status = EXIT_FAILURE;
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
- initData.properties->setProperty("Ice.PrintStackTraces", "0");
- Ice::CommunicatorHolder ich(argc, argv, initData);
- status = run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
- return status;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/servantLocator/AllTests.cpp b/cpp/test/Ice/servantLocator/AllTests.cpp
index 3ca184196a6..73d9afc24ae 100644
--- a/cpp/test/Ice/servantLocator/AllTests.cpp
+++ b/cpp/test/Ice/servantLocator/AllTests.cpp
@@ -8,15 +8,17 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
using namespace Ice;
using namespace Test;
-#if defined(_MSC_VER) && (_MSC_VER >= 1900 && _MSC_VER < 2000) && defined(NDEBUG) && defined(ICE_CPP11_MAPPING)
+//
// Work-around for strange VS2017 15.5 optimizer bug, see ICE-8611
+//
+#if defined(_MSC_VER) && (_MSC_VER >= 1900 && _MSC_VER < 2000) && defined(NDEBUG) && defined(ICE_CPP11_MAPPING)
# pragma optimize("g", off)
#endif
@@ -218,15 +220,18 @@ testExceptions(const TestIntfPrxPtr& obj)
}
}
-#if defined(_MSC_VER) && (_MSC_VER >= 1900 && _MSC_VER < 2000) && defined(NDEBUG) && defined(ICE_CPP11_MAPPING)
+//
// See above
+//
+#if defined(_MSC_VER) && (_MSC_VER >= 1900 && _MSC_VER < 2000) && defined(NDEBUG) && defined(ICE_CPP11_MAPPING)
# pragma optimize("g", on)
#endif
TestIntfPrxPtr
-allTests(const CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
- const string endp = getTestEndpoint(communicator, 0);
+ CommunicatorPtr communicator = helper->communicator();
+ const string endp = helper->getTestEndpoint();
cout << "testing stringToProxy... " << flush;
ObjectPrxPtr base = communicator->stringToProxy("asm:" + endp);
test(base);
@@ -279,8 +284,7 @@ allTests(const CommunicatorPtr& communicator)
obj = ICE_CHECKED_CAST(TestIntfPrx, base);
try
{
- ICE_CHECKED_CAST(TestIntfPrx,
- communicator->stringToProxy("category/unknown:" + getTestEndpoint(communicator, 0)));
+ ICE_CHECKED_CAST(TestIntfPrx, communicator->stringToProxy("category/unknown:" + endp));
}
catch(const ObjectNotExistException&)
{
@@ -294,8 +298,7 @@ allTests(const CommunicatorPtr& communicator)
obj = ICE_CHECKED_CAST(TestIntfPrx, base);
try
{
- ICE_CHECKED_CAST(TestIntfPrx,
- communicator->stringToProxy("anothercategory/unknown:" + getTestEndpoint(communicator, 0)));
+ ICE_CHECKED_CAST(TestIntfPrx, communicator->stringToProxy("anothercategory/unknown:" + endp));
}
catch(const ObjectNotExistException&)
{
diff --git a/cpp/test/Ice/servantLocator/Client.cpp b/cpp/test/Ice/servantLocator/Client.cpp
index 267eb82b4df..c3e360e7f09 100644
--- a/cpp/test/Ice/servantLocator/Client.cpp
+++ b/cpp/test/Ice/servantLocator/Client.cpp
@@ -8,43 +8,26 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- TestIntfPrxPtr allTests(const Ice::CommunicatorPtr&);
- TestIntfPrxPtr obj = allTests(communicator);
- obj->shutdown();
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-# ifdef ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
+ void run(int, char**);
+};
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ TestIntfPrxPtr allTests(Test::TestHelper*);
+ TestIntfPrxPtr obj = allTests(this);
+ obj->shutdown();
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/servantLocator/Collocated.cpp b/cpp/test/Ice/servantLocator/Collocated.cpp
index 6f9b63d5035..7cab9ea5c8b 100644
--- a/cpp/test/Ice/servantLocator/Collocated.cpp
+++ b/cpp/test/Ice/servantLocator/Collocated.cpp
@@ -7,14 +7,11 @@
//
// **********************************************************************
-#include <Ice/Application.h>
#include <ServantLocatorI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <TestI.h>
-DEFINE_TEST("collocated")
-
using namespace std;
using namespace Ice;
@@ -87,11 +84,19 @@ public:
}
};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Collocated : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Collocated::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
communicator->getProperties()->setProperty("Ice.Warn.Dispatch", "0");
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->addServantLocator(ICE_MAKE_SHARED(ServantLocatorI, ""), "");
@@ -99,28 +104,8 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
adapter->add(ICE_MAKE_SHARED(TestI), Ice::stringToIdentity("asm"));
adapter->add(ICE_MAKE_SHARED(TestActivationI), Ice::stringToIdentity("test/activation"));
- Test::TestIntfPrxPtr allTests(const CommunicatorPtr&);
- allTests(communicator);
-
- return EXIT_SUCCESS;
+ Test::TestIntfPrxPtr allTests(Test::TestHelper*);
+ allTests(this);
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Collocated)
diff --git a/cpp/test/Ice/servantLocator/ServantLocatorI.cpp b/cpp/test/Ice/servantLocator/ServantLocatorI.cpp
index 186dd3729ad..9a8cac4b28c 100644
--- a/cpp/test/Ice/servantLocator/ServantLocatorI.cpp
+++ b/cpp/test/Ice/servantLocator/ServantLocatorI.cpp
@@ -13,7 +13,7 @@
#else
# include <Test.h>
#endif
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <stdexcept>
diff --git a/cpp/test/Ice/servantLocator/Server.cpp b/cpp/test/Ice/servantLocator/Server.cpp
index ce5b9bda5fa..6860a8765ce 100644
--- a/cpp/test/Ice/servantLocator/Server.cpp
+++ b/cpp/test/Ice/servantLocator/Server.cpp
@@ -7,13 +7,10 @@
//
// **********************************************************************
-#include <Ice/Application.h>
#include <ServantLocatorI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
using namespace Ice;
@@ -87,10 +84,18 @@ public:
}
};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
communicator->getProperties()->setProperty("Ice.Warn.Dispatch", "0");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
@@ -100,28 +105,8 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
adapter->add(ICE_MAKE_SHARED(TestI), Ice::stringToIdentity("asm"));
adapter->add(ICE_MAKE_SHARED(TestActivationI), Ice::stringToIdentity("test/activation"));
adapter->activate();
- TEST_READY
+ serverReady();
adapter->waitForDeactivate();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/servantLocator/ServerAMD.cpp b/cpp/test/Ice/servantLocator/ServerAMD.cpp
index a55857f0839..0db6585f3da 100644
--- a/cpp/test/Ice/servantLocator/ServerAMD.cpp
+++ b/cpp/test/Ice/servantLocator/ServerAMD.cpp
@@ -7,13 +7,10 @@
//
// **********************************************************************
-#include <Ice/Application.h>
#include <ServantLocatorI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestAMDI.h>
-DEFINE_TEST("serveramd")
-
using namespace std;
using namespace Ice;
@@ -86,10 +83,18 @@ public:
}
};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class ServerAMD : public Test::TestHelper
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+public:
+
+ void run(int, char**);
+};
+
+void
+ServerAMD::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
communicator->getProperties()->setProperty("Ice.Warn.Dispatch", "0");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
@@ -99,28 +104,8 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
adapter->add(ICE_MAKE_SHARED(TestAMDI), Ice::stringToIdentity("asm"));
adapter->add(ICE_MAKE_SHARED(TestActivationI), Ice::stringToIdentity("test/activation"));
adapter->activate();
- TEST_READY
+ serverReady();
adapter->waitForDeactivate();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(ServerAMD)
diff --git a/cpp/test/Ice/servantLocator/msbuild/uwp/collocated/collocated.vcxproj b/cpp/test/Ice/servantLocator/msbuild/uwp/collocated/collocated.vcxproj
index 009a2b9e42b..a659000bca1 100644
--- a/cpp/test/Ice/servantLocator/msbuild/uwp/collocated/collocated.vcxproj
+++ b/cpp/test/Ice/servantLocator/msbuild/uwp/collocated/collocated.vcxproj
@@ -30,7 +30,7 @@
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
- <ProjectGuid>{5B0C8615-BB38-41DE-A2B7-EC0835.0.442}</ProjectGuid>
+ <ProjectGuid>{5B0C8615-BB38-41DE-A2B7-EC0835000000}</ProjectGuid>
<Keyword>DynamicLibrary</Keyword>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
diff --git a/cpp/test/Ice/services/AllTests.cpp b/cpp/test/Ice/services/AllTests.cpp
index 6f2aaf60c4b..c88a66a0fdc 100644
--- a/cpp/test/Ice/services/AllTests.cpp
+++ b/cpp/test/Ice/services/AllTests.cpp
@@ -11,7 +11,7 @@
#include <Glacier2/Glacier2.h>
#include <IceStorm/IceStorm.h>
#include <IceGrid/IceGrid.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -85,8 +85,9 @@ private:
} // Anonymous namespace end
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
{
cout << "Testing Glacier2 stub... " << flush;
char** argv = 0;
@@ -143,7 +144,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
{
cout << "Testing IceGrid stub... " << flush;
- Ice::ObjectPrxPtr base = communicator->stringToProxy("test:" + getTestEndpoint(communicator, 0));
+ Ice::ObjectPrxPtr base = communicator->stringToProxy("test:" + helper->getTestEndpoint());
IceGrid::RegistryPrxPtr registry = ICE_UNCHECKED_CAST(IceGrid::RegistryPrx, base);
IceGrid::AdminSessionPrxPtr session;
IceGrid::AdminPrxPtr admin;
diff --git a/cpp/test/Ice/services/Client.cpp b/cpp/test/Ice/services/Client.cpp
index 70042e447d4..d0da580a3e3 100644
--- a/cpp/test/Ice/services/Client.cpp
+++ b/cpp/test/Ice/services/Client.cpp
@@ -8,40 +8,27 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
using namespace Test;
-DEFINE_TEST("client")
-
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator, const Ice::InitializationData&)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
+ void run(int, char**);
+};
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.NullHandleAbort", "0");
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator(), initData);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+void
+Client::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.NullHandleAbort", "0");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/services/Makefile.mk b/cpp/test/Ice/services/Makefile.mk
index ce4a940bf11..d8c45368959 100644
--- a/cpp/test/Ice/services/Makefile.mk
+++ b/cpp/test/Ice/services/Makefile.mk
@@ -7,6 +7,6 @@
#
# **********************************************************************
-$(test)_dependencies = Glacier2 IceStorm IceGrid Ice TestCommon
+$(test)_dependencies = Glacier2 IceStorm IceGrid TestCommon IceSSL Ice
tests += $(test)
diff --git a/cpp/test/Ice/slicing/exceptions/AllTests.cpp b/cpp/test/Ice/slicing/exceptions/AllTests.cpp
index 5e72d1cc904..27d7060161c 100644
--- a/cpp/test/Ice/slicing/exceptions/AllTests.cpp
+++ b/cpp/test/Ice/slicing/exceptions/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <ClientPrivate.h>
using namespace std;
@@ -369,9 +369,10 @@ class RelayI : public Relay
};
TestIntfPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
- Ice::ObjectPrxPtr obj = communicator->stringToProxy("Test:" + getTestEndpoint(communicator, 0));
+ Ice::CommunicatorPtr communicator = helper->communicator();
+ Ice::ObjectPrxPtr obj = communicator->stringToProxy("Test:" + helper->getTestEndpoint());
TestIntfPrxPtr test = ICE_CHECKED_CAST(TestIntfPrx, obj);
cout << "base... " << flush;
diff --git a/cpp/test/Ice/slicing/exceptions/Client.cpp b/cpp/test/Ice/slicing/exceptions/Client.cpp
index aea5588afb1..7608a75d7ed 100644
--- a/cpp/test/Ice/slicing/exceptions/Client.cpp
+++ b/cpp/test/Ice/slicing/exceptions/Client.cpp
@@ -8,43 +8,26 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
using namespace Test;
-DEFINE_TEST("client")
+class Client : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+void
+Client::run(int argc, char** argv)
{
- TestIntfPrxPtr allTests(const Ice::CommunicatorPtr&);
- TestIntfPrxPtr Test = allTests(communicator);
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ TestIntfPrxPtr allTests(Test::TestHelper*);
+ TestIntfPrxPtr Test = allTests(this);
Test->shutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-# ifdef ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/slicing/exceptions/Server.cpp b/cpp/test/Ice/slicing/exceptions/Server.cpp
index bdd2231a8a9..e9b99711968 100644
--- a/cpp/test/Ice/slicing/exceptions/Server.cpp
+++ b/cpp/test/Ice/slicing/exceptions/Server.cpp
@@ -9,42 +9,29 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-DEFINE_TEST("server")
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+void
+Server::run(int argc, char** argv)
{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
Ice::PropertiesPtr properties = communicator->getProperties();
properties->setProperty("Ice.Warn.Dispatch", "0");
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0) + " -t 2000");
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint() + " -t 2000");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(TestI), Ice::stringToIdentity("Test"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/slicing/exceptions/ServerAMD.cpp b/cpp/test/Ice/slicing/exceptions/ServerAMD.cpp
index b728b9304c9..028c950ba1f 100644
--- a/cpp/test/Ice/slicing/exceptions/ServerAMD.cpp
+++ b/cpp/test/Ice/slicing/exceptions/ServerAMD.cpp
@@ -9,42 +9,29 @@
#include <Ice/Ice.h>
#include <TestAMDI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-DEFINE_TEST("serveramd")
+class ServerAMD : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+void
+ServerAMD::run(int argc, char** argv)
{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
Ice::PropertiesPtr properties = communicator->getProperties();
properties->setProperty("Ice.Warn.Dispatch", "0");
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0) + " -t 2000");
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint() + " -t 2000");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(TestI), Ice::stringToIdentity("Test"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(ServerAMD)
diff --git a/cpp/test/Ice/slicing/exceptions/TestAMDI.cpp b/cpp/test/Ice/slicing/exceptions/TestAMDI.cpp
index 0ba112bbef5..169b40cd0ae 100644
--- a/cpp/test/Ice/slicing/exceptions/TestAMDI.cpp
+++ b/cpp/test/Ice/slicing/exceptions/TestAMDI.cpp
@@ -9,7 +9,7 @@
#include <TestAMDI.h>
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace Test;
using namespace std;
diff --git a/cpp/test/Ice/slicing/exceptions/TestI.cpp b/cpp/test/Ice/slicing/exceptions/TestI.cpp
index 0a9f23b26dc..28ce24af15a 100644
--- a/cpp/test/Ice/slicing/exceptions/TestI.cpp
+++ b/cpp/test/Ice/slicing/exceptions/TestI.cpp
@@ -9,7 +9,7 @@
#include <TestI.h>
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace Test;
diff --git a/cpp/test/Ice/slicing/exceptions/TestI.h b/cpp/test/Ice/slicing/exceptions/TestI.h
index 261bf80870d..1e429d97323 100644
--- a/cpp/test/Ice/slicing/exceptions/TestI.h
+++ b/cpp/test/Ice/slicing/exceptions/TestI.h
@@ -11,7 +11,6 @@
#define TESTI_H
#include <ServerPrivate.h>
-#include <TestCommon.h>
class TestI : public virtual Test::TestIntf
{
diff --git a/cpp/test/Ice/slicing/objects/AllTests.cpp b/cpp/test/Ice/slicing/objects/AllTests.cpp
index 3cecc2f4b18..9ca6c17e42b 100644
--- a/cpp/test/Ice/slicing/objects/AllTests.cpp
+++ b/cpp/test/Ice/slicing/objects/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <ClientPrivate.h>
using namespace std;
@@ -754,9 +754,10 @@ testUOO(const TestIntfPrxPtr& test)
}
TestIntfPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
- Ice::ObjectPrxPtr obj = communicator->stringToProxy("Test:" + getTestEndpoint(communicator, 0));
+ Ice::CommunicatorPtr communicator = helper->communicator();
+ Ice::ObjectPrxPtr obj = communicator->stringToProxy("Test:" + helper->getTestEndpoint());
TestIntfPrxPtr test = ICE_CHECKED_CAST(TestIntfPrx, obj);
cout << "base as Object... " << flush;
diff --git a/cpp/test/Ice/slicing/objects/Client.cpp b/cpp/test/Ice/slicing/objects/Client.cpp
index 82a6dcfe273..63c933f044a 100644
--- a/cpp/test/Ice/slicing/objects/Client.cpp
+++ b/cpp/test/Ice/slicing/objects/Client.cpp
@@ -8,48 +8,32 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <ClientPrivate.h>
using namespace std;
using namespace Test;
-DEFINE_TEST("client")
-
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- TestIntfPrxPtr allTests(const Ice::CommunicatorPtr&);
- TestIntfPrxPtr Test = allTests(communicator);
- Test->shutdown();
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-# ifdef ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
+ void run(int, char**);
+};
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- //
- // For this test, we enable object collection.
- //
- initData.properties->setProperty("Ice.CollectObjects", "1");
+void
+Client::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ //
+ // For this test, we enable object collection.
+ //
+ properties->setProperty("Ice.CollectObjects", "1");
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ TestIntfPrxPtr allTests(Test::TestHelper*);
+ TestIntfPrxPtr prx = allTests(this);
+ prx->shutdown();
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/slicing/objects/Server.cpp b/cpp/test/Ice/slicing/objects/Server.cpp
index a11ab43bd55..d1a83987b42 100644
--- a/cpp/test/Ice/slicing/objects/Server.cpp
+++ b/cpp/test/Ice/slicing/objects/Server.cpp
@@ -9,47 +9,33 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-DEFINE_TEST("server")
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+void
+Server::run(int argc, char** argv)
{
- Ice::PropertiesPtr properties = communicator->getProperties();
- properties->setProperty("Ice.Warn.Dispatch", "0");
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0) + " -t 2000");
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+#ifndef ICE_CPP11_MAPPING
+ properties->setProperty("Ice.CollectObjects", "1");
+#endif
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->setProperty("Ice.Warn.Dispatch", "0");
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint() + " -t 2000");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = ICE_MAKE_SHARED(TestI);
adapter->add(object, Ice::stringToIdentity("Test"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
-#ifndef ICE_CPP11_MAPPING
- initData.properties->setProperty("Ice.CollectObjects", "1");
-#endif
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/slicing/objects/ServerAMD.cpp b/cpp/test/Ice/slicing/objects/ServerAMD.cpp
index 44d627ea95b..7898b8087ee 100644
--- a/cpp/test/Ice/slicing/objects/ServerAMD.cpp
+++ b/cpp/test/Ice/slicing/objects/ServerAMD.cpp
@@ -9,47 +9,33 @@
#include <Ice/Ice.h>
#include <TestAMDI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-DEFINE_TEST("serveramd")
+class ServerAMD : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+void
+ServerAMD::run(int argc, char** argv)
{
- Ice::PropertiesPtr properties = communicator->getProperties();
- properties->setProperty("Ice.Warn.Dispatch", "0");
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0) + " -t 2000");
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+#ifndef ICE_CPP11_MAPPING
+ properties->setProperty("Ice.CollectObjects", "1");
+#endif
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->setProperty("Ice.Warn.Dispatch", "0");
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint() + " -t 2000");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = ICE_MAKE_SHARED(TestI);
adapter->add(object, Ice::stringToIdentity("Test"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
-#ifndef ICE_CPP11_MAPPING
- initData.properties->setProperty("Ice.CollectObjects", "1");
-#endif
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(ServerAMD)
diff --git a/cpp/test/Ice/slicing/objects/TestAMDI.cpp b/cpp/test/Ice/slicing/objects/TestAMDI.cpp
index 17c3aa5ceba..88ee664f3a6 100644
--- a/cpp/test/Ice/slicing/objects/TestAMDI.cpp
+++ b/cpp/test/Ice/slicing/objects/TestAMDI.cpp
@@ -9,7 +9,7 @@
#include <TestAMDI.h>
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace Test;
using namespace std;
diff --git a/cpp/test/Ice/slicing/objects/TestI.cpp b/cpp/test/Ice/slicing/objects/TestI.cpp
index 623b3902c36..b7ab0719ecc 100644
--- a/cpp/test/Ice/slicing/objects/TestI.cpp
+++ b/cpp/test/Ice/slicing/objects/TestI.cpp
@@ -9,7 +9,7 @@
#include <TestI.h>
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace Test;
using namespace std;
diff --git a/cpp/test/Ice/slicing/objects/TestI.h b/cpp/test/Ice/slicing/objects/TestI.h
index d2cc4ef50e0..d757b4ce796 100644
--- a/cpp/test/Ice/slicing/objects/TestI.h
+++ b/cpp/test/Ice/slicing/objects/TestI.h
@@ -11,7 +11,6 @@
#define TESTI_H
#include <ServerPrivate.h>
-#include <TestCommon.h>
class TestI : public virtual Test::TestIntf
{
diff --git a/cpp/test/Ice/stream/Client.cpp b/cpp/test/Ice/stream/Client.cpp
index 6c7087ed1bb..a88f05ea86e 100644
--- a/cpp/test/Ice/stream/Client.cpp
+++ b/cpp/test/Ice/stream/Client.cpp
@@ -8,11 +8,9 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Test;
using namespace Test::Sub;
@@ -227,9 +225,10 @@ public:
};
#endif
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+void
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
#ifdef ICE_CPP11_MAPPING
MyClassFactoryWrapper factoryWrapper;
function<Ice::ValuePtr(const string&)> f =
@@ -1334,36 +1333,21 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
}
cout << "ok" << endl;
- return 0;
}
-int
-main(int argc, char* argv[])
+class Client : public Test::TestHelper
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
+public:
- if(communicator)
- {
- communicator->destroy();
- }
+ void run(int, char**);
+};
- return status;
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/stringConverter/Client.cpp b/cpp/test/Ice/stringConverter/Client.cpp
index 66c10dc9682..d59d99a389c 100644
--- a/cpp/test/Ice/stringConverter/Client.cpp
+++ b/cpp/test/Ice/stringConverter/Client.cpp
@@ -8,30 +8,32 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <iostream>
#include <locale.h>
-DEFINE_TEST("client")
-
using namespace std;
static bool useLocale = false;
static bool useIconv = true;
-int
-main(int argc, char* argv[])
+class Client : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
Ice::registerIceStringConverter(false);
#endif
- Ice::InitializationData initData = getTestInitData(argc, argv);
-
string narrowEncoding;
string wideEncoding;
@@ -109,10 +111,9 @@ main(int argc, char* argv[])
#endif
- Ice::CommunicatorPtr communicator = Ice::initialize(initData);
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
Test::MyObjectPrxPtr proxy =
- ICE_UNCHECKED_CAST(Test::MyObjectPrx,
- communicator->stringToProxy("test:" + getTestEndpoint(communicator, 0)));
+ ICE_UNCHECKED_CAST(Test::MyObjectPrx, communicator->stringToProxy("test:" + getTestEndpoint()));
char oe = char(0xBD); // A single character in ISO Latin 9
string msg = string("tu me fends le c") + oe + "ur!";
@@ -145,7 +146,6 @@ main(int argc, char* argv[])
test(identStr == "cat/tu me fends le c\\305\\223ur!");
test(Ice::stringToIdentity(identStr) == ident);
- communicator->destroy();
cout << "ok" << endl;
}
@@ -159,12 +159,11 @@ main(int argc, char* argv[])
}
propValue += " windows=28605";
- initData.properties->setProperty("Ice.Plugin.IceStringConverter", propValue);
+ properties->setProperty("Ice.Plugin.IceStringConverter", propValue);
- Ice::CommunicatorPtr communicator = Ice::initialize(initData);
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
Test::MyObjectPrxPtr proxy =
- ICE_UNCHECKED_CAST(Test::MyObjectPrx,
- communicator->stringToProxy("test:" + getTestEndpoint(communicator, 0)));
+ ICE_UNCHECKED_CAST(Test::MyObjectPrx, communicator->stringToProxy("test:" + getTestEndpoint()));
char oe = char(0xBD); // A single character in ISO Latin 9
string msg = string("tu me fends le c") + oe + "ur!";
@@ -184,7 +183,6 @@ main(int argc, char* argv[])
cout << "ok" << endl;
proxy->shutdown();
- communicator->destroy();
-
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(Client);
diff --git a/cpp/test/Ice/stringConverter/Server.cpp b/cpp/test/Ice/stringConverter/Server.cpp
index 1e12e180eba..5df179b6ff7 100644
--- a/cpp/test/Ice/stringConverter/Server.cpp
+++ b/cpp/test/Ice/stringConverter/Server.cpp
@@ -8,11 +8,9 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("server");
-
using namespace std;
//
@@ -40,47 +38,23 @@ public:
}
};
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(MyObjectI), Ice::stringToIdentity("test"));
adapter->activate();
-
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
-
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/threadPoolPriority/AllTests.cpp b/cpp/test/Ice/threadPoolPriority/AllTests.cpp
index 68c837e52a5..2e4e4f44dab 100644
--- a/cpp/test/Ice/threadPoolPriority/AllTests.cpp
+++ b/cpp/test/Ice/threadPoolPriority/AllTests.cpp
@@ -10,16 +10,17 @@
#include <Ice/Ice.h>
#include <Ice/Locator.h>
#include <Ice/Router.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
Test::PriorityPrxPtr
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
cout << "testing server priority... " << flush;
- string ref = "test:" + getTestEndpoint(communicator, 0) + " -t 10000";
+ string ref = "test:" + helper->getTestEndpoint() + " -t 10000";
Ice::ObjectPrxPtr base = communicator->stringToProxy(ref);
test(base);
diff --git a/cpp/test/Ice/threadPoolPriority/Client.cpp b/cpp/test/Ice/threadPoolPriority/Client.cpp
index ae0e1c370d6..39238afc054 100644
--- a/cpp/test/Ice/threadPoolPriority/Client.cpp
+++ b/cpp/test/Ice/threadPoolPriority/Client.cpp
@@ -8,49 +8,26 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- Test::PriorityPrxPtr allTests(const Ice::CommunicatorPtr&);
- Test::PriorityPrxPtr priority = allTests(communicator);
+public:
- priority->shutdown();
-
- return EXIT_SUCCESS;
-}
+ void run(int, char**);
+};
-int
-main(int argc, char* argv[])
+void
+Client::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- int status;
- Ice::CommunicatorPtr communicator;
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ Test::PriorityPrxPtr allTests(Test::TestHelper*);
+ Test::PriorityPrxPtr priority = allTests(this);
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
+ priority->shutdown();
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/threadPoolPriority/Server.cpp b/cpp/test/Ice/threadPoolPriority/Server.cpp
index dfbad8118f7..b046dd1a88c 100644
--- a/cpp/test/Ice/threadPoolPriority/Server.cpp
+++ b/cpp/test/Ice/threadPoolPriority/Server.cpp
@@ -9,15 +9,23 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
Ice::PropertiesPtr properties = communicator->getProperties();
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0) + " -t 10000");
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint() + " -t 10000");
//
// First try to use an invalid priority.
@@ -51,36 +59,6 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
adapter->add(object, Ice::stringToIdentity("test"));
adapter->activate();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/threadPoolPriority/ServerCustomThreadPool.cpp b/cpp/test/Ice/threadPoolPriority/ServerCustomThreadPool.cpp
index 6bc8672c32d..863c4e3e391 100644
--- a/cpp/test/Ice/threadPoolPriority/ServerCustomThreadPool.cpp
+++ b/cpp/test/Ice/threadPoolPriority/ServerCustomThreadPool.cpp
@@ -9,16 +9,24 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class ServerCustomThreadPool : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+ServerCustomThreadPool::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
Ice::PropertiesPtr properties = communicator->getProperties();
properties->setProperty("Ice.Warn.Dispatch", "0");
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0) + " -t 10000");
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint() + " -t 10000");
communicator->getProperties()->setProperty("TestAdapter.ThreadPool.Size", "1");
//
@@ -55,36 +63,6 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
adapter->add(object, Ice::stringToIdentity("test"));
adapter->activate();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(ServerCustomThreadPool)
diff --git a/cpp/test/Ice/timeout/AllTests.cpp b/cpp/test/Ice/timeout/AllTests.cpp
index 50d279460c6..7daff168666 100644
--- a/cpp/test/Ice/timeout/AllTests.cpp
+++ b/cpp/test/Ice/timeout/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <TestI.h>
@@ -111,9 +111,10 @@ connect(const Ice::ObjectPrxPtr& prx)
}
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
- string sref = "timeout:" + getTestEndpoint(communicator, 0);
+ Ice::CommunicatorPtr communicator = helper->communicator();
+ string sref = "timeout:" + helper->getTestEndpoint();
Ice::ObjectPrxPtr obj = communicator->stringToProxy(sref);
test(obj);
@@ -121,7 +122,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
test(timeout);
ControllerPrxPtr controller =
- ICE_CHECKED_CAST(ControllerPrx, communicator->stringToProxy("controller:" + getTestEndpoint(communicator, 1)));
+ ICE_CHECKED_CAST(ControllerPrx, communicator->stringToProxy("controller:" + helper->getTestEndpoint(1)));
test(controller);
cout << "testing connect timeout... " << flush;
diff --git a/cpp/test/Ice/timeout/Client.cpp b/cpp/test/Ice/timeout/Client.cpp
index 00414a2b16c..00968539885 100644
--- a/cpp/test/Ice/timeout/Client.cpp
+++ b/cpp/test/Ice/timeout/Client.cpp
@@ -8,64 +8,52 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
+ void run(int, char**);
+};
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
+void
+Client::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
- //
- // For this test, we want to disable retries.
- //
- initData.properties->setProperty("Ice.RetryIntervals", "-1");
+ //
+ // For this test, we want to disable retries.
+ //
+ properties->setProperty("Ice.RetryIntervals", "-1");
#if TARGET_OS_IPHONE != 0
- //
- // COMPILERFIX: Disable connect timeout introduced for
- // workaround to iOS device hangs when using SSL
- //
- initData.properties->setProperty("Ice.Override.ConnectTimeout", "");
+ //
+ // COMPILERFIX: Disable connect timeout introduced for
+ // workaround to iOS device hangs when using SSL
+ //
+ properties->setProperty("Ice.Override.ConnectTimeout", "");
#endif
- //
- // This test kills connections, so we don't want warnings.
- //
- initData.properties->setProperty("Ice.Warn.Connections", "0");
+ //
+ // This test kills connections, so we don't want warnings.
+ //
+ properties->setProperty("Ice.Warn.Connections", "0");
+
+ //
+ // Limit the send buffer size, this test relies on the socket
+ // send() blocking after sending a given amount of data.
+ //
+ properties->setProperty("Ice.TCP.SndSize", "50000");
- //
- // Limit the send buffer size, this test relies on the socket
- // send() blocking after sending a given amount of data.
- //
- initData.properties->setProperty("Ice.TCP.SndSize", "50000");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/timeout/Server.cpp b/cpp/test/Ice/timeout/Server.cpp
index 1f5ce1ead38..0df9346c358 100644
--- a/cpp/test/Ice/timeout/Server.cpp
+++ b/cpp/test/Ice/timeout/Server.cpp
@@ -8,18 +8,52 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
- communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(communicator, 1));
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+
+#if TARGET_OS_IPHONE != 0
+ //
+ // COMPILERFIX: Disable connect timeout introduced for
+ // workaround to iOS device hangs when using SSL
+ //
+ properties->setProperty("Ice.Override.ConnectTimeout", "");
+#endif
+
+ //
+ // This test kills connections, so we don't want warnings.
+ //
+ properties->setProperty("Ice.Warn.Connections", "0");
+
+ //
+ // The client sends large messages to cause the transport
+ // buffers to fill up.
+ //
+ properties->setProperty("Ice.MessageSizeMax", "20000");
+
+ //
+ // Limit the recv buffer size, this test relies on the socket
+ // send() blocking after sending a given amount of data.
+ //
+ properties->setProperty("Ice.TCP.RcvSize", "50000");
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint());
+ communicator->getProperties()->setProperty("ControllerAdapter.Endpoints", getTestEndpoint(1));
communicator->getProperties()->setProperty("ControllerAdapter.ThreadPool.Size", "1");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
@@ -30,55 +64,8 @@ run(int, char**, const Ice::CommunicatorPtr& communicator)
controllerAdapter->add(ICE_MAKE_SHARED(ControllerI, adapter), Ice::stringToIdentity("controller"));
controllerAdapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
-
-#if TARGET_OS_IPHONE != 0
- //
- // COMPILERFIX: Disable connect timeout introduced for
- // workaround to iOS device hangs when using SSL
- //
- initData.properties->setProperty("Ice.Override.ConnectTimeout", "");
-#endif
-
- //
- // This test kills connections, so we don't want warnings.
- //
- initData.properties->setProperty("Ice.Warn.Connections", "0");
-
- //
- // The client sends large messages to cause the transport
- // buffers to fill up.
- //
- initData.properties->setProperty("Ice.MessageSizeMax", "20000");
-
- //
- // Limit the recv buffer size, this test relies on the socket
- // send() blocking after sending a given amount of data.
- //
- initData.properties->setProperty("Ice.TCP.RcvSize", "50000");
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/timeout/TestI.h b/cpp/test/Ice/timeout/TestI.h
index a459b5c2a2c..63355101323 100644
--- a/cpp/test/Ice/timeout/TestI.h
+++ b/cpp/test/Ice/timeout/TestI.h
@@ -11,7 +11,6 @@
#define TEST_I_H
#include <Test.h>
-#include <TestCommon.h>
class TimeoutI : public virtual Test::Timeout
{
diff --git a/cpp/test/Ice/udp/AllTests.cpp b/cpp/test/Ice/udp/AllTests.cpp
index 6aecb8e8ad3..a1492c0c066 100644
--- a/cpp/test/Ice/udp/AllTests.cpp
+++ b/cpp/test/Ice/udp/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -60,8 +60,9 @@ private:
ICE_DEFINE_PTR(PingReplyIPtr, PingReplyI);
void
-allTests(const CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
communicator->getProperties()->setProperty("ReplyAdapter.Endpoints", "udp");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("ReplyAdapter");
PingReplyIPtr replyI = ICE_MAKE_SHARED(PingReplyI);
@@ -69,7 +70,7 @@ allTests(const CommunicatorPtr& communicator)
adapter->activate();
cout << "testing udp... " << flush;
- ObjectPrxPtr base = communicator->stringToProxy("test -d:" + getTestEndpoint(communicator, 0, "udp"));
+ ObjectPrxPtr base = communicator->stringToProxy("test -d:" + helper->getTestEndpoint("udp"));
TestIntfPrxPtr obj = ICE_UNCHECKED_CAST(TestIntfPrx, base);
int nRetry = 5;
@@ -137,14 +138,14 @@ allTests(const CommunicatorPtr& communicator)
ostringstream endpoint;
if(communicator->getProperties()->getProperty("Ice.IPv6") == "1")
{
- endpoint << "udp -h \"ff15::1:1\" -p " << getTestPort(communicator->getProperties(), 10);
+ endpoint << "udp -h \"ff15::1:1\" -p " << helper->getTestPort(10);
#if defined(__APPLE__) || defined(_WIN32)
endpoint << " --interface \"::1\""; // Use loopback to prevent other machines to answer. the multicast requests.
#endif
}
else
{
- endpoint << "udp -h 239.255.1.1 -p " << getTestPort(communicator->getProperties(), 10);
+ endpoint << "udp -h 239.255.1.1 -p " << helper->getTestPort(10);
#if defined(__APPLE__) || defined(_WIN32)
endpoint << " --interface 127.0.0.1"; // Use loopback to prevent other machines to answer.
#endif
diff --git a/cpp/test/Ice/udp/Client.cpp b/cpp/test/Ice/udp/Client.cpp
index 6a40d228007..dd3f8fe5492 100644
--- a/cpp/test/Ice/udp/Client.cpp
+++ b/cpp/test/Ice/udp/Client.cpp
@@ -8,52 +8,38 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Test;
-int
-run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Connections", "0");
+ properties->setProperty("Ice.UDP.RcvSize", "16384");
+ properties->setProperty("Ice.UDP.SndSize", "16384");
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ void allTests(Test::TestHelper*);
+ allTests(this);
int num = argc == 2 ? atoi(argv[1]) : 1;
for(int i = 0; i < num; i++)
{
ostringstream os;
- os << "control:" << getTestEndpoint(communicator, i, "tcp");
+ os << "control:" << getTestEndpoint(i, "tcp");
ICE_UNCHECKED_CAST(TestIntfPrx, communicator->stringToProxy(os.str()))->shutdown();
}
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.UDP.RcvSize", "16384");
- initData.properties->setProperty("Ice.UDP.SndSize", "16384");
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Client)
diff --git a/cpp/test/Ice/udp/Server.cpp b/cpp/test/Ice/udp/Server.cpp
index a882c0d4d96..a5abf22df47 100644
--- a/cpp/test/Ice/udp/Server.cpp
+++ b/cpp/test/Ice/udp/Server.cpp
@@ -8,81 +8,66 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
- Ice::PropertiesPtr properties = communicator->getProperties();
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Connections", "0");
+ properties->setProperty("Ice.UDP.SndSize", "16384");
+ properties->setProperty("Ice.UDP.RcvSize", "16384");
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
int num = argc == 2 ? atoi(argv[1]) : 0;
- properties->setProperty("ControlAdapter.Endpoints", getTestEndpoint(communicator, num, "tcp"));
+ communicator->getProperties()->setProperty("ControlAdapter.Endpoints", getTestEndpoint(num, "tcp"));
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("ControlAdapter");
adapter->add(ICE_MAKE_SHARED(TestIntfI), Ice::stringToIdentity("control"));
adapter->activate();
if(num == 0)
{
- properties->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, num, "udp"));
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(num, "udp"));
Ice::ObjectAdapterPtr adapter2 = communicator->createObjectAdapter("TestAdapter");
adapter2->add(ICE_MAKE_SHARED(TestIntfI), Ice::stringToIdentity("test"));
adapter2->activate();
}
ostringstream endpoint;
- if(properties->getProperty("Ice.IPv6") == "1")
+ if(communicator->getProperties()->getProperty("Ice.IPv6") == "1")
{
- endpoint << "udp -h \"ff15::1:1\" -p " << getTestPort(properties, 10);
+ endpoint << "udp -h \"ff15::1:1\" -p " << getTestPort(10);
#if defined(__APPLE__) || defined(_WIN32)
endpoint << " --interface \"::1\""; // Use loopback to prevent other machines to answer.
#endif
}
else
{
- endpoint << "udp -h 239.255.1.1 -p " << getTestPort(properties, 10);
+ endpoint << "udp -h 239.255.1.1 -p " << getTestPort(10);
#if defined(__APPLE__) || defined(_WIN32)
endpoint << " --interface 127.0.0.1"; // Use loopback to prevent other machines to answer.
#endif
}
- properties->setProperty("McastTestAdapter.Endpoints", endpoint.str());
+ communicator->getProperties()->setProperty("McastTestAdapter.Endpoints", endpoint.str());
Ice::ObjectAdapterPtr mcastAdapter = communicator->createObjectAdapter("McastTestAdapter");
mcastAdapter->add(ICE_MAKE_SHARED(TestIntfI), Ice::stringToIdentity("test"));
mcastAdapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceUDP(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- initData.properties->setProperty("Ice.UDP.SndSize", "16384");
- initData.properties->setProperty("Ice.UDP.RcvSize", "16384");
-
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/Ice/udp/TestI.h b/cpp/test/Ice/udp/TestI.h
index dc24cffbe8f..30bb326532e 100644
--- a/cpp/test/Ice/udp/TestI.h
+++ b/cpp/test/Ice/udp/TestI.h
@@ -11,7 +11,6 @@
#define TEST_I_H
#include <Test.h>
-#include <TestCommon.h>
class TestIntfI : public Test::TestIntf
{
diff --git a/cpp/test/IceBox/admin/AllTests.cpp b/cpp/test/IceBox/admin/AllTests.cpp
index 8d929e0a2b2..b16dae4b88e 100644
--- a/cpp/test/IceBox/admin/AllTests.cpp
+++ b/cpp/test/IceBox/admin/AllTests.cpp
@@ -8,15 +8,16 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
using namespace Test;
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
string ref = "DemoIceBox/admin:default -p 9996 -t 10000";
Ice::ObjectPrxPtr admin = communicator->stringToProxy(ref);
diff --git a/cpp/test/IceBox/admin/Client.cpp b/cpp/test/IceBox/admin/Client.cpp
index 643ca5876fd..dd7588af837 100644
--- a/cpp/test/IceBox/admin/Client.cpp
+++ b/cpp/test/IceBox/admin/Client.cpp
@@ -9,50 +9,32 @@
#include <Ice/Ice.h>
#include <IceUtil/IceUtil.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& comm)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(comm);
+public:
+
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+
+ void allTests(Test::TestHelper*);
+ allTests(this);
//
// Shutdown the IceBox server.
//
- ICE_UNCHECKED_CAST(Ice::ProcessPrx, comm->stringToProxy("DemoIceBox/admin -f Process:default -p 9996"))->shutdown();
-
- return EXIT_SUCCESS;
+ ICE_UNCHECKED_CAST(Ice::ProcessPrx,
+ communicator->stringToProxy("DemoIceBox/admin -f Process:default -p 9996"))->shutdown();
}
-int
-main(int argc, char* argv[])
-{
- int status;
-
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Default.Host", "127.0.0.1");
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceBox/configuration/AllTests.cpp b/cpp/test/IceBox/configuration/AllTests.cpp
index 0ae90b669d2..8a0f7c34f4e 100644
--- a/cpp/test/IceBox/configuration/AllTests.cpp
+++ b/cpp/test/IceBox/configuration/AllTests.cpp
@@ -8,19 +8,20 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
using namespace Test;
void
-allTests(const Ice::CommunicatorPtr& com)
+allTests(Test::TestHelper* helper)
{
- TestIntfPrxPtr service1 = ICE_UNCHECKED_CAST(TestIntfPrx, com->stringToProxy("test:" + getTestEndpoint(com, 0)));
- TestIntfPrxPtr service2 = ICE_UNCHECKED_CAST(TestIntfPrx, com->stringToProxy("test:" + getTestEndpoint(com, 1)));
- TestIntfPrxPtr service3 = ICE_UNCHECKED_CAST(TestIntfPrx, com->stringToProxy("test:" + getTestEndpoint(com, 2)));
- TestIntfPrxPtr service4 = ICE_UNCHECKED_CAST(TestIntfPrx, com->stringToProxy("test:" + getTestEndpoint(com, 3)));
+ Ice::CommunicatorPtr com = helper->communicator();
+ TestIntfPrxPtr service1 = ICE_UNCHECKED_CAST(TestIntfPrx, com->stringToProxy("test:" + helper->getTestEndpoint(0)));
+ TestIntfPrxPtr service2 = ICE_UNCHECKED_CAST(TestIntfPrx, com->stringToProxy("test:" + helper->getTestEndpoint(1)));
+ TestIntfPrxPtr service3 = ICE_UNCHECKED_CAST(TestIntfPrx, com->stringToProxy("test:" + helper->getTestEndpoint(2)));
+ TestIntfPrxPtr service4 = ICE_UNCHECKED_CAST(TestIntfPrx, com->stringToProxy("test:" + helper->getTestEndpoint(3)));
if(service1->getProperty("IceBox.InheritProperties") == "")
{
diff --git a/cpp/test/IceBox/configuration/Client.cpp b/cpp/test/IceBox/configuration/Client.cpp
index 643ca5876fd..ff06f9667f0 100644
--- a/cpp/test/IceBox/configuration/Client.cpp
+++ b/cpp/test/IceBox/configuration/Client.cpp
@@ -9,50 +9,30 @@
#include <Ice/Ice.h>
#include <IceUtil/IceUtil.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& comm)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(comm);
+public:
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ void allTests(Test::TestHelper*);
+ allTests(this);
//
// Shutdown the IceBox server.
//
- ICE_UNCHECKED_CAST(Ice::ProcessPrx, comm->stringToProxy("DemoIceBox/admin -f Process:default -p 9996"))->shutdown();
-
- return EXIT_SUCCESS;
+ ICE_UNCHECKED_CAST(Ice::ProcessPrx,
+ communicator->stringToProxy("DemoIceBox/admin -f Process:default -p 9996"))->shutdown();
}
-int
-main(int argc, char* argv[])
-{
- int status;
-
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Default.Host", "127.0.0.1");
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceBridge/simple/AllTests.cpp b/cpp/test/IceBridge/simple/AllTests.cpp
index 8acbb9927a4..d73576dae3d 100644
--- a/cpp/test/IceBridge/simple/AllTests.cpp
+++ b/cpp/test/IceBridge/simple/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -83,11 +83,12 @@ private:
}
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
cout << "testing connection to bridge... " << flush;
- Ice::ObjectPrx base = communicator->stringToProxy("test:" + getTestEndpoint(communicator, 1) + ":" +
- getTestEndpoint(communicator, 1, "udp"));
+ Ice::ObjectPrx base = communicator->stringToProxy("test:" + helper->getTestEndpoint(1) + ":" +
+ helper->getTestEndpoint(1, "udp"));
test(base);
Test::MyClassPrx cl = Ice::checkedCast<Test::MyClassPrx>(base);
cl->ice_ping();
@@ -237,7 +238,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
cout << "testing router... " << flush;
{
- Ice::ObjectPrx base = communicator->stringToProxy("Ice/RouterFinder:" + getTestEndpoint(communicator, 1));
+ Ice::ObjectPrx base = communicator->stringToProxy("Ice/RouterFinder:" + helper->getTestEndpoint(1));
Ice::RouterFinderPrx finder = Ice::checkedCast<Ice::RouterFinderPrx>(base);
Ice::RouterPrx router = finder->getRouter();
base = communicator->stringToProxy("test")->ice_router(router);
@@ -272,7 +273,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
cout << "ok" << endl;
cout << "testing bridge shutdown... " << flush;
- Ice::ObjectPrx admin = communicator->stringToProxy("IceBridge/admin:" + getTestEndpoint(communicator, 2, "tcp"));
+ Ice::ObjectPrx admin = communicator->stringToProxy("IceBridge/admin:" + helper->getTestEndpoint(2, "tcp"));
Ice::ProcessPrx process = Ice::checkedCast<Ice::ProcessPrx>(admin->ice_facet("Process"));
process->shutdown();
cout << "ok" << endl;
diff --git a/cpp/test/IceBridge/simple/Client.cpp b/cpp/test/IceBridge/simple/Client.cpp
index cbb0c076897..dbb5d683820 100644
--- a/cpp/test/IceBridge/simple/Client.cpp
+++ b/cpp/test/IceBridge/simple/Client.cpp
@@ -8,42 +8,26 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
+public:
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-# ifdef ICE_HAS_BT
- Ice::registerIceBT(false);
-# endif
-#endif
+ void run(int argc, char** argv);
+};
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.RetryIntervals", "-1");
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+void
+Client::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.RetryIntervals", "-1");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceBridge/simple/Server.cpp b/cpp/test/IceBridge/simple/Server.cpp
index 36902c7d413..d46a83d4929 100644
--- a/cpp/test/IceBridge/simple/Server.cpp
+++ b/cpp/test/IceBridge/simple/Server.cpp
@@ -8,48 +8,36 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Dispatch", "0");
+
+ // Make sure requests are serialized, this is required for the ordering test.
+ properties->setProperty("Ice.ThreadPool.Server.Serialize", "1");
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
communicator->getProperties()->setProperty("TestAdapter.Endpoints",
- getTestEndpoint(communicator, 0) + ":" +
- getTestEndpoint(communicator, 0, "udp"));
+ getTestEndpoint() + ":" +
+ getTestEndpoint("udp"));
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(MyClassI), Ice::stringToIdentity("test"));
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Dispatch", "0");
-
- // Make sure requests are serialized, this is required for the ordering test.
- initData.properties->setProperty("Ice.ThreadPool.Server.Serialize", "1");
- Ice::CommunicatorHolder ich(argc, argv, initData);
- return run(argc, argv, ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/IceBridge/simple/TestI.cpp b/cpp/test/IceBridge/simple/TestI.cpp
index 5690f4d20f4..558323dda5e 100644
--- a/cpp/test/IceBridge/simple/TestI.cpp
+++ b/cpp/test/IceBridge/simple/TestI.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Test;
diff --git a/cpp/test/IceDiscovery/simple/AllTests.cpp b/cpp/test/IceDiscovery/simple/AllTests.cpp
index f0897121603..7e8da1372fc 100644
--- a/cpp/test/IceDiscovery/simple/AllTests.cpp
+++ b/cpp/test/IceDiscovery/simple/AllTests.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -16,8 +16,9 @@ using namespace Ice;
using namespace Test;
void
-allTests(const CommunicatorPtr& communicator, int num)
+allTests(Test::TestHelper* helper, int num)
{
+ CommunicatorPtr communicator = helper->communicator();
vector<ControllerPrxPtr> proxies;
vector<ControllerPrxPtr> indirectProxies;
for(int i = 0; i < num; ++i)
diff --git a/cpp/test/IceDiscovery/simple/Client.cpp b/cpp/test/IceDiscovery/simple/Client.cpp
index 2f8c897a828..bb06736c137 100644
--- a/cpp/test/IceDiscovery/simple/Client.cpp
+++ b/cpp/test/IceDiscovery/simple/Client.cpp
@@ -8,55 +8,32 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
-DEFINE_TEST("client")
-
using namespace std;
using namespace Test;
-int
-run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- int num = argc == 2 ? atoi(argv[1]) : 1;
+public:
- void allTests(const Ice::CommunicatorPtr&, int);
- allTests(communicator, num);
- return EXIT_SUCCESS;
-}
+ void run(int, char**);
+};
-int
-main(int argc, char* argv[])
+void
+Client::run(int argc, char** argv)
{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL();
- Ice::registerIceWS();
-#endif
//
// Explicitly register the IceDiscovery plugin to test registerIceDiscovery.
//
Ice::registerIceDiscovery();
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ int num = argc == 2 ? atoi(argv[1]) : 1;
+
+ void allTests(Test::TestHelper*, int);
+ allTests(this, num);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceDiscovery/simple/Makefile.mk b/cpp/test/IceDiscovery/simple/Makefile.mk
index dc5ec9d8960..39e7d822867 100644
--- a/cpp/test/IceDiscovery/simple/Makefile.mk
+++ b/cpp/test/IceDiscovery/simple/Makefile.mk
@@ -7,6 +7,6 @@
#
# **********************************************************************
-$(test)_dependencies = IceDiscovery Ice TestCommon
+$(test)_dependencies = IceDiscovery TestCommon IceSSL Ice
tests += $(test)
diff --git a/cpp/test/IceDiscovery/simple/Server.cpp b/cpp/test/IceDiscovery/simple/Server.cpp
index 47a9cbd4775..e8793ae4911 100644
--- a/cpp/test/IceDiscovery/simple/Server.cpp
+++ b/cpp/test/IceDiscovery/simple/Server.cpp
@@ -8,25 +8,28 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <TestI.h>
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
Ice::PropertiesPtr properties = communicator->getProperties();
int num = argc == 2 ? atoi(argv[1]) : 0;
- {
- ostringstream os;
- os << getTestEndpoint(communicator, num);
- properties->setProperty("ControlAdapter.Endpoints", os.str());
- }
+ properties->setProperty("ControlAdapter.Endpoints", getTestEndpoint(num));
+
{
ostringstream os;
os << "control" << num;
@@ -41,40 +44,9 @@ run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
}
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL();
- Ice::registerIceWS();
- Ice::registerIceDiscovery();
-#endif
-
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/IceDiscovery/simple/TestI.h b/cpp/test/IceDiscovery/simple/TestI.h
index 03179f13f0a..c2e4304766f 100644
--- a/cpp/test/IceDiscovery/simple/TestI.h
+++ b/cpp/test/IceDiscovery/simple/TestI.h
@@ -11,7 +11,6 @@
#define TEST_I_H
#include <Test.h>
-#include <TestCommon.h>
class TestIntfI : public Test::TestIntf
{
diff --git a/cpp/test/IceGrid/activation/AllTests.cpp b/cpp/test/IceGrid/activation/AllTests.cpp
index c9c2aaa6504..61503746c05 100644
--- a/cpp/test/IceGrid/activation/AllTests.cpp
+++ b/cpp/test/IceGrid/activation/AllTests.cpp
@@ -10,7 +10,7 @@
#include <Ice/Ice.h>
#include <IceGrid/IceGrid.h>
#include <IceUtil/Thread.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -86,8 +86,9 @@ private:
typedef IceUtil::Handle<PingThread> PingThreadPtr;
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(
communicator->stringToProxy(communicator->getDefaultLocator()->ice_getIdentity().category + "/Registry"));
test(registry);
@@ -97,7 +98,9 @@ allTests(const Ice::CommunicatorPtr& communicator)
IceGrid::AdminSessionPrx session = registry->createAdminSession("foo", "bar");
- session->ice_getConnection()->setACM(registry->getACMTimeout(), IceUtil::None, Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
+ session->ice_getConnection()->setACM(registry->getACMTimeout(),
+ IceUtil::None,
+ Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
IceGrid::AdminPrx admin = session->getAdmin();
test(admin);
diff --git a/cpp/test/IceGrid/activation/Client.cpp b/cpp/test/IceGrid/activation/Client.cpp
index 76241d98c50..50558f8f63f 100644
--- a/cpp/test/IceGrid/activation/Client.cpp
+++ b/cpp/test/IceGrid/activation/Client.cpp
@@ -8,42 +8,25 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
using namespace Test;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
-{
- int status;
- Ice::CommunicatorPtr communicator;
+public:
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
+ void run(int, char**);
+};
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceGrid/activation/Server.cpp b/cpp/test/IceGrid/activation/Server.cpp
index 96d446b466c..0dad9d24103 100644
--- a/cpp/test/IceGrid/activation/Server.cpp
+++ b/cpp/test/IceGrid/activation/Server.cpp
@@ -10,33 +10,40 @@
#include <Ice/Ice.h>
#include <IceUtil/Thread.h>
#include <TestI.h>
+#include <TestHelper.h>
using namespace std;
-class Server : public Ice::Application
+class Server : public Test::TestHelper
{
public:
- virtual int run(int argc, char* argv[]);
+ void run(int, char**);
+};
+
+class TestActivationFailure : public std::runtime_error
+{
+public:
+ TestActivationFailure(const string& what_arg) :
+ runtime_error(what_arg)
+ {
+ }
};
-int
-Server::run(int argc, char* argv[])
+void
+Server::run(int argc, char** argv)
{
- Ice::StringSeq args = Ice::argsToStringSeq(argc, argv);
- Ice::PropertiesPtr properties = communicator()->getProperties();
- args = properties->parseCommandLineOptions("", args);
- Ice::stringSeqToArgs(args, argc, argv);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
if(properties->getPropertyAsInt("FailOnStartup") > 0)
{
- return EXIT_FAILURE;
+ throw TestActivationFailure("FailOnStartup");
}
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
- Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
- TestI* test = new TestI();
- Ice::ObjectPtr obj = test;
- adapter->add(test, Ice::stringToIdentity(properties->getProperty("Ice.Admin.ServerId")));
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
+ TestIPtr testI = ICE_MAKE_SHARED(TestI);
+ adapter->add(testI, Ice::stringToIdentity(properties->getProperty("Ice.Admin.ServerId")));
int delay = properties->getPropertyAsInt("ActivationDelay");
if(delay > 0)
@@ -44,7 +51,6 @@ Server::run(int argc, char* argv[])
IceUtil::ThreadControl::sleep(IceUtil::Time::seconds(delay));
}
- shutdownOnInterrupt();
try
{
adapter->activate();
@@ -52,8 +58,7 @@ Server::run(int argc, char* argv[])
catch(const Ice::ObjectAdapterDeactivatedException&)
{
}
- communicator()->waitForShutdown();
- ignoreInterrupt();
+ communicator->waitForShutdown();
delay = properties->getPropertyAsInt("DeactivationDelay");
if(delay > 0)
@@ -61,13 +66,29 @@ Server::run(int argc, char* argv[])
IceUtil::ThreadControl::sleep(IceUtil::Time::seconds(delay));
}
- return test->isFailed() ? EXIT_FAILURE : EXIT_SUCCESS;
+ if(testI->isFailed())
+ {
+ throw TestActivationFailure("test failed");
+ }
}
int
-main(int argc, char* argv[])
+main(int argc, char** argv)
{
- Server app;
- int rc = app.main(argc, argv);
- return rc;
+ int status = 0;
+ try
+ {
+ Server server;
+ server.run(argc, argv);
+ }
+ catch(const TestActivationFailure&)
+ {
+ status = 1; // excpected failure
+ }
+ catch(const std::exception& ex)
+ {
+ std::cerr << "error: " << ex.what() << std::endl;
+ status = 1;
+ }
+ return status;
}
diff --git a/cpp/test/IceGrid/activation/TestI.h b/cpp/test/IceGrid/activation/TestI.h
index 9fce267c5f0..800e08dea17 100644
--- a/cpp/test/IceGrid/activation/TestI.h
+++ b/cpp/test/IceGrid/activation/TestI.h
@@ -27,5 +27,5 @@ private:
bool _failed;
};
-
+ICE_DEFINE_PTR(TestIPtr, TestI);
#endif
diff --git a/cpp/test/IceGrid/admin/Server.cpp b/cpp/test/IceGrid/admin/Server.cpp
index ddd7e15829a..00128656be4 100644
--- a/cpp/test/IceGrid/admin/Server.cpp
+++ b/cpp/test/IceGrid/admin/Server.cpp
@@ -8,26 +8,22 @@
// **********************************************************************
#include <Ice/Ice.h>
+#include <TestHelper.h>
using namespace std;
-class Server : public Ice::Application
+class Server : public Test::TestHelper
{
public:
- virtual int run(int argc, char* argv[]);
-
+ void run(int, char**);
};
-int
-Server::run(int argc, char* argv[])
+void
+Server::run(int argc, char** argv)
{
- Ice::StringSeq args = Ice::argsToStringSeq(argc, argv);
- args = communicator()->getProperties()->parseCommandLineOptions("TestAdapter", args);
- Ice::stringSeqToArgs(args, argc, argv);
-
- Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
- shutdownOnInterrupt();
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
try
{
adapter->activate();
@@ -35,15 +31,7 @@ Server::run(int argc, char* argv[])
catch(const Ice::ObjectAdapterDeactivatedException&)
{
}
- communicator()->waitForShutdown();
- ignoreInterrupt();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
-int
-main(int argc, char* argv[])
-{
- Server app;
- int rc = app.main(argc, argv);
- return rc;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/IceGrid/allocation/AllTests.cpp b/cpp/test/IceGrid/allocation/AllTests.cpp
index e67bde4ed01..f8ed209c2f6 100644
--- a/cpp/test/IceGrid/allocation/AllTests.cpp
+++ b/cpp/test/IceGrid/allocation/AllTests.cpp
@@ -12,7 +12,7 @@
#include <Ice/Ice.h>
#include <IceGrid/IceGrid.h>
#include <Glacier2/Router.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -269,13 +269,16 @@ protected:
typedef IceUtil::Handle<StressClient> StressClientPtr;
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(
communicator->stringToProxy(communicator->getDefaultLocator()->ice_getIdentity().category + "/Registry"));
test(registry);
AdminSessionPrx session = registry->createAdminSession("foo", "bar");
- session->ice_getConnection()->setACM(registry->getACMTimeout(), IceUtil::None, Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
+ session->ice_getConnection()->setACM(registry->getACMTimeout(),
+ IceUtil::None,
+ Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
AdminPrx admin = session->getAdmin();
test(admin);
diff --git a/cpp/test/IceGrid/allocation/Client.cpp b/cpp/test/IceGrid/allocation/Client.cpp
index 1e8df96a8ca..33f90f5d9b1 100644
--- a/cpp/test/IceGrid/allocation/Client.cpp
+++ b/cpp/test/IceGrid/allocation/Client.cpp
@@ -8,41 +8,25 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
-{
- int status;
- Ice::CommunicatorPtr communicator;
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- communicator->getProperties()->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
+public:
- if(communicator)
- {
- communicator->destroy();
- }
+ void run(int, char**);
+};
- return status;
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceGrid/allocation/Server.cpp b/cpp/test/IceGrid/allocation/Server.cpp
index 7c2f72c1b22..b4dee3f13b1 100644
--- a/cpp/test/IceGrid/allocation/Server.cpp
+++ b/cpp/test/IceGrid/allocation/Server.cpp
@@ -9,29 +9,26 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-class Server : public Ice::Application
+class Server : public Test::TestHelper
{
public:
- virtual int run(int argc, char* argv[]);
+ void run(int, char**);
};
-int
-Server::run(int argc, char* argv[])
+void
+Server::run(int argc, char** argv)
{
- Ice::PropertiesPtr properties = communicator()->getProperties();
-
- Ice::StringSeq args = Ice::argsToStringSeq(argc, argv);
- args = properties->parseCommandLineOptions("Test", args);
- Ice::stringSeqToArgs(args, argc, argv);
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ Ice::PropertiesPtr properties = communicator->getProperties();
string name = properties->getProperty("Ice.ProgramName");
- Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("Server");
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("Server");
adapter->add(new TestI(properties), Ice::stringToIdentity("allocatable"));
adapter->add(new TestI(properties), Ice::stringToIdentity("nonallocatable"));
adapter->add(new TestI(properties), Ice::stringToIdentity("allocatable1"));
@@ -43,7 +40,6 @@ Server::run(int argc, char* argv[])
adapter->add(new TestI(properties), Ice::stringToIdentity("allocatable31"));
adapter->add(new TestI(properties), Ice::stringToIdentity("allocatable41"));
- shutdownOnInterrupt();
try
{
adapter->activate();
@@ -51,15 +47,7 @@ Server::run(int argc, char* argv[])
catch(const Ice::ObjectAdapterDeactivatedException&)
{
}
- communicator()->waitForShutdown();
- ignoreInterrupt();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
-int
-main(int argc, char* argv[])
-{
- Server app;
- int rc = app.main(argc, argv);
- return rc;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/IceGrid/deployer/AllTests.cpp b/cpp/test/IceGrid/deployer/AllTests.cpp
index b1e7a80a931..3733a1fd2b8 100644
--- a/cpp/test/IceGrid/deployer/AllTests.cpp
+++ b/cpp/test/IceGrid/deployer/AllTests.cpp
@@ -10,7 +10,7 @@
#include <Ice/Ice.h>
#include <IceGrid/IceGrid.h>
#include <IceUtil/Thread.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <fstream>
@@ -376,8 +376,9 @@ logTests(const Ice::CommunicatorPtr& comm, const AdminSessionPrx& session)
}
void
-allTests(const Ice::CommunicatorPtr& comm)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr comm = helper->communicator();
IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(
comm->stringToProxy(comm->getDefaultLocator()->ice_getIdentity().category + "/Registry"));
test(registry);
@@ -387,7 +388,9 @@ allTests(const Ice::CommunicatorPtr& comm)
AdminSessionPrx session = registry->createAdminSession("foo", "bar");
- session->ice_getConnection()->setACM(registry->getACMTimeout(), IceUtil::None, Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
+ session->ice_getConnection()->setACM(registry->getACMTimeout(),
+ IceUtil::None,
+ Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
AdminPrx admin = session->getAdmin();
test(admin);
@@ -744,8 +747,9 @@ allTests(const Ice::CommunicatorPtr& comm)
}
void
-allTestsWithTarget(const Ice::CommunicatorPtr& comm)
+allTestsWithTarget(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr comm = helper->communicator();
RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(
comm->stringToProxy(comm->getDefaultLocator()->ice_getIdentity().category + "/Registry"));
test(registry);
diff --git a/cpp/test/IceGrid/deployer/Client.cpp b/cpp/test/IceGrid/deployer/Client.cpp
index 552850e630a..f63bafdcd44 100644
--- a/cpp/test/IceGrid/deployer/Client.cpp
+++ b/cpp/test/IceGrid/deployer/Client.cpp
@@ -8,14 +8,23 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
-int
-run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+
bool withTarget = false;
if(argc > 1)
{
@@ -37,40 +46,14 @@ run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
if(!withTarget)
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
else
{
- void allTestsWithTarget(const Ice::CommunicatorPtr&);
- allTestsWithTarget(communicator);
+ void allTestsWithTarget(Test::TestHelper*);
+ allTestsWithTarget(this);
}
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceGrid/deployer/Server.cpp b/cpp/test/IceGrid/deployer/Server.cpp
index 72835a3b0aa..4d57a94bdef 100644
--- a/cpp/test/IceGrid/deployer/Server.cpp
+++ b/cpp/test/IceGrid/deployer/Server.cpp
@@ -10,54 +10,20 @@
#include <IceUtil/DisableWarnings.h>
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <fstream>
using namespace std;
-class Server : public Ice::Application
+class Server : public Test::TestHelper
{
public:
- virtual int run(int argc, char* argv[]);
+ void run(int, char**);
};
-int
-Server::run(int argc, char* argv[])
-{
- Ice::PropertiesPtr properties = communicator()->getProperties();
-
- Ice::StringSeq args = Ice::argsToStringSeq(argc, argv);
- args = properties->parseCommandLineOptions("Test", args);
- Ice::stringSeqToArgs(args, argc, argv);
-
- string name = properties->getProperty("Ice.ProgramName");
- Ice::ObjectAdapterPtr adapter;
-
- if(!properties->getProperty("ReplicatedAdapter").empty())
- {
- adapter = communicator()->createObjectAdapter("ReplicatedAdapter");
- adapter->activate();
- }
-
- adapter = communicator()->createObjectAdapter("Server");
- Ice::ObjectPtr object = new TestI(properties);
- adapter->add(object, Ice::stringToIdentity(name));
- shutdownOnInterrupt();
- try
- {
- adapter->activate();
- }
- catch(const Ice::ObjectAdapterDeactivatedException&)
- {
- }
- communicator()->waitForShutdown();
- ignoreInterrupt();
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
+void
+Server::run(int argc, char** argv)
{
//
// Test if MY_ENV_VARIABLE is set.
@@ -106,7 +72,29 @@ main(int argc, char* argv[])
test(value5 != 0 && string(value5) == "BAR;12");
#endif
- Server app;
- int rc = app.main(argc, argv);
- return rc;
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+
+ Ice::PropertiesPtr properties = communicator->getProperties();
+ string name = properties->getProperty("Ice.ProgramName");
+ Ice::ObjectAdapterPtr adapter;
+
+ if(!properties->getProperty("ReplicatedAdapter").empty())
+ {
+ adapter = communicator->createObjectAdapter("ReplicatedAdapter");
+ adapter->activate();
+ }
+
+ adapter = communicator->createObjectAdapter("Server");
+ Ice::ObjectPtr object = new TestI(properties);
+ adapter->add(object, Ice::stringToIdentity(name));
+ try
+ {
+ adapter->activate();
+ }
+ catch(const Ice::ObjectAdapterDeactivatedException&)
+ {
+ }
+ communicator->waitForShutdown();
}
+
+DEFINE_TEST(Server)
diff --git a/cpp/test/IceGrid/distribution/AllTests.cpp b/cpp/test/IceGrid/distribution/AllTests.cpp
index 1c26602e4a8..57ce9af3360 100644
--- a/cpp/test/IceGrid/distribution/AllTests.cpp
+++ b/cpp/test/IceGrid/distribution/AllTests.cpp
@@ -10,7 +10,7 @@
#include <IceUtil/Thread.h>
#include <Ice/Ice.h>
#include <IceGrid/IceGrid.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <iterator>
@@ -20,14 +20,17 @@ using namespace Test;
using namespace IceGrid;
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(
communicator->stringToProxy(communicator->getDefaultLocator()->ice_getIdentity().category + "/Registry"));
test(registry);
AdminSessionPrx session = registry->createAdminSession("foo", "bar");
- session->ice_getConnection()->setACM(registry->getACMTimeout(), IceUtil::None, Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
+ session->ice_getConnection()->setACM(registry->getACMTimeout(),
+ IceUtil::None,
+ Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
AdminPrx admin = session->getAdmin();
test(admin);
diff --git a/cpp/test/IceGrid/distribution/Client.cpp b/cpp/test/IceGrid/distribution/Client.cpp
index 1e8df96a8ca..33f90f5d9b1 100644
--- a/cpp/test/IceGrid/distribution/Client.cpp
+++ b/cpp/test/IceGrid/distribution/Client.cpp
@@ -8,41 +8,25 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
-{
- int status;
- Ice::CommunicatorPtr communicator;
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- communicator->getProperties()->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
+public:
- if(communicator)
- {
- communicator->destroy();
- }
+ void run(int, char**);
+};
- return status;
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceGrid/distribution/Server.cpp b/cpp/test/IceGrid/distribution/Server.cpp
index 4d4c26923d0..da0d90a9430 100644
--- a/cpp/test/IceGrid/distribution/Server.cpp
+++ b/cpp/test/IceGrid/distribution/Server.cpp
@@ -9,33 +9,27 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-class Server : public Ice::Application
+class Server : public Test::TestHelper
{
public:
- virtual int run(int argc, char* argv[]);
+ void run(int, char**);
};
-int
-Server::run(int argc, char* argv[])
+void
+Server::run(int argc, char** argv)
{
- Ice::PropertiesPtr properties = communicator()->getProperties();
-
- Ice::StringSeq args = Ice::argsToStringSeq(argc, argv);
- args = properties->parseCommandLineOptions("Test", args);
- Ice::stringSeqToArgs(args, argc, argv);
-
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ Ice::PropertiesPtr properties = communicator->getProperties();
string name = properties->getProperty("Ice.ProgramName");
-
- Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("Server");
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("Server");
Ice::ObjectPtr object = new TestI(properties);
adapter->add(object, Ice::stringToIdentity(name));
- shutdownOnInterrupt();
try
{
adapter->activate();
@@ -43,15 +37,7 @@ Server::run(int argc, char* argv[])
catch(const Ice::ObjectAdapterDeactivatedException&)
{
}
- communicator()->waitForShutdown();
- ignoreInterrupt();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
-int
-main(int argc, char* argv[])
-{
- Server app;
- int rc = app.main(argc, argv);
- return rc;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp b/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp
index 19debb3cb4a..10c0ae9f818 100644
--- a/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp
+++ b/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp
@@ -10,7 +10,7 @@
#include <IceUtil/Thread.h>
#include <Ice/Ice.h>
#include <IceGrid/IceGrid.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -149,14 +149,17 @@ updateServiceRuntimeProperties(const AdminPrx& admin, const ServiceDescriptorPtr
}
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(
communicator->stringToProxy(communicator->getDefaultLocator()->ice_getIdentity().category + "/Registry"));
test(registry);
AdminSessionPrx session = registry->createAdminSession("foo", "bar");
- session->ice_getConnection()->setACM(registry->getACMTimeout(), IceUtil::None, Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
+ session->ice_getConnection()->setACM(registry->getACMTimeout(),
+ IceUtil::None,
+ Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
AdminPrx admin = session->getAdmin();
test(admin);
diff --git a/cpp/test/IceGrid/noRestartUpdate/Client.cpp b/cpp/test/IceGrid/noRestartUpdate/Client.cpp
index 1e8df96a8ca..33f90f5d9b1 100644
--- a/cpp/test/IceGrid/noRestartUpdate/Client.cpp
+++ b/cpp/test/IceGrid/noRestartUpdate/Client.cpp
@@ -8,41 +8,25 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
-{
- int status;
- Ice::CommunicatorPtr communicator;
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- communicator->getProperties()->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
+public:
- if(communicator)
- {
- communicator->destroy();
- }
+ void run(int, char**);
+};
- return status;
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceGrid/noRestartUpdate/Server.cpp b/cpp/test/IceGrid/noRestartUpdate/Server.cpp
index 5bf7ffd8063..19ee0c414b2 100644
--- a/cpp/test/IceGrid/noRestartUpdate/Server.cpp
+++ b/cpp/test/IceGrid/noRestartUpdate/Server.cpp
@@ -9,33 +9,29 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-class Server : public Ice::Application
+class Server : public Test::TestHelper
{
public:
- virtual int run(int argc, char* argv[]);
+ void run(int, char**);
};
-int
-Server::run(int argc, char* argv[])
+void
+Server::run(int argc, char** argv)
{
- Ice::PropertiesPtr properties = communicator()->getProperties();
-
- Ice::StringSeq args = Ice::argsToStringSeq(argc, argv);
- args = properties->parseCommandLineOptions("Test", args);
- Ice::stringSeqToArgs(args, argc, argv);
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ Ice::PropertiesPtr properties = communicator->getProperties();
string name = properties->getProperty("Ice.ProgramName");
- Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("Server");
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("Server");
Ice::ObjectPtr object = new TestI(adapter, properties);
adapter->add(object, Ice::stringToIdentity(name));
- shutdownOnInterrupt();
try
{
adapter->activate();
@@ -43,15 +39,7 @@ Server::run(int argc, char* argv[])
catch(const Ice::ObjectAdapterDeactivatedException&)
{
}
- communicator()->waitForShutdown();
- ignoreInterrupt();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
-int
-main(int argc, char* argv[])
-{
- Server app;
- int rc = app.main(argc, argv);
- return rc;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/IceGrid/replicaGroup/AllTests.cpp b/cpp/test/IceGrid/replicaGroup/AllTests.cpp
index f7418749ce2..0a8daf190b8 100644
--- a/cpp/test/IceGrid/replicaGroup/AllTests.cpp
+++ b/cpp/test/IceGrid/replicaGroup/AllTests.cpp
@@ -11,7 +11,7 @@
#include <Ice/BuiltinSequences.h>
#include <IceGrid/IceGrid.h>
#include <IceUtil/Thread.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <set>
@@ -105,8 +105,9 @@ removeServer(const AdminPrx& admin, const string& id)
}
void
-allTests(const Ice::CommunicatorPtr& comm)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr comm = helper->communicator();
IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(
comm->stringToProxy(comm->getDefaultLocator()->ice_getIdentity().category + "/Registry"));
test(registry);
@@ -115,7 +116,9 @@ allTests(const Ice::CommunicatorPtr& comm)
test(query);
AdminSessionPrx session = registry->createAdminSession("foo", "bar");
- session->ice_getConnection()->setACM(registry->getACMTimeout(), IceUtil::None, Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
+ session->ice_getConnection()->setACM(registry->getACMTimeout(),
+ IceUtil::None,
+ Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
AdminPrx admin = session->getAdmin();
test(admin);
diff --git a/cpp/test/IceGrid/replicaGroup/Client.cpp b/cpp/test/IceGrid/replicaGroup/Client.cpp
index 6368aecea6c..7184106d732 100644
--- a/cpp/test/IceGrid/replicaGroup/Client.cpp
+++ b/cpp/test/IceGrid/replicaGroup/Client.cpp
@@ -8,41 +8,24 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
-{
- int status;
- Ice::CommunicatorPtr communicator;
+public:
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
+ void run(int, char**);
+};
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceGrid/replicaGroup/RegistryPlugin.cpp b/cpp/test/IceGrid/replicaGroup/RegistryPlugin.cpp
index 434293ee7b8..e759070b0ee 100644
--- a/cpp/test/IceGrid/replicaGroup/RegistryPlugin.cpp
+++ b/cpp/test/IceGrid/replicaGroup/RegistryPlugin.cpp
@@ -10,7 +10,7 @@
#include <Ice/Ice.h>
#include <IceGrid/IceGrid.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace IceGrid;
diff --git a/cpp/test/IceGrid/replicaGroup/Server.cpp b/cpp/test/IceGrid/replicaGroup/Server.cpp
index eb26ba14cb5..48106fea387 100644
--- a/cpp/test/IceGrid/replicaGroup/Server.cpp
+++ b/cpp/test/IceGrid/replicaGroup/Server.cpp
@@ -9,30 +9,30 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-class Server : public Ice::Application
+class Server : public Test::TestHelper
{
public:
- virtual int run(int argc, char* argv[]);
+ void run(int, char**);
};
-int
-Server::run(int, char**)
+void
+Server::run(int argc, char** argv)
{
- Ice::ObjectAdapterPtr adpt = communicator()->createObjectAdapter("ReplicatedAdapter");
- Ice::PropertiesPtr properties = communicator()->getProperties();
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ Ice::ObjectAdapterPtr adpt = communicator->createObjectAdapter("ReplicatedAdapter");
+ Ice::PropertiesPtr properties = communicator->getProperties();
Ice::ObjectPtr object = new TestI(properties);
adpt->add(object, Ice::stringToIdentity(properties->getProperty("Ice.ProgramName")));
adpt->add(object, Ice::stringToIdentity(properties->getProperty("Identity")));
- shutdownOnInterrupt();
try
{
adpt->activate();
- communicator()->getAdmin();
+ communicator->getAdmin();
}
catch(const Ice::ObjectAdapterDeactivatedException&)
{
@@ -44,14 +44,7 @@ Server::run(int, char**)
// servant.
//
}
- communicator()->waitForShutdown();
- ignoreInterrupt();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
-int
-main(int argc, char* argv[])
-{
- Server app;
- return app.main(argc, argv);
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/IceGrid/replication/AllTests.cpp b/cpp/test/IceGrid/replication/AllTests.cpp
index 0d9b84aaafb..681b22656be 100644
--- a/cpp/test/IceGrid/replication/AllTests.cpp
+++ b/cpp/test/IceGrid/replication/AllTests.cpp
@@ -12,7 +12,7 @@
#include <Ice/Locator.h>
#include <IceGrid/IceGrid.h>
#include <IceUtil/Thread.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -247,14 +247,17 @@ createAdminSession(const Ice::LocatorPrx& locator, const string& replica)
}
void
-allTests(const Ice::CommunicatorPtr& comm)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr comm = helper->communicator();
IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(
comm->stringToProxy(comm->getDefaultLocator()->ice_getIdentity().category + "/Registry"));
AdminSessionPrx session = registry->createAdminSession("foo", "bar");
- session->ice_getConnection()->setACM(registry->getACMTimeout(), IceUtil::None, Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
+ session->ice_getConnection()->setACM(registry->getACMTimeout(),
+ IceUtil::None,
+ Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
AdminPrx admin = session->getAdmin();
test(admin);
diff --git a/cpp/test/IceGrid/replication/Client.cpp b/cpp/test/IceGrid/replication/Client.cpp
index 7f6297805d8..33f90f5d9b1 100644
--- a/cpp/test/IceGrid/replication/Client.cpp
+++ b/cpp/test/IceGrid/replication/Client.cpp
@@ -8,42 +8,25 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
-{
- int status;
- Ice::CommunicatorPtr communicator;
+public:
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- communicator->getProperties()->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
+ void run(int, char**);
+};
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceGrid/replication/Server.cpp b/cpp/test/IceGrid/replication/Server.cpp
index c1a1116d4e4..2046a002414 100644
--- a/cpp/test/IceGrid/replication/Server.cpp
+++ b/cpp/test/IceGrid/replication/Server.cpp
@@ -9,24 +9,23 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-class Server : public Ice::Application
+class Server : public Test::TestHelper
{
public:
- virtual int run(int argc, char* argv[]);
+ void run(int, char**);
};
-int
-Server::run(int, char**)
+void
+Server::run(int argc, char** argv)
{
- Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
- Ice::ObjectPtr object = new TestI();
- adapter->add(object, Ice::stringToIdentity(communicator()->getProperties()->getProperty("Identity")));
- shutdownOnInterrupt();
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
+ adapter->add(new TestI(), Ice::stringToIdentity(communicator->getProperties()->getProperty("Identity")));
try
{
adapter->activate();
@@ -34,14 +33,7 @@ Server::run(int, char**)
catch(const Ice::ObjectAdapterDeactivatedException&)
{
}
- communicator()->waitForShutdown();
- ignoreInterrupt();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
-int
-main(int argc, char* argv[])
-{
- Server app;
- return app.main(argc, argv);
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/IceGrid/session/AllTests.cpp b/cpp/test/IceGrid/session/AllTests.cpp
index 06f25d48dc8..742e2331f10 100644
--- a/cpp/test/IceGrid/session/AllTests.cpp
+++ b/cpp/test/IceGrid/session/AllTests.cpp
@@ -11,7 +11,7 @@
#include <Ice/Ice.h>
#include <IceGrid/IceGrid.h>
#include <Glacier2/Router.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -478,22 +478,25 @@ void
testFailedAndPrintObservers(const char* expr, const char* file, unsigned int line)
{
ObserverBase::printStack();
- testFailed(expr, file, line);
+ Test::testFailed(expr, file, line);
}
#undef test
#define test(ex) ((ex) ? ((void)0) : testFailedAndPrintObservers(#ex, __FILE__, __LINE__))
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
bool encoding10 = communicator->getProperties()->getProperty("Ice.Default.EncodingVersion") == "1.0";
IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(
communicator->stringToProxy(communicator->getDefaultLocator()->ice_getIdentity().category + "/Registry"));
AdminSessionPrx session = registry->createAdminSession("admin3", "test3");
- session->ice_getConnection()->setACM(registry->getACMTimeout(), IceUtil::None, Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
+ session->ice_getConnection()->setACM(registry->getACMTimeout(),
+ IceUtil::None,
+ Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
AdminPrx admin = session->getAdmin();
test(admin);
diff --git a/cpp/test/IceGrid/session/Client.cpp b/cpp/test/IceGrid/session/Client.cpp
index 009743a4971..c16cf7c8bd2 100644
--- a/cpp/test/IceGrid/session/Client.cpp
+++ b/cpp/test/IceGrid/session/Client.cpp
@@ -8,41 +8,26 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
-{
- int status;
- Ice::CommunicatorPtr communicator;
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Warn.Connections", "0");
- communicator = Ice::initialize(argc, argv, initData);
- communicator->getProperties()->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
+public:
- if(communicator)
- {
- communicator->destroy();
- }
+ void run(int, char**);
+};
- return status;
+void
+Client::run(int argc, char** argv)
+{
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Warn.Connections", "0");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ communicator->getProperties()->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceGrid/session/PermissionsVerifier.cpp b/cpp/test/IceGrid/session/PermissionsVerifier.cpp
index 71d7732c284..00031f39cc8 100644
--- a/cpp/test/IceGrid/session/PermissionsVerifier.cpp
+++ b/cpp/test/IceGrid/session/PermissionsVerifier.cpp
@@ -11,7 +11,7 @@
#include <Glacier2/PermissionsVerifier.h>
#include <IceSSL/Plugin.h>
#include <Test.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
@@ -26,30 +26,30 @@ public:
{
throw Test::ExtendedPermissionDeniedException("reason");
}
- return (userId == "admin1" && passwd == "test1") || (userId == "admin2" && passwd == "test2") ||
- (userId == "admin3" && passwd == "test3");
+ return (userId == "admin1" && passwd == "test1") ||
+ (userId == "admin2" && passwd == "test2") ||
+ (userId == "admin3" && passwd == "test3");
}
};
-class PermissionsVerifierServer : public Ice::Application
+class PermissionsVerifierServer : public Test::TestHelper
{
public:
- virtual int run(int, char*[])
- {
- Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("PermissionsVerifier");
- adapter->add(new AdminPermissionsVerifierI, Ice::stringToIdentity("AdminPermissionsVerifier"));
- adapter->activate();
- communicator()->waitForShutdown();
- return EXIT_SUCCESS;
- }
+ void run(int, char**);
};
-int
-main(int argc, char* argv[])
+void
+PermissionsVerifierServer::run(int argc, char** argv)
{
- PermissionsVerifierServer app;
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
- return app.main(argc, argv, initData);
+ shutdownOnInterrupt();
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("PermissionsVerifier");
+ adapter->add(new AdminPermissionsVerifierI, Ice::stringToIdentity("AdminPermissionsVerifier"));
+ adapter->activate();
+ communicator->waitForShutdown();
}
+
+DEFINE_TEST(PermissionsVerifierServer)
diff --git a/cpp/test/IceGrid/session/Server.cpp b/cpp/test/IceGrid/session/Server.cpp
index 7256a51859b..729e99e0e43 100644
--- a/cpp/test/IceGrid/session/Server.cpp
+++ b/cpp/test/IceGrid/session/Server.cpp
@@ -10,7 +10,7 @@
#include <Ice/Ice.h>
#include <Glacier2/PermissionsVerifier.h>
#include <IceSSL/Plugin.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -53,25 +53,25 @@ public:
}
};
-class Server : public Ice::Application
+class Server : public Test::TestHelper
{
public:
- virtual int run(int argc, char* argv[]);
+ void run(int, char**);
};
-int
-Server::run(int, char**)
+void
+Server::run(int argc, char** argv)
{
- Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("Server");
- if(communicator()->getProperties()->getPropertyAsInt("AddPermissionsVerifiers") > 0)
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("Server");
+ if(communicator->getProperties()->getPropertyAsInt("AddPermissionsVerifiers") > 0)
{
adapter->add(new ClientPermissionsVerifierI(), Ice::stringToIdentity("ClientPermissionsVerifier"));
adapter->add(new SSLPermissionsVerifierI(), Ice::stringToIdentity("SSLPermissionsVerifier"));
}
adapter->activate();
- shutdownOnInterrupt();
try
{
adapter->activate();
@@ -79,15 +79,7 @@ Server::run(int, char**)
catch(const Ice::ObjectAdapterDeactivatedException&)
{
}
- communicator()->waitForShutdown();
- ignoreInterrupt();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
-int
-main(int argc, char* argv[])
-{
- Server app;
- int rc = app.main(argc, argv);
- return rc;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/IceGrid/simple/AllTests.cpp b/cpp/test/IceGrid/simple/AllTests.cpp
index 17e0ef06625..cc339dd8ac9 100644
--- a/cpp/test/IceGrid/simple/AllTests.cpp
+++ b/cpp/test/IceGrid/simple/AllTests.cpp
@@ -10,15 +10,16 @@
#include <IceUtil/IceUtil.h>
#include <Ice/Ice.h>
#include <IceGrid/IceGrid.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
using namespace Test;
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
cout << "testing stringToProxy... " << flush;
Ice::ObjectPrxPtr base = communicator->stringToProxy("test @ TestAdapter");
test(base);
@@ -178,7 +179,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
intf = " --interface \"" + intf + "\"";
}
ostringstream port;
- port << getTestPort(initData.properties, 99);
+ port << TestHelper::getTestPort(initData.properties, 99);
initData.properties->setProperty("IceLocatorDiscovery.Lookup",
"udp -h " + multicast + " --interface unknown:" +
"udp -h " + multicast + " -p " + port.str() + intf);
@@ -208,8 +209,9 @@ allTests(const Ice::CommunicatorPtr& communicator)
}
void
-allTestsWithDeploy(const Ice::CommunicatorPtr& communicator)
+allTestsWithDeploy(Test::TestHelper* helper)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
cout << "testing stringToProxy... " << flush;
Ice::ObjectPrxPtr base = communicator->stringToProxy("test @ TestAdapter");
test(base);
diff --git a/cpp/test/IceGrid/simple/Client.cpp b/cpp/test/IceGrid/simple/Client.cpp
index ec2cafcabba..e1414cda209 100644
--- a/cpp/test/IceGrid/simple/Client.cpp
+++ b/cpp/test/IceGrid/simple/Client.cpp
@@ -9,15 +9,27 @@
#include <Ice/Ice.h>
#include <IceUtil/IceUtil.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
using namespace Test;
-int
-run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
+{
+#ifdef ICE_STATIC_LIBS
+ Ice::registerIceLocatorDiscovery(false);
+#endif
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+
bool withDeploy = false;
for(int i = 1; i < argc; ++i)
@@ -31,46 +43,14 @@ run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
if(!withDeploy)
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
else
{
- void allTestsWithDeploy(const Ice::CommunicatorPtr&);
- allTestsWithDeploy(communicator);
+ void allTestsWithDeploy(Test::TestHelper*);
+ allTestsWithDeploy(this);
}
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
- Ice::registerIceLocatorDiscovery(false);
-#endif
- int status;
-
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceGrid/simple/Makefile.mk b/cpp/test/IceGrid/simple/Makefile.mk
index 1c8fcbfe6fc..8fc07a2b020 100644
--- a/cpp/test/IceGrid/simple/Makefile.mk
+++ b/cpp/test/IceGrid/simple/Makefile.mk
@@ -7,6 +7,6 @@
#
# **********************************************************************
-$(test)_dependencies = IceLocatorDiscovery IceGrid Glacier2 Ice TestCommon
+$(test)_dependencies = IceLocatorDiscovery IceGrid Glacier2 TestCommon IceSSL Ice
tests += $(test)
diff --git a/cpp/test/IceGrid/simple/Server.cpp b/cpp/test/IceGrid/simple/Server.cpp
index ad8bd7c6b65..9bc917e1bd5 100644
--- a/cpp/test/IceGrid/simple/Server.cpp
+++ b/cpp/test/IceGrid/simple/Server.cpp
@@ -9,30 +9,26 @@
#include <Ice/Ice.h>
#include <TestI.h>
+#include <TestHelper.h>
using namespace std;
-class Server : public Ice::Application
+class Server : public Test::TestHelper
{
public:
- virtual int run(int argc, char* argv[]);
-
+ void run(int, char**);
};
-int
-Server::run(int argc, char* argv[])
+void
+Server::run(int argc, char** argv)
{
- Ice::StringSeq args = Ice::argsToStringSeq(argc, argv);
- args = communicator()->getProperties()->parseCommandLineOptions("TestAdapter", args);
- Ice::stringSeqToArgs(args, argc, argv);
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
- Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
- Ice::ObjectPtr object = ICE_MAKE_SHARED(TestI);
- string id = communicator()->getProperties()->getPropertyWithDefault("Identity", "test");
- adapter->add(object, Ice::stringToIdentity(id));
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
+ string id = communicator->getProperties()->getPropertyWithDefault("Identity", "test");
+ adapter->add(ICE_MAKE_SHARED(TestI), Ice::stringToIdentity(id));
- shutdownOnInterrupt();
try
{
adapter->activate();
@@ -40,19 +36,7 @@ Server::run(int argc, char* argv[])
catch(const Ice::ObjectAdapterDeactivatedException&)
{
}
- communicator()->waitForShutdown();
- ignoreInterrupt();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
- Server app;
- int rc = app.main(argc, argv);
- return rc;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/IceGrid/update/AllTests.cpp b/cpp/test/IceGrid/update/AllTests.cpp
index 301d7ad036b..a87c6d8d046 100644
--- a/cpp/test/IceGrid/update/AllTests.cpp
+++ b/cpp/test/IceGrid/update/AllTests.cpp
@@ -10,7 +10,7 @@
#include <IceUtil/Thread.h>
#include <Ice/Ice.h>
#include <IceGrid/IceGrid.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -63,14 +63,17 @@ hasProperty(const CommunicatorDescriptorPtr& desc, const string& name, const str
}
void
-allTests(const Ice::CommunicatorPtr& communicator)
+allTests(Test::TestHelper* helper)
{
+ const Ice::CommunicatorPtr& communicator = helper->communicator();
IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast(
communicator->stringToProxy(communicator->getDefaultLocator()->ice_getIdentity().category + "/Registry"));
test(registry);
AdminSessionPrx session = registry->createAdminSession("foo", "bar");
- session->ice_getConnection()->setACM(registry->getACMTimeout(), IceUtil::None, Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
+ session->ice_getConnection()->setACM(registry->getACMTimeout(),
+ IceUtil::None,
+ Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways));
AdminPrx admin = session->getAdmin();
test(admin);
diff --git a/cpp/test/IceGrid/update/Client.cpp b/cpp/test/IceGrid/update/Client.cpp
index 1e8df96a8ca..33f90f5d9b1 100644
--- a/cpp/test/IceGrid/update/Client.cpp
+++ b/cpp/test/IceGrid/update/Client.cpp
@@ -8,41 +8,25 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
-int
-run(int, char**, const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- void allTests(const Ice::CommunicatorPtr&);
- allTests(communicator);
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
-{
- int status;
- Ice::CommunicatorPtr communicator;
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- communicator->getProperties()->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
+public:
- if(communicator)
- {
- communicator->destroy();
- }
+ void run(int, char**);
+};
- return status;
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ communicator->getProperties()->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
+ void allTests(Test::TestHelper*);
+ allTests(this);
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceGrid/update/Server.cpp b/cpp/test/IceGrid/update/Server.cpp
index 4d4c26923d0..319154e55bd 100644
--- a/cpp/test/IceGrid/update/Server.cpp
+++ b/cpp/test/IceGrid/update/Server.cpp
@@ -9,33 +9,28 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-class Server : public Ice::Application
+class Server : public Test::TestHelper
{
public:
- virtual int run(int argc, char* argv[]);
+ void run(int, char**);
};
-int
-Server::run(int argc, char* argv[])
+void
+Server::run(int argc, char** argv)
{
- Ice::PropertiesPtr properties = communicator()->getProperties();
-
- Ice::StringSeq args = Ice::argsToStringSeq(argc, argv);
- args = properties->parseCommandLineOptions("Test", args);
- Ice::stringSeqToArgs(args, argc, argv);
-
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ Ice::PropertiesPtr properties = communicator->getProperties();
string name = properties->getProperty("Ice.ProgramName");
- Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("Server");
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("Server");
Ice::ObjectPtr object = new TestI(properties);
adapter->add(object, Ice::stringToIdentity(name));
- shutdownOnInterrupt();
try
{
adapter->activate();
@@ -43,15 +38,7 @@ Server::run(int argc, char* argv[])
catch(const Ice::ObjectAdapterDeactivatedException&)
{
}
- communicator()->waitForShutdown();
- ignoreInterrupt();
- return EXIT_SUCCESS;
+ communicator->waitForShutdown();
}
-int
-main(int argc, char* argv[])
-{
- Server app;
- int rc = app.main(argc, argv);
- return rc;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/IceSSL/configuration/AllTests.cpp b/cpp/test/IceSSL/configuration/AllTests.cpp
index a6b1564066c..9460b31ac6a 100644
--- a/cpp/test/IceSSL/configuration/AllTests.cpp
+++ b/cpp/test/IceSSL/configuration/AllTests.cpp
@@ -9,20 +9,22 @@
#include <Ice/Ice.h>
#include <IceSSL/IceSSL.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#include <fstream>
#include <algorithm>
#include <Ice/UniqueRef.h>
+
#if defined(__APPLE__)
-# include <sys/sysctl.h>
-# if TARGET_OS_IPHONE != 0
-# include <IceSSL/SecureTransportUtil.h> // For loadCertificateChain
-# endif
+# include <sys/sysctl.h>
+# if TARGET_OS_IPHONE != 0
+# include <IceSSL/SecureTransportUtil.h> // For loadCertificateChain
+# endif
#elif defined(ICE_OS_UWP)
-# include <ppltasks.h>
-# include <nserror.h>
+# include <ppltasks.h>
+# include <nserror.h>
+
using namespace concurrency;
using namespace Platform;
using namespace Windows::Foundation;
@@ -31,6 +33,7 @@ using namespace Windows::Storage;
using namespace Windows::Storage::Streams;
using namespace Windows::Security::Cryptography;
using namespace Windows::Security::Cryptography::Certificates;
+
#endif
#ifdef ICE_CPP11_MAPPING
@@ -40,22 +43,22 @@ using namespace Windows::Security::Cryptography::Certificates;
#endif
#if defined(__APPLE__)
-# define ICE_USE_SECURE_TRANSPORT 1
-#if defined(__APPLE__) && TARGET_OS_IPHONE != 0
-# define ICE_USE_SECURE_TRANSPORT_IOS 1
-#else
-# define ICE_USE_SECURE_TRANSPORT_MACOS 1
-#endif
+# define ICE_USE_SECURE_TRANSPORT 1
+# if defined(__APPLE__) && TARGET_OS_IPHONE != 0
+# define ICE_USE_SECURE_TRANSPORT_IOS 1
+# else
+# define ICE_USE_SECURE_TRANSPORT_MACOS 1
+# endif
#elif defined(_WIN32)
-# if !defined(ICE_OS_UWP) && !defined(ICE_USE_OPENSSL)
-# define ICE_USE_SCHANNEL 1
-# endif
+# if !defined(ICE_OS_UWP) && !defined(ICE_USE_OPENSSL)
+# define ICE_USE_SCHANNEL 1
+# endif
#else
-# define ICE_USE_OPENSSL 1
+# define ICE_USE_OPENSSL 1
#endif
#if defined(_WIN32) && defined(ICE_USE_OPENSSL)
-# include <IceSSL/OpenSSL.h>
+# include <IceSSL/OpenSSL.h>
#endif
using namespace std;
@@ -685,8 +688,9 @@ void verify(const IceSSL::CertificatePtr& cert, const IceSSL::CertificatePtr& ca
}
Test::ServerFactoryPrxPtr
-allTests(const CommunicatorPtr& communicator, const string& testDir, bool p12)
+allTests(Test::TestHelper* helper, const string& testDir, bool p12)
{
+ Ice::CommunicatorPtr communicator = helper->communicator();
bool elCapitanUpdate2OrLower = false;
#ifdef __APPLE__
bool isElCapitanOrGreater = false;
@@ -706,7 +710,7 @@ allTests(const CommunicatorPtr& communicator, const string& testDir, bool p12)
elCapitanUpdate2OrLower = (majorVersion == 15) && (minorVersion <= 2);
}
#endif
- string factoryRef = "factory:" + getTestEndpoint(communicator, 0, "tcp");
+ string factoryRef = "factory:" + helper->getTestEndpoint("tcp");
ObjectPrxPtr base = communicator->stringToProxy(factoryRef);
test(base);
Test::ServerFactoryPrxPtr factory = ICE_CHECKED_CAST(Test::ServerFactoryPrx, base);
diff --git a/cpp/test/IceSSL/configuration/Client.cpp b/cpp/test/IceSSL/configuration/Client.cpp
index 16834c0fa0f..16ce7baafc2 100644
--- a/cpp/test/IceSSL/configuration/Client.cpp
+++ b/cpp/test/IceSSL/configuration/Client.cpp
@@ -9,60 +9,28 @@
#include <Ice/Ice.h>
#include <IceSSL/IceSSL.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
#if defined(ICE_USE_OPENSSL)
-# include <IceSSL/OpenSSL.h>
+# include <IceSSL/OpenSSL.h>
#endif
-DEFINE_TEST("client")
-
using namespace std;
-int
-run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- string testdir;
-#if TARGET_OS_IPHONE == 0
- if(argc < 2)
- {
- cerr << "Usage: " << argv[0] << " testdir" << endl;
- return 1;
- }
- testdir = argv[1];
-#endif
+public:
- Test::ServerFactoryPrxPtr allTests(const Ice::CommunicatorPtr&, const string&, bool);
-
- try
- {
- cerr << "testing with PKCS12 certificates..." << endl;
- Test::ServerFactoryPrxPtr factory = allTests(communicator, testdir, true);
-#if TARGET_OS_IPHONE == 0 && !defined(ICE_OS_UWP)
- cerr << "testing with PEM certificates..." << endl;
- factory = allTests(communicator, testdir, false);
-#endif
- if(factory)
- {
- factory->shutdown();
- }
- }
- catch(const IceSSL::CertificateReadException& ex)
- {
- cout << "couldn't read certificate: " << ex.reason << endl;
- return EXIT_FAILURE;
- }
- catch(const std::exception& ex)
+ Client() : Test::TestHelper(false)
{
- cout << "unexpected exception: " << ex.what() << endl;
- return EXIT_FAILURE;
}
- return EXIT_SUCCESS;
-}
-int
-main(int argc, char* argv[])
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
{
//
// Explicitly register the IceSSL plugin to test registerIceSSL. The tests
@@ -73,29 +41,30 @@ main(int argc, char* argv[])
Ice::registerIceSSL();
#endif
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceWS(true);
-#endif
-
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
+ string testdir;
+#if TARGET_OS_IPHONE == 0
+ if(argc < 2)
{
- cerr << ex << endl;
- status = EXIT_FAILURE;
+ ostringstream os;
+ os << "Usage: " << argv[0] << " testdir";
+ throw std::invalid_argument(os.str());
}
+ testdir = argv[1];
+#endif
+
+ Test::ServerFactoryPrxPtr allTests(Test::TestHelper*, const string&, bool);
- if(communicator)
+ cerr << "testing with PKCS12 certificates..." << endl;
+ Test::ServerFactoryPrxPtr factory = allTests(this, testdir, true);
+#if TARGET_OS_IPHONE == 0 && !defined(ICE_OS_UWP)
+ cerr << "testing with PEM certificates..." << endl;
+ factory = allTests(this, testdir, false);
+#endif
+ if(factory)
{
- communicator->destroy();
+ factory->shutdown();
}
-
- return status;
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceSSL/configuration/Makefile.mk b/cpp/test/IceSSL/configuration/Makefile.mk
index 8cc27e3a8a8..f5f70d0b7b2 100644
--- a/cpp/test/IceSSL/configuration/Makefile.mk
+++ b/cpp/test/IceSSL/configuration/Makefile.mk
@@ -7,7 +7,7 @@
#
# **********************************************************************
-$(test)_dependencies = IceSSL Ice TestCommon
+$(test)_dependencies = TestCommon IceSSL Ice
#
# Disable var tracking assignments for Linux with this test
diff --git a/cpp/test/IceSSL/configuration/Server.cpp b/cpp/test/IceSSL/configuration/Server.cpp
index 51237ea3e77..0cd538506a1 100644
--- a/cpp/test/IceSSL/configuration/Server.cpp
+++ b/cpp/test/IceSSL/configuration/Server.cpp
@@ -9,68 +9,45 @@
#include <Ice/Ice.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#if defined(ICE_USE_OPENSSL)
# include <IceSSL/OpenSSL.h>
#endif
-DEFINE_TEST("server")
-
using namespace std;
-int
-run(int argc, char** argv, const Ice::CommunicatorPtr& communicator)
+class Server : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Server::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
string testdir;
#if !defined(__APPLE__) || TARGET_OS_IPHONE == 0
if(argc < 2)
{
- cerr << "Usage: " << argv[0] << " testdir" << endl;
- return 1;
+ ostringstream os;
+ os << "Usage: " << argv[0] << " testdir";
+ throw invalid_argument(os.str());
}
testdir = string(argv[1]) + "/../certs";
#else
testdir = "certs";
#endif
- communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0, "tcp"));
+ communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint("tcp"));
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
Ice::Identity id = Ice::stringToIdentity("factory");
adapter->add(ICE_MAKE_SHARED(ServerFactoryI, testdir), id);
adapter->activate();
- TEST_READY
+ serverReady();
communicator->waitForShutdown();
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
-#ifdef ICE_STATIC_LIBS
- Ice::registerIceSSL(false);
- Ice::registerIceWS(true);
-#endif
-
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Server)
diff --git a/cpp/test/IceSSL/configuration/TestI.cpp b/cpp/test/IceSSL/configuration/TestI.cpp
index dfd127edd0f..f8e7c460d45 100644
--- a/cpp/test/IceSSL/configuration/TestI.cpp
+++ b/cpp/test/IceSSL/configuration/TestI.cpp
@@ -10,7 +10,7 @@
#include <Ice/Ice.h>
#include <IceUtil/Thread.h>
#include <TestI.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <IceSSL/Plugin.h>
#include <IceSSL/ConnectionInfo.h>
diff --git a/cpp/test/IceStorm/federation/Publisher.cpp b/cpp/test/IceStorm/federation/Publisher.cpp
index 3bb14c51efa..fac42076f3d 100644
--- a/cpp/test/IceStorm/federation/Publisher.cpp
+++ b/cpp/test/IceStorm/federation/Publisher.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <IceStorm/IceStorm.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Event.h>
using namespace std;
@@ -17,101 +17,77 @@ using namespace Ice;
using namespace IceStorm;
using namespace Test;
-int
-run(int, char* argv[], const CommunicatorPtr& communicator)
+class Publisher : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Publisher::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
PropertiesPtr properties = communicator->getProperties();
- const char* managerProxyProperty = "IceStormAdmin.TopicManager.Default";
- string managerProxy = properties->getProperty(managerProxyProperty);
+ const string managerProxy = properties->getProperty("IceStormAdmin.TopicManager.Default");
if(managerProxy.empty())
{
- cerr << argv[0] << ": property `" << managerProxyProperty << "' is not set" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": `IceStormAdmin.TopicManager.Default' is not set";
+ throw runtime_error(os.str());
}
ObjectPrx base = communicator->stringToProxy(managerProxy);
IceStorm::TopicManagerPrx manager = IceStorm::TopicManagerPrx::checkedCast(base);
if(!manager)
{
- cerr << argv[0] << ": `" << managerProxy << "' is not running" << endl;
- return EXIT_FAILURE;
- }
-
- TopicPrx fed1;
- try
- {
- fed1 = manager->retrieve("fed1");
- }
- catch(const NoSuchTopic& e)
- {
- cerr << argv[0] << ": NoSuchTopic: " << e.name << endl;
- return EXIT_FAILURE;
-
- }
-
- TopicPrx fed2;
- try
- {
- fed2 = manager->retrieve("fed2");
+ ostringstream os;
+ os << argv[0] << ": `" << managerProxy << "' is not running";
+ throw runtime_error(os.str());
}
- catch(const NoSuchTopic& e)
- {
- cerr << argv[0] << ": NoSuchTopic: " << e.name << endl;
- return EXIT_FAILURE;
- }
-
- TopicPrx fed3;
- try
- {
- fed3 = manager->retrieve("fed3");
- }
- catch(const NoSuchTopic& e)
- {
- cerr << argv[0] << ": NoSuchTopic: " << e.name << endl;
- return EXIT_FAILURE;
-
- }
+ TopicPrx fed1 = manager->retrieve("fed1");
+ TopicPrx fed2 = manager->retrieve("fed2");
+ TopicPrx fed3 = manager->retrieve("fed3");
EventPrx eventFed1 = EventPrx::uncheckedCast(fed1->getPublisher()->ice_oneway());
EventPrx eventFed2 = EventPrx::uncheckedCast(fed2->getPublisher()->ice_oneway());
EventPrx eventFed3 = EventPrx::uncheckedCast(fed3->getPublisher()->ice_oneway());
Ice::Context context;
- int i;
context["cost"] = "0";
- for(i = 0; i < 10; ++i)
+ for(int i = 0; i < 10; ++i)
{
eventFed1->pub("fed1:0", context);
}
context["cost"] = "10";
- for(i = 0; i < 10; ++i)
+ for(int i = 0; i < 10; ++i)
{
eventFed1->pub("fed1:10", context);
}
context["cost"] = "15";
- for(i = 0; i < 10; ++i)
+ for(int i = 0; i < 10; ++i)
{
eventFed1->pub("fed1:15", context);
}
context["cost"] = "0";
- for(i = 0; i < 10; ++i)
+ for(int i = 0; i < 10; ++i)
{
eventFed2->pub("fed2:0", context);
}
context["cost"] = "5";
- for(i = 0; i < 10; ++i)
+ for(int i = 0; i < 10; ++i)
{
eventFed2->pub("fed2:5", context);
}
context["cost"] = "0";
- for(i = 0; i < 10; ++i)
+ for(int i = 0; i < 10; ++i)
{
eventFed3->pub("fed3:0", context);
}
@@ -123,31 +99,6 @@ run(int, char* argv[], const CommunicatorPtr& communicator)
EventPrx::uncheckedCast(eventFed1->ice_twoway())->ice_ping();
EventPrx::uncheckedCast(eventFed2->ice_twoway())->ice_ping();
EventPrx::uncheckedCast(eventFed3->ice_twoway())->ice_ping();
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- CommunicatorPtr communicator;
- InitializationData initData = getTestInitData(argc, argv);
- try
- {
- communicator = initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Publisher)
diff --git a/cpp/test/IceStorm/federation/Subscriber.cpp b/cpp/test/IceStorm/federation/Subscriber.cpp
index 333cb3f3c7e..7f75d6e6a95 100644
--- a/cpp/test/IceStorm/federation/Subscriber.cpp
+++ b/cpp/test/IceStorm/federation/Subscriber.cpp
@@ -12,7 +12,7 @@
#include <Event.h>
#include <IceUtil/Mutex.h>
#include <IceUtil/MutexPtrLock.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
@@ -23,19 +23,14 @@ class EventI : public Event
{
public:
- EventI(const CommunicatorPtr& communicator) :
- _communicator(communicator)
- {
- }
-
virtual void
- pub(const string&, const Ice::Current&)
+ pub(const string&, const Ice::Current& current)
{
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(_countMutex);
if(++_count == 30 + 40 + 30)
{
- _communicator->shutdown();
+ current.adapter->getCommunicator()->shutdown();
}
}
@@ -43,8 +38,6 @@ public:
private:
- CommunicatorPtr _communicator;
-
static int _count;
};
@@ -83,13 +76,20 @@ usage(const char* appName)
cerr <<
"Options:\n"
"-h, --help Show this message.\n"
- "-b Use batch reliability.\n"
- ;
+ "-b Use batch reliability.\n";
}
-int
-run(int argc, char* argv[], const CommunicatorPtr& communicator)
+class Subscriber : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Subscriber::run(int argc, char** argv)
{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
bool batch = false;
int idx = 1;
@@ -108,44 +108,40 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
else if(strcmp(argv[idx], "-h") == 0 || strcmp(argv[idx], "--help") == 0)
{
usage(argv[0]);
- return EXIT_SUCCESS;
+ return;
}
else if(argv[idx][0] == '-')
{
- cerr << argv[0] << ": unknown option `" << argv[idx] << "'" << endl;
usage(argv[0]);
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] <<": unknown option `" << argv[idx] << "'";
+ throw invalid_argument(os.str());
}
}
PropertiesPtr properties = communicator->getProperties();
- const char* managerProxyProperty = "IceStormAdmin.TopicManager.Default";
- string managerProxy = properties->getProperty(managerProxyProperty);
+ string managerProxy = properties->getProperty("IceStormAdmin.TopicManager.Default");
if(managerProxy.empty())
{
- cerr << argv[0] << ": property `" << managerProxyProperty << "' is not set" << endl;
- return EXIT_FAILURE;
+ throw runtime_error("property `IceStormAdmin.TopicManager.Default' is not set");
}
ObjectPrx base = communicator->stringToProxy(managerProxy);
IceStorm::TopicManagerPrx manager = IceStorm::TopicManagerPrx::checkedCast(base);
if(!manager)
{
- cerr << argv[0] << ": `" << managerProxy << "' is not running" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": `" << managerProxy << "' is not running";
+ throw runtime_error(os.str());
}
ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("SubscriberAdapter", "default");
- EventIPtr eventFed1 = new EventI(communicator);
- EventIPtr eventFed2 = new EventI(communicator);
- EventIPtr eventFed3 = new EventI(communicator);
-
//
// Activate the servants.
//
- ObjectPrx objFed1 = adapter->addWithUUID(eventFed1);
- ObjectPrx objFed2 = adapter->addWithUUID(eventFed2);
- ObjectPrx objFed3 = adapter->addWithUUID(eventFed3);
+ ObjectPrx objFed1 = adapter->addWithUUID(new EventI());
+ ObjectPrx objFed2 = adapter->addWithUUID(new EventI());
+ ObjectPrx objFed3 = adapter->addWithUUID(new EventI());
IceStorm::QoS qos;
if(batch)
@@ -161,21 +157,9 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
objFed3 = objFed1->ice_oneway();
}
- TopicPrx fed1;
- TopicPrx fed2;
- TopicPrx fed3;
-
- try
- {
- fed1 = manager->retrieve("fed1");
- fed2 = manager->retrieve("fed2");
- fed3 = manager->retrieve("fed3");
- }
- catch(const IceStorm::NoSuchTopic& e)
- {
- cerr << argv[0] << ": NoSuchTopic: " << e.name << endl;
- return EXIT_FAILURE;
- }
+ TopicPrx fed1 = manager->retrieve("fed1");
+ TopicPrx fed2 = manager->retrieve("fed2");
+ TopicPrx fed3 = manager->retrieve("fed3");
fed1->subscribeAndGetPublisher(qos, objFed1);
fed2->subscribeAndGetPublisher(qos, objFed2);
@@ -187,31 +171,6 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
fed1->unsubscribe(objFed1);
fed2->unsubscribe(objFed2);
fed3->unsubscribe(objFed3);
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- CommunicatorPtr communicator;
- InitializationData initData = getTestInitData(argc, argv);
- try
- {
- communicator = initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Subscriber)
diff --git a/cpp/test/IceStorm/federation2/Publisher.cpp b/cpp/test/IceStorm/federation2/Publisher.cpp
index bd7e5230192..e88a394e9f4 100644
--- a/cpp/test/IceStorm/federation2/Publisher.cpp
+++ b/cpp/test/IceStorm/federation2/Publisher.cpp
@@ -12,58 +12,43 @@
#include <Ice/Ice.h>
#include <IceStorm/IceStorm.h>
#include <Event.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
using namespace IceStorm;
using namespace Test;
-int
-run(int argc, char* argv[], const CommunicatorPtr& communicator)
+class Publisher : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Publisher::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
IceUtilInternal::Options opts;
opts.addOpt("", "count", IceUtilInternal::Options::NeedArg);
-
- try
- {
- opts.parse(argc, (const char**)argv);
- }
- catch(const IceUtilInternal::BadOptException& e)
- {
- cerr << argv[0] << ": " << e.reason << endl;
- return EXIT_FAILURE;
- }
+ opts.parse(argc, (const char**)argv);
PropertiesPtr properties = communicator->getProperties();
- const char* managerProxyProperty = "IceStormAdmin.TopicManager.Default";
- string managerProxy = properties->getProperty(managerProxyProperty);
+ string managerProxy = properties->getProperty("IceStormAdmin.TopicManager.Default");
if(managerProxy.empty())
{
- cerr << argv[0] << ": property `" << managerProxyProperty << "' is not set" << endl;
- return EXIT_FAILURE;
+ throw runtime_error("property `IceStormAdmin.TopicManager.Default' is not set");
}
ObjectPrx base = communicator->stringToProxy(managerProxy);
IceStorm::TopicManagerPrx manager = IceStorm::TopicManagerPrx::checkedCast(base);
if(!manager)
{
- cerr << argv[0] << ": `" << managerProxy << "' is not running" << endl;
- return EXIT_FAILURE;
- }
-
- TopicPrx fed1;
- try
- {
- fed1 = manager->retrieve("fed1");
- }
- catch(const NoSuchTopic& e)
- {
- cerr << argv[0] << ": NoSuchTopic: " << e.name << endl;
- return EXIT_FAILURE;
-
+ throw runtime_error("`" + managerProxy + "' is not running");
}
+ TopicPrx fed1 = manager->retrieve("fed1");
EventPrx eventFed1 = EventPrx::uncheckedCast(fed1->getPublisher()->ice_oneway());
string arg = opts.optArg("count");
@@ -92,31 +77,6 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
--count;
IceUtil::ThreadControl::sleep(IceUtil::Time::seconds(1));
}
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- CommunicatorPtr communicator;
- InitializationData initData = getTestInitData(argc, argv);
- try
- {
- communicator = initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Publisher)
diff --git a/cpp/test/IceStorm/federation2/Subscriber.cpp b/cpp/test/IceStorm/federation2/Subscriber.cpp
index 0ad8f5fa1c8..47d3e707ebc 100644
--- a/cpp/test/IceStorm/federation2/Subscriber.cpp
+++ b/cpp/test/IceStorm/federation2/Subscriber.cpp
@@ -12,9 +12,10 @@
#include <Event.h>
#include <IceUtil/Mutex.h>
#include <IceUtil/MutexPtrLock.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <fcntl.h>
+
#ifdef _WIN32
# include <io.h>
#else
@@ -31,19 +32,14 @@ class EventI : public Event
{
public:
- EventI(const CommunicatorPtr& communicator) :
- _communicator(communicator)
- {
- }
-
virtual void
- pub(const string&, const Ice::Current&)
+ pub(const string&, const Ice::Current& current)
{
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(_countMutex);
if(++_count == 10)
{
- _communicator->shutdown();
+ current.adapter->getCommunicator()->shutdown();
}
}
@@ -51,8 +47,6 @@ public:
private:
- CommunicatorPtr _communicator;
-
static int _count;
};
@@ -95,9 +89,17 @@ usage(const char* appName)
;
}
-int
-run(int argc, char* argv[], const CommunicatorPtr& communicator)
+class Subscriber : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Subscriber::run(int argc, char** argv)
{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
bool batch = false;
int idx = 1;
@@ -116,40 +118,41 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
else if(strcmp(argv[idx], "-h") == 0 || strcmp(argv[idx], "--help") == 0)
{
usage(argv[0]);
- return EXIT_SUCCESS;
+ return;
}
else if(argv[idx][0] == '-')
{
- cerr << argv[0] << ": unknown option `" << argv[idx] << "'" << endl;
usage(argv[0]);
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": unknown option `" << argv[idx] << "'";
+ throw invalid_argument(os.str());
}
}
PropertiesPtr properties = communicator->getProperties();
- const char* managerProxyProperty = "IceStormAdmin.TopicManager.Default";
- string managerProxy = properties->getProperty(managerProxyProperty);
+ const string managerProxy = properties->getProperty("IceStormAdmin.TopicManager.Default");
if(managerProxy.empty())
{
- cerr << argv[0] << ": property `" << managerProxyProperty << "' is not set" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": property `IceStormAdmin.TopicManager.Default' is not set";
+ throw invalid_argument(os.str());
}
ObjectPrx base = communicator->stringToProxy(managerProxy);
IceStorm::TopicManagerPrx manager = IceStorm::TopicManagerPrx::checkedCast(base);
if(!manager)
{
- cerr << argv[0] << ": `" << managerProxy << "' is not running" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": `" << managerProxy << "' is not running";
+ throw invalid_argument(os.str());
}
ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("SubscriberAdapter", "default");
- EventIPtr eventFed1 = new EventI(communicator);
//
// Activate the servants.
//
- ObjectPrx obj = adapter->addWithUUID(eventFed1);
+ ObjectPrx obj = adapter->addWithUUID(new EventI());
IceStorm::QoS qos;
if(batch)
@@ -161,17 +164,7 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
obj = obj->ice_oneway();
}
- TopicPrx fed1;
-
- try
- {
- fed1 = manager->retrieve("fed1");
- }
- catch(const IceStorm::NoSuchTopic& e)
- {
- cerr << argv[0] << ": NoSuchTopic: " << e.name << endl;
- return EXIT_FAILURE;
- }
+ TopicPrx fed1 = manager->retrieve("fed1");
fed1->subscribeAndGetPublisher(qos, obj);
@@ -180,31 +173,6 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
communicator->waitForShutdown();
fed1->unsubscribe(obj);
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- CommunicatorPtr communicator;
- InitializationData initData = getTestInitData(argc, argv);
- try
- {
- communicator = initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Subscriber)
diff --git a/cpp/test/IceStorm/rep1/Publisher.cpp b/cpp/test/IceStorm/rep1/Publisher.cpp
index f3ccb3d5d2c..417da9bb57c 100644
--- a/cpp/test/IceStorm/rep1/Publisher.cpp
+++ b/cpp/test/IceStorm/rep1/Publisher.cpp
@@ -11,7 +11,7 @@
#include <IceUtil/Options.h>
#include <IceUtil/IceUtil.h>
#include <IceStorm/IceStorm.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Single.h>
using namespace std;
@@ -19,9 +19,17 @@ using namespace Ice;
using namespace IceStorm;
using namespace Test;
-int
-run(int argc, char* argv[], const CommunicatorPtr& communicator)
+class Publisher : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Publisher::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
IceUtilInternal::Options opts;
opts.addOpt("", "cycle");
@@ -31,25 +39,27 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
}
catch(const IceUtilInternal::BadOptException& e)
{
- cerr << argv[0] << ": " << e.reason << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": " << e.reason;
+ throw invalid_argument(os.str());
}
PropertiesPtr properties = communicator->getProperties();
- const char* managerProxyProperty = "IceStormAdmin.TopicManager.Default";
- string managerProxy = properties->getProperty(managerProxyProperty);
+ string managerProxy = properties->getProperty("IceStormAdmin.TopicManager.Default");
if(managerProxy.empty())
{
- cerr << argv[0] << ": property `" << managerProxyProperty << "' is not set" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": property `IceStormAdmin.TopicManager.Default' is not set";
+ throw invalid_argument(os.str());
}
IceStorm::TopicManagerPrx manager = IceStorm::TopicManagerPrx::checkedCast(
communicator->stringToProxy(managerProxy));
if(!manager)
{
- cerr << argv[0] << ": `" << managerProxy << "' is not running" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": `" << managerProxy << "' is not running";
+ throw invalid_argument(os.str());
}
TopicPrx topic;
@@ -68,8 +78,9 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
}
catch(const IceStorm::NoSuchTopic& e)
{
- cerr << argv[0] << ": NoSuchTopic: " << e.name << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": NoSuchTopic: " << e.name;
+ throw invalid_argument(os.str());
}
}
assert(topic);
@@ -94,8 +105,9 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
}
if(single.size() <= 1)
{
- cerr << argv[0] << ": Not enough endpoints in publisher proxy" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": Not enough endpoints in publisher proxy";
+ throw invalid_argument(os.str());
}
int which = 0;
for(int i = 0; i < 1000; ++i)
@@ -112,31 +124,6 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
single->event(i);
}
}
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- CommunicatorPtr communicator;
- InitializationData initData = getTestInitData(argc, argv);
- try
- {
- communicator = initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Publisher)
diff --git a/cpp/test/IceStorm/rep1/Sub.cpp b/cpp/test/IceStorm/rep1/Sub.cpp
index 0f4f920358b..2b6d468538b 100644
--- a/cpp/test/IceStorm/rep1/Sub.cpp
+++ b/cpp/test/IceStorm/rep1/Sub.cpp
@@ -12,7 +12,7 @@
#include <Ice/Ice.h>
#include <IceStorm/IceStorm.h>
#include <Single.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
@@ -27,9 +27,17 @@ public:
virtual void event(int, const Current&) {}
};
-int
-run(int argc, char* argv[], const CommunicatorPtr& communicator)
+class Sub : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Sub::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
IceUtilInternal::Options opts;
opts.addOpt("", "id", IceUtilInternal::Options::NeedArg);
opts.addOpt("", "unsub");
@@ -40,39 +48,32 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
}
catch(const IceUtilInternal::BadOptException& e)
{
- cerr << argv[0] << ": " << e.reason << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": " << e.reason;
+ throw invalid_argument(os.str());
}
PropertiesPtr properties = communicator->getProperties();
- const char* managerProxyProperty = "IceStormAdmin.TopicManager.Default";
- string managerProxy = properties->getProperty(managerProxyProperty);
+ string managerProxy = properties->getProperty("IceStormAdmin.TopicManager.Default");
if(managerProxy.empty())
{
- cerr << argv[0] << ": property `" << managerProxyProperty << "' is not set" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": property `IceStormAdmin.TopicManager.Default' is not set";
+ throw invalid_argument(os.str());
}
ObjectPrx base = communicator->stringToProxy(managerProxy);
IceStorm::TopicManagerPrx manager = IceStorm::TopicManagerPrx::checkedCast(base);
if(!manager)
{
- cerr << argv[0] << ": `" << managerProxy << "' is not running" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": `" << managerProxy << "' is not running";
+ throw invalid_argument(os.str());
}
ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("SingleAdapter", "default");
- TopicPrx topic;
- try
- {
- topic = manager->retrieve("single");
- }
- catch(const IceStorm::NoSuchTopic& e)
- {
- cerr << argv[0] << ": NoSuchTopic: " << e.name << endl;
- return EXIT_FAILURE;
- }
+ TopicPrx topic = manager->retrieve("single");
Ice::ObjectPrx prx = adapter->add(new SingleI(), stringToIdentity(opts.optArg("id")));
if(opts.isSet("unsub"))
@@ -85,31 +86,6 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
qos["persistent"] = "true";
topic->subscribeAndGetPublisher(qos, prx);
}
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- CommunicatorPtr communicator;
- InitializationData initData = getTestInitData(argc, argv);
- try
- {
- communicator = initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Sub)
diff --git a/cpp/test/IceStorm/rep1/Subscriber.cpp b/cpp/test/IceStorm/rep1/Subscriber.cpp
index f46565b3bcc..c97b122b5a3 100644
--- a/cpp/test/IceStorm/rep1/Subscriber.cpp
+++ b/cpp/test/IceStorm/rep1/Subscriber.cpp
@@ -12,7 +12,7 @@
#include <Ice/Ice.h>
#include <IceStorm/IceStorm.h>
#include <Single.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
@@ -72,9 +72,17 @@ private:
};
typedef IceUtil::Handle<SingleI> SingleIPtr;
-int
-run(int argc, char* argv[], const CommunicatorPtr& communicator)
+class Subscriber : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Subscriber::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
IceUtilInternal::Options opts;
opts.addOpt("", "ordered");
opts.addOpt("", "twoway");
@@ -86,25 +94,27 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
}
catch(const IceUtilInternal::BadOptException& e)
{
- cerr << argv[0] << ": " << e.reason << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": " << e.reason;
+ throw invalid_argument(os.str());
}
PropertiesPtr properties = communicator->getProperties();
- const char* managerProxyProperty = "IceStormAdmin.TopicManager.Default";
- string managerProxy = properties->getProperty(managerProxyProperty);
+ string managerProxy = properties->getProperty("IceStormAdmin.TopicManager.Default");
if(managerProxy.empty())
{
- cerr << argv[0] << ": property `" << managerProxyProperty << "' is not set" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": property `IceStormAdmin.TopicManager.Default' is not set";
+ throw invalid_argument(os.str());
}
ObjectPrx base = communicator->stringToProxy(managerProxy);
IceStorm::TopicManagerPrx manager = IceStorm::TopicManagerPrx::checkedCast(base);
if(!manager)
{
- cerr << argv[0] << ": `" << managerProxy << "' is not running" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": `" << managerProxy << "' is not running";
+ throw invalid_argument(os.str());
}
ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("SingleAdapter", "default");
@@ -125,8 +135,9 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
}
catch(const IceStorm::NoSuchTopic& e)
{
- cerr << argv[0] << ": NoSuchTopic: " << e.name << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": NoSuchTopic: " << e.name;
+ throw invalid_argument(os.str());
}
}
@@ -142,12 +153,12 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
IceStorm::QoS qos;
if(opts.isSet("ordered"))
{
- sub = new SingleI(communicator, "twoway ordered", events);
+ sub = new SingleI(communicator.communicator(), "twoway ordered", events);
qos["reliability"] = "ordered";
}
else
{
- sub = new SingleI(communicator, "twoway", events);
+ sub = new SingleI(communicator.communicator(), "twoway", events);
}
Ice::ObjectPrx prx = adapter->addWithUUID(sub);
@@ -177,31 +188,6 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
sub->waitForEvents();
topic->unsubscribe(prx);
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- CommunicatorPtr communicator;
- InitializationData initData = getTestInitData(argc, argv);
- try
- {
- communicator = initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Subscriber)
diff --git a/cpp/test/IceStorm/repgrid/Client.cpp b/cpp/test/IceStorm/repgrid/Client.cpp
index 381ef4ec655..b9a0df4170a 100644
--- a/cpp/test/IceStorm/repgrid/Client.cpp
+++ b/cpp/test/IceStorm/repgrid/Client.cpp
@@ -10,7 +10,7 @@
#include <Ice/Ice.h>
#include <IceStorm/IceStorm.h>
#include <Single.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
@@ -56,29 +56,29 @@ private:
};
typedef IceUtil::Handle<SingleI> SingleIPtr;
-int
-run(int, char* argv[], const CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
ObjectPrx base = communicator->stringToProxy("Test.IceStorm/TopicManager");
IceStorm::TopicManagerPrx manager = IceStorm::TopicManagerPrx::checkedCast(base);
if(!manager)
{
- cerr << argv[0] << ": `Test.IceStorm/TopicManager' is not running" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": `Test.IceStorm/TopicManager' is not running";
+ throw invalid_argument(os.str());
}
ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("SingleAdapter", "default:udp");
- TopicPrx topic;
- try
- {
- topic = manager->create("single");
- }
- catch(const IceStorm::TopicExists& e)
- {
- cerr << argv[0] << ": TopicExists: " << e.name << endl;
- return EXIT_FAILURE;
- }
+ TopicPrx topic = manager->create("single");
//
// Create subscribers with different QoS.
@@ -108,31 +108,6 @@ run(int, char* argv[], const CommunicatorPtr& communicator)
}
sub->waitForEvents();
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- CommunicatorPtr communicator;
- InitializationData initData = getTestInitData(argc, argv);
- try
- {
- communicator = initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceStorm/repstress/Control.cpp b/cpp/test/IceStorm/repstress/Control.cpp
index fc2a1bac933..7d01e359834 100644
--- a/cpp/test/IceStorm/repstress/Control.cpp
+++ b/cpp/test/IceStorm/repstress/Control.cpp
@@ -9,48 +9,32 @@
#include <Ice/Ice.h>
#include <Controller.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
using namespace Test;
-int
-run(int argc, char* argv[], const CommunicatorPtr& communicator)
+class Control : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Control::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
if(argc < 2)
{
- cerr << "Usage: " << argv[0] << " proxy" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << "Usage: " << argv[0] << " proxy";
+ throw invalid_argument(os.str());
}
ControllerPrx control = ControllerPrx::uncheckedCast(communicator->stringToProxy(argv[1]));
control->stop();
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- CommunicatorPtr communicator;
- InitializationData initData = getTestInitData(argc, argv);
- try
- {
- communicator = initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Control)
diff --git a/cpp/test/IceStorm/repstress/Publisher.cpp b/cpp/test/IceStorm/repstress/Publisher.cpp
index e483aa54560..40fd957804f 100644
--- a/cpp/test/IceStorm/repstress/Publisher.cpp
+++ b/cpp/test/IceStorm/repstress/Publisher.cpp
@@ -12,7 +12,7 @@
#include <IceStorm/IceStorm.h>
#include <Single.h>
#include <Controller.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
@@ -81,37 +81,37 @@ private:
};
typedef IceUtil::Handle<PublishThread> PublishThreadPtr;
-int
-run(int, char* argv[], const CommunicatorPtr& communicator)
+class Publisher : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Publisher::run(int argc, char** argv)
+{
+
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
PropertiesPtr properties = communicator->getProperties();
- const char* managerProxyProperty = "IceStormAdmin.TopicManager.Default";
- string managerProxy = properties->getProperty(managerProxyProperty);
+ string managerProxy = properties->getProperty("IceStormAdmin.TopicManager.Default");
if(managerProxy.empty())
{
- cerr << argv[0] << ": property `" << managerProxyProperty << "' is not set" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": property `IceStormAdmin.TopicManager.Default' is not set";
+ throw invalid_argument(os.str());
}
IceStorm::TopicManagerPrx manager = IceStorm::TopicManagerPrx::checkedCast(
communicator->stringToProxy(managerProxy));
if(!manager)
{
- cerr << argv[0] << ": `" << managerProxy << "' is not running" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": `" << managerProxy << "' is not running";
+ throw invalid_argument(os.str());
}
- TopicPrx topic;
- try
- {
- topic = manager->retrieve("single");
- }
- catch(const NoSuchTopic& e)
- {
- cerr << argv[0] << ": NoSuchTopic: " << e.name << endl;
- return EXIT_FAILURE;
-
- }
+ TopicPrx topic = manager->retrieve("single");
assert(topic);
//
@@ -132,31 +132,6 @@ run(int, char* argv[], const CommunicatorPtr& communicator)
t->destroy();
t->getThreadControl().join();
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- CommunicatorPtr communicator;
- InitializationData initData = getTestInitData(argc, argv);
- try
- {
- communicator = initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Publisher)
diff --git a/cpp/test/IceStorm/repstress/Subscriber.cpp b/cpp/test/IceStorm/repstress/Subscriber.cpp
index 8f94b60b489..1d8ecab37e1 100644
--- a/cpp/test/IceStorm/repstress/Subscriber.cpp
+++ b/cpp/test/IceStorm/repstress/Subscriber.cpp
@@ -12,7 +12,7 @@
#include <IceStorm/IceStorm.h>
#include <Single.h>
#include <Controller.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
@@ -58,38 +58,37 @@ private:
};
typedef IceUtil::Handle<SingleI> SingleIPtr;
-int
-run(int, char* argv[], const CommunicatorPtr& communicator)
+class Subscriber : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Subscriber::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
PropertiesPtr properties = communicator->getProperties();
- const char* managerProxyProperty = "IceStormAdmin.TopicManager.Default";
- string managerProxy = properties->getProperty(managerProxyProperty);
+ string managerProxy = properties->getProperty("IceStormAdmin.TopicManager.Default");
if(managerProxy.empty())
{
- cerr << argv[0] << ": property `" << managerProxyProperty << "' is not set" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": property `IceStormAdmin.TopicManager.Default' is not set";
+ throw invalid_argument(os.str());
}
ObjectPrx base = communicator->stringToProxy(managerProxy);
IceStorm::TopicManagerPrx manager = IceStorm::TopicManagerPrx::checkedCast(base);
if(!manager)
{
- cerr << argv[0] << ": `" << managerProxy << "' is not running" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": `" << managerProxy << "' is not running";
+ throw invalid_argument(os.str());
}
ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("SingleAdapter", "default");
-
- TopicPrx topic;
- try
- {
- topic = manager->retrieve("single");
- }
- catch(const IceStorm::NoSuchTopic& e)
- {
- cerr << argv[0] << ": NoSuchTopic: " << e.name << endl;
- return EXIT_FAILURE;
- }
+ TopicPrx topic = manager->retrieve("single");
SingleIPtr sub = new SingleI();
Ice::ObjectPrx prx = adapter->addWithUUID(sub);
@@ -123,31 +122,6 @@ run(int, char* argv[], const CommunicatorPtr& communicator)
communicator->waitForShutdown();
cout << sub->nevents() << endl;
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- CommunicatorPtr communicator;
- InitializationData initData = getTestInitData(argc, argv);
- try
- {
- communicator = initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Subscriber)
diff --git a/cpp/test/IceStorm/single/Publisher.cpp b/cpp/test/IceStorm/single/Publisher.cpp
index 909aaff354b..9bc09cdc08f 100644
--- a/cpp/test/IceStorm/single/Publisher.cpp
+++ b/cpp/test/IceStorm/single/Publisher.cpp
@@ -9,7 +9,7 @@
#include <Ice/Ice.h>
#include <IceStorm/IceStorm.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Single.h>
using namespace std;
@@ -17,36 +17,36 @@ using namespace Ice;
using namespace IceStorm;
using namespace Test;
-int
-run(int, char* argv[], const CommunicatorPtr& communicator)
+class Publisher : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Publisher::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
PropertiesPtr properties = communicator->getProperties();
- const char* managerProxyProperty = "IceStormAdmin.TopicManager.Default";
- string managerProxy = properties->getProperty(managerProxyProperty);
+ string managerProxy = properties->getProperty("IceStormAdmin.TopicManager.Default");
if(managerProxy.empty())
{
- cerr << argv[0] << ": property `" << managerProxyProperty << "' is not set" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": property `IceStormAdmin.TopicManager.Default' is not set";
+ throw invalid_argument(os.str());
}
IceStorm::TopicManagerPrx manager = IceStorm::TopicManagerPrx::checkedCast(
communicator->stringToProxy(managerProxy));
if(!manager)
{
- cerr << argv[0] << ": `" << managerProxy << "' is not running" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": `" << managerProxy << "' is not running";
+ throw invalid_argument(os.str());
}
- TopicPrx topic;
- try
- {
- topic = manager->retrieve("single");
- }
- catch(const NoSuchTopic& e)
- {
- cerr << argv[0] << ": NoSuchTopic: " << e.name << endl;
- return EXIT_FAILURE;
- }
+ TopicPrx topic = manager->retrieve("single");
assert(topic);
//
@@ -58,32 +58,6 @@ run(int, char* argv[], const CommunicatorPtr& communicator)
{
single->event(i);
}
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Publisher)
diff --git a/cpp/test/IceStorm/single/Subscriber.cpp b/cpp/test/IceStorm/single/Subscriber.cpp
index 4bf4881ce6d..cce387c0b97 100644
--- a/cpp/test/IceStorm/single/Subscriber.cpp
+++ b/cpp/test/IceStorm/single/Subscriber.cpp
@@ -10,7 +10,7 @@
#include <Ice/Ice.h>
#include <IceStorm/IceStorm.h>
#include <Single.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
@@ -21,8 +21,7 @@ class SingleI : public Single, public IceUtil::Monitor<IceUtil::Mutex>
{
public:
- SingleI(const CommunicatorPtr& communicator, const string& name) :
- _communicator(communicator),
+ SingleI(const string& name) :
_name(name),
_count(0),
_last(0)
@@ -102,7 +101,6 @@ public:
private:
- CommunicatorPtr _communicator;
const string _name;
int _count;
int _last;
@@ -110,24 +108,33 @@ private:
};
typedef IceUtil::Handle<SingleI> SingleIPtr;
-int
-run(int, char* argv[], const CommunicatorPtr& communicator)
+class Subscriber : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Subscriber::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
PropertiesPtr properties = communicator->getProperties();
- const char* managerProxyProperty = "IceStormAdmin.TopicManager.Default";
- string managerProxy = properties->getProperty(managerProxyProperty);
+ string managerProxy = properties->getProperty("IceStormAdmin.TopicManager.Default");
if(managerProxy.empty())
{
- cerr << argv[0] << ": property `" << managerProxyProperty << "' is not set" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": property `IceStormAdmin.TopicManager.Default' is not set";
+ throw invalid_argument(os.str());
}
ObjectPrx base = communicator->stringToProxy(managerProxy);
IceStorm::TopicManagerPrx manager = IceStorm::TopicManagerPrx::checkedCast(base);
if(!manager)
{
- cerr << argv[0] << ": `" << managerProxy << "' is not running" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": `" << managerProxy << "' is not running";
+ throw invalid_argument(os.str());
}
// Use 2 default endpoints to test per-request load balancing
@@ -148,16 +155,7 @@ run(int, char* argv[], const CommunicatorPtr& communicator)
}
}
- TopicPrx topic;
- try
- {
- topic = manager->retrieve("single");
- }
- catch(const IceStorm::NoSuchTopic& e)
- {
- cerr << argv[0] << ": NoSuchTopic: " << e.name << endl;
- return EXIT_FAILURE;
- }
+ TopicPrx topic = manager->retrieve("single");
//
// Test subscriber identity that is too long
@@ -182,31 +180,31 @@ run(int, char* argv[], const CommunicatorPtr& communicator)
vector<Ice::Identity> subscriberIdentities;
{
- subscribers.push_back(new SingleI(communicator, "default"));
+ subscribers.push_back(new SingleI("default"));
Ice::ObjectPrx object = adapter->addWithUUID(subscribers.back())->ice_oneway();
subscriberIdentities.push_back(object->ice_getIdentity());
topic->subscribeAndGetPublisher(IceStorm::QoS(), object);
}
{
- subscribers.push_back(new SingleI(communicator, "oneway"));
+ subscribers.push_back(new SingleI("oneway"));
Ice::ObjectPrx object = adapter->addWithUUID(subscribers.back())->ice_oneway();
subscriberIdentities.push_back(object->ice_getIdentity());
topic->subscribeAndGetPublisher(IceStorm::QoS(), object);
}
{
- subscribers.push_back(new SingleI(communicator, "twoway"));
+ subscribers.push_back(new SingleI("twoway"));
Ice::ObjectPrx object = adapter->addWithUUID(subscribers.back());
subscriberIdentities.push_back(object->ice_getIdentity());
topic->subscribeAndGetPublisher(IceStorm::QoS(), object);
}
{
- subscribers.push_back(new SingleI(communicator, "batch"));
+ subscribers.push_back(new SingleI("batch"));
Ice::ObjectPrx object = adapter->addWithUUID(subscribers.back())->ice_batchOneway();
subscriberIdentities.push_back(object->ice_getIdentity());
topic->subscribeAndGetPublisher(IceStorm::QoS(), object);
}
{
- subscribers.push_back(new SingleI(communicator, "twoway ordered")); // Ordered
+ subscribers.push_back(new SingleI("twoway ordered")); // Ordered
IceStorm::QoS qos;
qos["reliability"] = "ordered";
Ice::ObjectPrx object = adapter->addWithUUID(subscribers.back());
@@ -215,7 +213,7 @@ run(int, char* argv[], const CommunicatorPtr& communicator)
}
{
- subscribers.push_back(new SingleI(communicator, "per-request load balancing"));
+ subscribers.push_back(new SingleI("per-request load balancing"));
IceStorm::QoS qos;
qos["locatorCacheTimeout"] = "10";
qos["connectionCached"] = "0";
@@ -229,7 +227,7 @@ run(int, char* argv[], const CommunicatorPtr& communicator)
// packet loss, see bug 1784).
communicator->getProperties()->setProperty("UdpAdapter3.ThreadPool.Size", "1");
ObjectAdapterPtr adpt = communicator->createObjectAdapterWithEndpoints("UdpAdapter3", "udp");
- subscribers.push_back(new SingleI(communicator, "datagram"));
+ subscribers.push_back(new SingleI("datagram"));
Ice::ObjectPrx object = adpt->addWithUUID(subscribers.back())->ice_datagram();
subscriberIdentities.push_back(object->ice_getIdentity());
adpt->activate();
@@ -241,7 +239,7 @@ run(int, char* argv[], const CommunicatorPtr& communicator)
// packet loss, see bug 1784).
communicator->getProperties()->setProperty("UdpAdapter4.ThreadPool.Size", "1");
ObjectAdapterPtr adpt = communicator->createObjectAdapterWithEndpoints("UdpAdapter4", "udp");
- subscribers.push_back(new SingleI(communicator, "batch datagram"));
+ subscribers.push_back(new SingleI("batch datagram"));
Ice::ObjectPrx object = adpt->addWithUUID(subscribers.back())->ice_batchDatagram();
subscriberIdentities.push_back(object->ice_getIdentity());
adpt->activate();
@@ -261,32 +259,6 @@ run(int, char* argv[], const CommunicatorPtr& communicator)
{
(*p)->waitForEvents();
}
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- CommunicatorPtr communicator;
-
- try
- {
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Subscriber)
diff --git a/cpp/test/IceStorm/stress/Publisher.cpp b/cpp/test/IceStorm/stress/Publisher.cpp
index 34aca48f552..65cfb870944 100644
--- a/cpp/test/IceStorm/stress/Publisher.cpp
+++ b/cpp/test/IceStorm/stress/Publisher.cpp
@@ -11,16 +11,24 @@
#include <IceUtil/Options.h>
#include <IceStorm/IceStorm.h>
#include <Event.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
using namespace IceStorm;
using namespace Test;
-int
-run(int argc, char* argv[], const CommunicatorPtr& communicator)
+class Publisher : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Publisher::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
IceUtilInternal::Options opts;
opts.addOpt("", "events", IceUtilInternal::Options::NeedArg);
opts.addOpt("", "oneway");
@@ -32,8 +40,9 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
}
catch(const IceUtilInternal::BadOptException& e)
{
- cerr << argv[0] << ": " << e.reason << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": " << e.reason;
+ throw invalid_argument(os.str());
}
int events = 1000;
@@ -44,8 +53,9 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
}
if(events <= 0)
{
- cerr << argv[0] << ": events must be > 0." << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": events must be > 0.";
+ throw invalid_argument(os.str());
}
bool oneway = opts.isSet("oneway");
@@ -56,29 +66,21 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
string managerProxy = properties->getProperty(managerProxyProperty);
if(managerProxy.empty())
{
- cerr << argv[0] << ": property `" << managerProxyProperty << "' is not set" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": property `" << managerProxyProperty << "' is not set";
+ throw invalid_argument(os.str());
}
IceStorm::TopicManagerPrx manager = IceStorm::TopicManagerPrx::checkedCast(
communicator->stringToProxy(managerProxy));
if(!manager)
{
- cerr << argv[0] << ": `" << managerProxy << "' is not running" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": `" << managerProxy << "' is not running";
+ throw invalid_argument(os.str());
}
- TopicPrx topic;
- try
- {
- topic = manager->retrieve("fed1");
- }
- catch(const NoSuchTopic& e)
- {
- cerr << argv[0] << ": NoSuchTopic: " << e.name << endl;
- return EXIT_FAILURE;
-
- }
+ TopicPrx topic = manager->retrieve("fed1");
EventPrx twowayProxy = EventPrx::uncheckedCast(topic->getPublisher()->ice_twoway());
EventPrx proxy;
@@ -109,31 +111,6 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
//
twowayProxy->ice_ping();
}
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- CommunicatorPtr communicator;
- InitializationData initData = getTestInitData(argc, argv);
- try
- {
- communicator = initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Publisher)
diff --git a/cpp/test/IceStorm/stress/Subscriber.cpp b/cpp/test/IceStorm/stress/Subscriber.cpp
index 05a37454320..59cfb0fabcd 100644
--- a/cpp/test/IceStorm/stress/Subscriber.cpp
+++ b/cpp/test/IceStorm/stress/Subscriber.cpp
@@ -16,7 +16,7 @@
#include <Event.h>
#include <IceUtil/Mutex.h>
#include <IceUtil/MutexPtrLock.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace Ice;
@@ -304,9 +304,17 @@ Init init;
}
-int
-run(int argc, char* argv[], const CommunicatorPtr& communicator)
+class Subscriber : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Subscriber::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
IceUtilInternal::Options opts;
opts.addOpt("", "events", IceUtilInternal::Options::NeedArg);
opts.addOpt("", "qos", IceUtilInternal::Options::NeedArg, "", IceUtilInternal::Options::Repeat);
@@ -321,8 +329,9 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
}
catch(const IceUtilInternal::BadOptException& e)
{
- cerr << argv[0] << ": " << e.reason << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": " << e.reason;
+ throw invalid_argument(os.str());
}
int events = 1000;
@@ -333,8 +342,9 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
}
if(events <= 0)
{
- cerr << argv[0] << ": events must be > 0." << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": events must be > 0.";
+ throw invalid_argument(os.str());
}
IceStorm::QoS cmdLineQos;
@@ -345,8 +355,9 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
string::size_type off = q->find(",");
if(off == string::npos)
{
- cerr << argv[0] << ": parse error: no , in QoS" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": parse error: no , in QoS";
+ throw invalid_argument(os.str());
}
cmdLineQos[q->substr(0, off)] = q->substr(off+1);
}
@@ -364,8 +375,9 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
}
if(events <= 0)
{
- cerr << argv[0] << ": events must be > 0." << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": events must be > 0.";
+ throw invalid_argument(os.str());
}
PropertiesPtr properties = communicator->getProperties();
@@ -373,16 +385,18 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
string managerProxy = properties->getProperty(managerProxyProperty);
if(managerProxy.empty())
{
- cerr << argv[0] << ": property `" << managerProxyProperty << "' is not set" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": property `" << managerProxyProperty << "' is not set";
+ throw invalid_argument(os.str());
}
IceStorm::TopicManagerPrx manager = IceStorm::TopicManagerPrx::checkedCast(
communicator->stringToProxy(managerProxy));
if(!manager)
{
- cerr << argv[0] << ": `" << managerProxy << "' is not running" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << argv[0] << ": `" << managerProxy << "' is not running";
+ throw invalid_argument(os.str());
}
vector<Subscription> subs;
@@ -395,7 +409,7 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
os << "SubscriberAdapter" << i;
Subscription item;
item.adapter = communicator->createObjectAdapterWithEndpoints(os.str(), "default");
- item.servant = new ErraticEventI(communicator, events);
+ item.servant = new ErraticEventI(communicator.communicator(), events);
item.qos["reliability"] = "twoway";
subs.push_back(item);
}
@@ -404,7 +418,7 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
{
Subscription item;
item.adapter = communicator->createObjectAdapterWithEndpoints("SubscriberAdapter", "default");
- item.servant = new SlowEventI(communicator, events);
+ item.servant = new SlowEventI(communicator.communicator(), events);
item.qos = cmdLineQos;
subs.push_back(item);
}
@@ -414,11 +428,11 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
item1.adapter = communicator->createObjectAdapterWithEndpoints("MaxQueueAdapter", "default");
if(maxQueueDropEvents)
{
- item1.servant = new MaxQueueEventI(communicator, maxQueueDropEvents, events, false);
+ item1.servant = new MaxQueueEventI(communicator.communicator(), maxQueueDropEvents, events, false);
}
else
{
- item1.servant = new MaxQueueEventI(communicator, maxQueueRemoveSub, events, true);
+ item1.servant = new MaxQueueEventI(communicator.communicator(), maxQueueRemoveSub, events, true);
}
item1.qos = cmdLineQos;
item1.activate = false;
@@ -426,7 +440,7 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
Subscription item2;
item2.adapter = communicator->createObjectAdapterWithEndpoints("ControllerAdapter", "default");
- item2.servant = new ControllerEventI(communicator, events, item1.adapter);
+ item2.servant = new ControllerEventI(communicator.communicator(), events, item1.adapter);
item2.qos["reliability"] = "oneway";
subs.push_back(item2);
}
@@ -438,25 +452,16 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
map<string, string>::const_iterator p = item.qos.find("reliability");
if(p != item.qos.end() && p->second == "ordered")
{
- item.servant = new OrderEventI(communicator, events);
+ item.servant = new OrderEventI(communicator.communicator(), events);
}
else
{
- item.servant = new CountEventI(communicator, events);
+ item.servant = new CountEventI(communicator.communicator(), events);
}
subs.push_back(item);
}
- TopicPrx topic;
- try
- {
- topic = manager->retrieve("fed1");
- }
- catch(const IceStorm::NoSuchTopic& e)
- {
- cerr << argv[0] << ": NoSuchTopic: " << e.name << endl;
- return EXIT_FAILURE;
- }
+ TopicPrx topic = manager->retrieve("fed1");
{
for(vector<Subscription>::iterator p = subs.begin(); p != subs.end(); ++p)
@@ -509,36 +514,12 @@ run(int argc, char* argv[], const CommunicatorPtr& communicator)
topic->unsubscribe(p->obj);
if(p->servant->count() != events)
{
- cerr << "expected " << events << " events but got " << p->servant->count() << " events." << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << "expected " << events << " events but got " << p->servant->count() << " events.";
+ throw invalid_argument(os.str());
}
}
}
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- int status;
- CommunicatorPtr communicator;
- InitializationData initData = getTestInitData(argc, argv);
- try
- {
- communicator = initialize(argc, argv, initData);
- status = run(argc, argv, communicator);
- }
- catch(const Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- communicator->destroy();
- }
-
- return status;
-}
+DEFINE_TEST(Subscriber)
diff --git a/cpp/test/IceUtil/ctrlCHandler/Client.cpp b/cpp/test/IceUtil/ctrlCHandler/Client.cpp
index 5527c696aac..05be89e95a2 100644
--- a/cpp/test/IceUtil/ctrlCHandler/Client.cpp
+++ b/cpp/test/IceUtil/ctrlCHandler/Client.cpp
@@ -7,7 +7,7 @@
//
// **********************************************************************
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <IceUtil/CtrlCHandler.h>
#include <IceUtil/Thread.h>
#include <IceUtil/Time.h>
@@ -20,7 +20,15 @@ void callback(int signal)
cout << "Handling signal " << signal << endl;
}
-int main()
+class Client : public Test::TestHelper
+{
+public:
+
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
{
{
cout << "First ignore CTRL+C and the like for 10 seconds (try it!)" << endl;
@@ -33,7 +41,7 @@ int main()
}
cout << "And another 10 seconds after ~CtrlCHandler" << endl;
ThreadControl::sleep(Time::seconds(10));
-
cout << "ok" << endl;
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceUtil/inputUtil/Client.cpp b/cpp/test/IceUtil/inputUtil/Client.cpp
index 569ee64c3c5..63c18b7436d 100644
--- a/cpp/test/IceUtil/inputUtil/Client.cpp
+++ b/cpp/test/IceUtil/inputUtil/Client.cpp
@@ -10,7 +10,7 @@
#include <IceUtil/InputUtil.h>
#include <IceUtil/StringUtil.h>
#include <IceUtil/Options.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <vector>
@@ -31,8 +31,15 @@ const Int64 Int64Min = -0x7fffffffffffffffLL-1LL;
const Int64 Int64Max = 0x7fffffffffffffffLL;
#endif
-int
-main(int, char**)
+class Client : public Test::TestHelper
+{
+public:
+
+ virtual void run(int argc, char* argv[]);
+};
+
+void
+Client::run(int, char**)
{
cout << "testing string-to-64-bit integer conversion... " << flush;
@@ -242,6 +249,6 @@ main(int, char**)
test(!IceUtilInternal::splitString("a\"b", ":", ss));
}
cout << "ok" << endl;
-
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceUtil/priority/Client.cpp b/cpp/test/IceUtil/priority/Client.cpp
index e947d8fa157..47112d2f4ea 100644
--- a/cpp/test/IceUtil/priority/Client.cpp
+++ b/cpp/test/IceUtil/priority/Client.cpp
@@ -10,8 +10,7 @@
#include <IceUtil/IceUtil.h>
#include <stdlib.h>
-#include <TestCommon.h>
-
+#include <TestHelper.h>
#include <TestSuite.h>
#include <IceUtil/MutexProtocol.h>
@@ -36,22 +35,22 @@ getDefaultMutexProtocol()
#endif
-int
-main(int, char**)
+class Client : public Test::TestHelper
{
- try
- {
- initializeTestSuite();
+public:
- for(list<TestBasePtr>::const_iterator p = allTests.begin(); p != allTests.end(); ++p)
- {
- (*p)->start();
- }
- }
- catch(const TestFailed& e)
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
+{
+ initializeTestSuite();
+
+ for(list<TestBasePtr>::const_iterator p = allTests.begin(); p != allTests.end(); ++p)
{
- cout << "test " << e.name << " failed" << endl;
- return EXIT_FAILURE;
+ (*p)->start();
}
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceUtil/priority/PriorityInversion.cpp b/cpp/test/IceUtil/priority/PriorityInversion.cpp
index 9bd3707066a..a48b47b3d5f 100644
--- a/cpp/test/IceUtil/priority/PriorityInversion.cpp
+++ b/cpp/test/IceUtil/priority/PriorityInversion.cpp
@@ -15,7 +15,7 @@
#include <IceUtil/RecMutex.h>
#include <sstream>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <vector>
#include <map>
diff --git a/cpp/test/IceUtil/priority/ThreadPriority.cpp b/cpp/test/IceUtil/priority/ThreadPriority.cpp
index 3d28a07f45a..e3771e08321 100644
--- a/cpp/test/IceUtil/priority/ThreadPriority.cpp
+++ b/cpp/test/IceUtil/priority/ThreadPriority.cpp
@@ -10,7 +10,7 @@
#include <IceUtil/IceUtil.h>
#include <ThreadPriority.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace IceUtil;
diff --git a/cpp/test/IceUtil/priority/TimerPriority.cpp b/cpp/test/IceUtil/priority/TimerPriority.cpp
index 7b5443b8a5b..a3f79a7ebe5 100644
--- a/cpp/test/IceUtil/priority/TimerPriority.cpp
+++ b/cpp/test/IceUtil/priority/TimerPriority.cpp
@@ -10,7 +10,7 @@
#include <IceUtil/IceUtil.h>
#include <IceUtil/Timer.h>
#include <TimerPriority.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace IceUtil;
diff --git a/cpp/test/IceUtil/sha1/Client.cpp b/cpp/test/IceUtil/sha1/Client.cpp
index d3c4b62e4f5..6e47a29045a 100644
--- a/cpp/test/IceUtil/sha1/Client.cpp
+++ b/cpp/test/IceUtil/sha1/Client.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/SHA1.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
@@ -75,7 +75,15 @@ string toHex(const string& data)
}
-int main(int argc, char* argv[])
+class Client : public Test::TestHelper
+{
+public:
+
+ virtual void run(int argc, char* argv[]);
+};
+
+void
+Client::run(int argc, char* argv[])
{
cout << "Testing sha1 hash computation... ";
for(int i = 0; i < itemsSize; ++i)
@@ -110,5 +118,6 @@ int main(int argc, char* argv[])
test(item->digest == digest);
}
cout << "ok" << endl;
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceUtil/stacktrace/Client.cpp b/cpp/test/IceUtil/stacktrace/Client.cpp
index e5959ae3ae5..642be3cfe8d 100644
--- a/cpp/test/IceUtil/stacktrace/Client.cpp
+++ b/cpp/test/IceUtil/stacktrace/Client.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <IceUtil/StringUtil.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <fstream>
@@ -96,12 +96,20 @@ splitLines(const string& str)
}
-int main(int argc, char* argv[])
+class Client : public Test::TestHelper
+{
+public:
+
+ virtual void run(int argc, char* argv[]);
+};
+
+void
+Client::run(int argc, char* argv[])
{
if(IceUtilInternal::stackTraceImpl() == IceUtilInternal::STNone)
{
cout << "This Ice build cannot capture stack traces" << endl;
- return EXIT_SUCCESS;
+ return;
}
bool optimized = false;
@@ -163,8 +171,10 @@ int main(int argc, char* argv[])
if(!ifs)
{
- cout << "cannot open `" << filename << "`, failed!" << endl;
- return EXIT_FAILURE;
+ ostringstream os;
+ os << "cannot open `" << filename << "`, failed!";
+ cout << os.str() << endl;
+ throw invalid_argument(os.str());
}
// Show which template we use:
@@ -229,6 +239,6 @@ int main(int argc, char* argv[])
}
}
cout << "ok" << endl;
-
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(Client);
diff --git a/cpp/test/IceUtil/stacktrace/StackTrace.debug.Win32 b/cpp/test/IceUtil/stacktrace/StackTrace.debug.Win32
index 0539f10185a..697f9860a23 100644
--- a/cpp/test/IceUtil/stacktrace/StackTrace.debug.Win32
+++ b/cpp/test/IceUtil/stacktrace/StackTrace.debug.Win32
@@ -1,9 +1,10 @@
- 0 IceUtil::Exception::Exception
- 1 IceUtil::ExceptionHelper<IceUtil::NullHandleException>::ExceptionHelper
- 2 IceUtil::NullHandleException::NullHandleException
- 3 `anonymous namespace'::Thrower::fifth
- 4 `anonymous namespace'::Thrower::forth
- 5 `anonymous namespace'::Thrower::third
- 6 `anonymous namespace'::Thrower::second
- 7 `anonymous namespace'::Thrower::first
- 8 main
+ 0 IceUtil::Exception::Exception at
+ 1 IceUtil::ExceptionHelper<IceUtil::NullHandleException>::ExceptionHelper<IceUtil::NullHandleException> at
+ 2 IceUtil::NullHandleException::NullHandleException at
+ 3 `anonymous namespace'::Thrower::fifth at
+ 4 `anonymous namespace'::Thrower::forth at
+ 5 `anonymous namespace'::Thrower::third at
+ 6 `anonymous namespace'::Thrower::second at
+ 7 `anonymous namespace'::Thrower::first at
+ 8 Client::run at
+ 9 Test::runTest<Client> at
diff --git a/cpp/test/IceUtil/stacktrace/StackTrace.debug.Win64 b/cpp/test/IceUtil/stacktrace/StackTrace.debug.Win64
index 0539f10185a..697f9860a23 100644
--- a/cpp/test/IceUtil/stacktrace/StackTrace.debug.Win64
+++ b/cpp/test/IceUtil/stacktrace/StackTrace.debug.Win64
@@ -1,9 +1,10 @@
- 0 IceUtil::Exception::Exception
- 1 IceUtil::ExceptionHelper<IceUtil::NullHandleException>::ExceptionHelper
- 2 IceUtil::NullHandleException::NullHandleException
- 3 `anonymous namespace'::Thrower::fifth
- 4 `anonymous namespace'::Thrower::forth
- 5 `anonymous namespace'::Thrower::third
- 6 `anonymous namespace'::Thrower::second
- 7 `anonymous namespace'::Thrower::first
- 8 main
+ 0 IceUtil::Exception::Exception at
+ 1 IceUtil::ExceptionHelper<IceUtil::NullHandleException>::ExceptionHelper<IceUtil::NullHandleException> at
+ 2 IceUtil::NullHandleException::NullHandleException at
+ 3 `anonymous namespace'::Thrower::fifth at
+ 4 `anonymous namespace'::Thrower::forth at
+ 5 `anonymous namespace'::Thrower::third at
+ 6 `anonymous namespace'::Thrower::second at
+ 7 `anonymous namespace'::Thrower::first at
+ 8 Client::run at
+ 9 Test::runTest<Client> at
diff --git a/cpp/test/IceUtil/stacktrace/StackTrace.debug.macOS b/cpp/test/IceUtil/stacktrace/StackTrace.debug.macOS
index f974d3cfc51..74c8226d375 100644
--- a/cpp/test/IceUtil/stacktrace/StackTrace.debug.macOS
+++ b/cpp/test/IceUtil/stacktrace/StackTrace.debug.macOS
@@ -7,5 +7,6 @@
6 (anonymous namespace)::Thrower::third() in client
7 (anonymous namespace)::Thrower::second() in client
8 (anonymous namespace)::Thrower::first() in client
- 9 main in client
- 10 start in libdyld.dylib
+ 9 Client::run(int, char**) in client
+ 10 int Test::runTest<Client>(int, char**) in client
+ 11 main in client
diff --git a/cpp/test/IceUtil/stacktrace/StackTrace.release-vc140.Win32 b/cpp/test/IceUtil/stacktrace/StackTrace.release-vc140.Win32
index 7290cffd13e..2a6b2950a4d 100644
--- a/cpp/test/IceUtil/stacktrace/StackTrace.release-vc140.Win32
+++ b/cpp/test/IceUtil/stacktrace/StackTrace.release-vc140.Win32
@@ -1,2 +1,3 @@
-0 IceUtil::NullHandleException::NullHandleException
-1 main
+ 0 IceUtil::NullHandleException::NullHandleException at
+ 1 Client::run at
+ 2 Test::runTest<Client> at
diff --git a/cpp/test/IceUtil/stacktrace/StackTrace.release-vc140.Win64 b/cpp/test/IceUtil/stacktrace/StackTrace.release-vc140.Win64
index 9d2502aaa55..2f928eafe74 100644
--- a/cpp/test/IceUtil/stacktrace/StackTrace.release-vc140.Win64
+++ b/cpp/test/IceUtil/stacktrace/StackTrace.release-vc140.Win64
@@ -1,4 +1,5 @@
0 IceUtil::Exception::Exception at
1 IceUtil::ExceptionHelper<IceUtil::NullHandleException>::ExceptionHelper<IceUtil::NullHandleException> at
2 IceUtil::NullHandleException::NullHandleException at
- 3 main at
+ 3 Client::run at
+ 4 Test::runTest<Client> at
diff --git a/cpp/test/IceUtil/stacktrace/StackTrace.release.Win32 b/cpp/test/IceUtil/stacktrace/StackTrace.release.Win32
index 06fdff43f80..b4e2f1bb997 100644
--- a/cpp/test/IceUtil/stacktrace/StackTrace.release.Win32
+++ b/cpp/test/IceUtil/stacktrace/StackTrace.release.Win32
@@ -1,3 +1,4 @@
- 0 IceUtil::NullHandleException::NullHandleException
- 1 `anonymous namespace'::Thrower::fifth
- 2 main
+ 0 IceUtil::NullHandleException::NullHandleException at
+ 1 `anonymous namespace'::Thrower::fifth at
+ 2 Client::run at
+ 3 Test::runTest<Client> at
diff --git a/cpp/test/IceUtil/stacktrace/StackTrace.release.Win64 b/cpp/test/IceUtil/stacktrace/StackTrace.release.Win64
index 2f3132a5134..fdc73ea277e 100644
--- a/cpp/test/IceUtil/stacktrace/StackTrace.release.Win64
+++ b/cpp/test/IceUtil/stacktrace/StackTrace.release.Win64
@@ -1,4 +1,5 @@
0 IceUtil::Exception::Exception at
1 IceUtil::NullHandleException::NullHandleException at
2 `anonymous namespace'::Thrower::fifth at
- 3 main at
+ 3 Client::run at
+ 4 Test::runTest<Client> at
diff --git a/cpp/test/IceUtil/stacktrace/StackTrace.release.macOS b/cpp/test/IceUtil/stacktrace/StackTrace.release.macOS
index 6aa130b8088..2f4ae2a8cd0 100644
--- a/cpp/test/IceUtil/stacktrace/StackTrace.release.macOS
+++ b/cpp/test/IceUtil/stacktrace/StackTrace.release.macOS
@@ -1,3 +1,3 @@
0 IceUtil::NullHandleException::NullHandleException(char const*, int) in libIce.3.7.1.dylib
- 1 main in client
- 2 start in libdyld.dylib
+ 1 Client::run(int, char**) in client
+ 2 int Test::runTest<Client>(int, char**) in client
diff --git a/cpp/test/IceUtil/thread/AliveTest.cpp b/cpp/test/IceUtil/thread/AliveTest.cpp
index e2bd0b9c0c2..11dc98e599e 100644
--- a/cpp/test/IceUtil/thread/AliveTest.cpp
+++ b/cpp/test/IceUtil/thread/AliveTest.cpp
@@ -9,7 +9,7 @@
#include <IceUtil/IceUtil.h>
#include <AliveTest.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace IceUtil;
diff --git a/cpp/test/IceUtil/thread/Client.cpp b/cpp/test/IceUtil/thread/Client.cpp
index 85f3bf1976d..23464f642d0 100644
--- a/cpp/test/IceUtil/thread/Client.cpp
+++ b/cpp/test/IceUtil/thread/Client.cpp
@@ -10,28 +10,27 @@
#include <IceUtil/IceUtil.h>
#include <stdlib.h>
-#include <TestCommon.h>
-
+#include <TestHelper.h>
#include <TestSuite.h>
using namespace std;
-int
-main(int, char**)
+class Client : public Test::TestHelper
{
- try
- {
- initializeTestSuite();
+public:
- for(list<TestBasePtr>::const_iterator p = allTests.begin(); p != allTests.end(); ++p)
- {
- (*p)->start();
- }
- }
- catch(const TestFailed& e)
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
+{
+ initializeTestSuite();
+
+ for(list<TestBasePtr>::const_iterator p = allTests.begin(); p != allTests.end(); ++p)
{
- cout << "test " << e.name << " failed" << endl;
- return EXIT_FAILURE;
+ (*p)->start();
}
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceUtil/thread/CountDownLatchTest.cpp b/cpp/test/IceUtil/thread/CountDownLatchTest.cpp
index ee4264fa874..7c36b02be0e 100644
--- a/cpp/test/IceUtil/thread/CountDownLatchTest.cpp
+++ b/cpp/test/IceUtil/thread/CountDownLatchTest.cpp
@@ -11,7 +11,7 @@
#include <IceUtil/CountDownLatch.h>
#include <CountDownLatchTest.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace IceUtil;
diff --git a/cpp/test/IceUtil/thread/CreateTest.cpp b/cpp/test/IceUtil/thread/CreateTest.cpp
index a48580126a1..392a5bbed44 100644
--- a/cpp/test/IceUtil/thread/CreateTest.cpp
+++ b/cpp/test/IceUtil/thread/CreateTest.cpp
@@ -10,7 +10,7 @@
#include <IceUtil/IceUtil.h>
#include <CreateTest.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace IceUtil;
diff --git a/cpp/test/IceUtil/thread/MonitorMutexTest.cpp b/cpp/test/IceUtil/thread/MonitorMutexTest.cpp
index 731b089b19a..f4d1d3a87ba 100644
--- a/cpp/test/IceUtil/thread/MonitorMutexTest.cpp
+++ b/cpp/test/IceUtil/thread/MonitorMutexTest.cpp
@@ -10,7 +10,7 @@
#include <IceUtil/IceUtil.h>
#include <MonitorMutexTest.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace IceUtil;
diff --git a/cpp/test/IceUtil/thread/MonitorRecMutexTest.cpp b/cpp/test/IceUtil/thread/MonitorRecMutexTest.cpp
index 88bdc6c25c0..ea1e84f93ca 100644
--- a/cpp/test/IceUtil/thread/MonitorRecMutexTest.cpp
+++ b/cpp/test/IceUtil/thread/MonitorRecMutexTest.cpp
@@ -10,7 +10,7 @@
#include <IceUtil/IceUtil.h>
#include <MonitorRecMutexTest.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace IceUtil;
diff --git a/cpp/test/IceUtil/thread/MutexTest.cpp b/cpp/test/IceUtil/thread/MutexTest.cpp
index bfa923e2680..cb71a18d695 100644
--- a/cpp/test/IceUtil/thread/MutexTest.cpp
+++ b/cpp/test/IceUtil/thread/MutexTest.cpp
@@ -10,7 +10,7 @@
#include <IceUtil/IceUtil.h>
#include <MutexTest.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace IceUtil;
diff --git a/cpp/test/IceUtil/thread/RecMutexTest.cpp b/cpp/test/IceUtil/thread/RecMutexTest.cpp
index 582b6d7ec28..93ff74da4a5 100644
--- a/cpp/test/IceUtil/thread/RecMutexTest.cpp
+++ b/cpp/test/IceUtil/thread/RecMutexTest.cpp
@@ -10,7 +10,7 @@
#include <IceUtil/IceUtil.h>
#include <RecMutexTest.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace IceUtil;
diff --git a/cpp/test/IceUtil/thread/SleepTest.cpp b/cpp/test/IceUtil/thread/SleepTest.cpp
index ce69e1e233b..b157079100c 100644
--- a/cpp/test/IceUtil/thread/SleepTest.cpp
+++ b/cpp/test/IceUtil/thread/SleepTest.cpp
@@ -12,7 +12,7 @@
#include <stdio.h>
#include <SleepTest.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace IceUtil;
diff --git a/cpp/test/IceUtil/thread/StartTest.cpp b/cpp/test/IceUtil/thread/StartTest.cpp
index 46b0ba64032..eef50038b47 100644
--- a/cpp/test/IceUtil/thread/StartTest.cpp
+++ b/cpp/test/IceUtil/thread/StartTest.cpp
@@ -12,7 +12,7 @@
#include <stdio.h>
#include <StartTest.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
using namespace IceUtil;
diff --git a/cpp/test/IceUtil/thread/TestSuite.cpp b/cpp/test/IceUtil/thread/TestSuite.cpp
index a056fdcb125..0b3e4ecf36e 100644
--- a/cpp/test/IceUtil/thread/TestSuite.cpp
+++ b/cpp/test/IceUtil/thread/TestSuite.cpp
@@ -7,7 +7,8 @@
//
// **********************************************************************
-#include <TestSuite.h>
+#include <TestBase.h>
+#include <list>
#include <CountDownLatchTest.h>
#include <MutexTest.h>
#include <RecMutexTest.h>
diff --git a/cpp/test/IceUtil/timer/Client.cpp b/cpp/test/IceUtil/timer/Client.cpp
index 1dc82a002c2..d24313493e6 100644
--- a/cpp/test/IceUtil/timer/Client.cpp
+++ b/cpp/test/IceUtil/timer/Client.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <IceUtil/Timer.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <vector>
@@ -151,7 +151,16 @@ private:
};
ICE_DEFINE_PTR(DestroyTaskPtr, DestroyTask);
-int main(int, char**)
+class Client : public Test::TestHelper
+{
+public:
+
+ void run(int argc, char* argv[]);
+
+};
+
+void
+Client::run(int, char* argv[])
{
cout << "testing timer... " << flush;
{
@@ -274,6 +283,6 @@ int main(int, char**)
}
}
cout << "ok" << endl;
-
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/IceUtil/unicode/Client.cpp b/cpp/test/IceUtil/unicode/Client.cpp
index 0cc8990703f..86e1844dbd0 100644
--- a/cpp/test/IceUtil/unicode/Client.cpp
+++ b/cpp/test/IceUtil/unicode/Client.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <IceUtil/IceUtil.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#ifdef _WIN32
# include <io.h>
diff --git a/cpp/test/IceUtil/uuid/Client.cpp b/cpp/test/IceUtil/uuid/Client.cpp
index 629fe423263..7c009243054 100644
--- a/cpp/test/IceUtil/uuid/Client.cpp
+++ b/cpp/test/IceUtil/uuid/Client.cpp
@@ -13,7 +13,7 @@
#include <IceUtil/Thread.h>
#include <IceUtil/Mutex.h>
#include <IceUtil/MutexPtrLock.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <set>
#include <vector>
@@ -178,7 +178,15 @@ runTest(int threadCount, GenerateFunc func, long howMany, bool verbose, string n
}
}
-int main(int argc, char* argv[])
+class Client : public Test::TestHelper
+{
+public:
+
+ virtual void run(int argc, char* argv[]);
+};
+
+void
+Client::run(int argc, char* argv[])
{
long howMany = 300000;
int threadCount = 3;
@@ -187,36 +195,33 @@ int main(int argc, char* argv[])
if(argc > 3)
{
usage(argv[0]);
- return EXIT_FAILURE;
+ throw std::invalid_argument("too many arguments");
}
- else if(argc == 3)
+
+ if(argc > 1)
{
howMany = atol(argv[1]);
- if (howMany == 0)
+ if(howMany == 0)
{
usage(argv[0]);
- return EXIT_FAILURE;
+ throw invalid_argument("argv[1] howMany is not a number");
}
+ }
+
+ if(argc > 2)
+ {
+
threadCount = atoi(argv[2]);
if(threadCount <= 0)
{
usage(argv[0]);
- return EXIT_FAILURE;
+ throw invalid_argument("argv[2] threadCount is not a number");
}
verbose = true;
}
- else if(argc == 2)
- {
- howMany = atol(argv[1]);
- if (howMany == 0)
- {
- usage(argv[0]);
- return EXIT_FAILURE;
- }
- }
runTest<string, GenerateUUID>(threadCount, GenerateUUID(), howMany, verbose, "UUID");
runTest<string, GenerateRandomString>(threadCount, GenerateRandomString(), howMany, verbose, "string");
-
- return EXIT_SUCCESS;
}
+
+DEFINE_TEST(Client);
diff --git a/cpp/test/Slice/escape/Client.cpp b/cpp/test/Slice/escape/Client.cpp
index d7029ab2da8..bf9dcb6911c 100644
--- a/cpp/test/Slice/escape/Client.cpp
+++ b/cpp/test/Slice/escape/Client.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Key.h>
#include <Clash.h>
@@ -176,9 +176,17 @@ testtypes()
test(_cpp_and::_cpp_xor_eq == 0);
}
-int
-run(const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
+public:
+
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
+{
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
communicator->getProperties()->setProperty("TestAdapter.Endpoints", "default");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(charI), Ice::stringToIdentity("test"));
@@ -186,24 +194,9 @@ run(const Ice::CommunicatorPtr& communicator)
cout << "Testing operation name... " << flush;
_cpp_and::charPrxPtr p = ICE_UNCHECKED_CAST(_cpp_and::charPrx,
- adapter->createProxy(Ice::stringToIdentity("test")));
+ adapter->createProxy(Ice::stringToIdentity("test")));
p->_cpp_explicit();
cout << "ok" << endl;
-
- return EXIT_SUCCESS;
}
-int
-main(int argc, char* argv[])
-{
- try
- {
- Ice::CommunicatorHolder ich(argc, argv);
- return run(ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
-}
+DEFINE_TEST(Client)
diff --git a/cpp/test/Slice/macros/Client.cpp b/cpp/test/Slice/macros/Client.cpp
index 5bbbd2bc9ac..308a5e53e70 100644
--- a/cpp/test/Slice/macros/Client.cpp
+++ b/cpp/test/Slice/macros/Client.cpp
@@ -8,32 +8,31 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace Test;
using namespace std;
-int
-main(int argc, char* argv[])
+class Client : public Test::TestHelper
{
- int status = EXIT_SUCCESS;
- try
- {
- cout << "testing Slice predefined macros... " << flush;
- DefaultPtr d = ICE_MAKE_SHARED(Default);
- test(d->x == 10);
- test(d->y == 10);
+public:
- CppOnlyPtr c = ICE_MAKE_SHARED(CppOnly);
- test(c->lang == "cpp");
- test(c->version == ICE_INT_VERSION);
- cout << "ok" << endl;
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
- return status;
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
+{
+ cout << "testing Slice predefined macros... " << flush;
+ DefaultPtr d = ICE_MAKE_SHARED(Default);
+ test(d->x == 10);
+ test(d->y == 10);
+
+ CppOnlyPtr c = ICE_MAKE_SHARED(CppOnly);
+ test(c->lang == "cpp");
+ test(c->version == ICE_INT_VERSION);
+ cout << "ok" << endl;
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/Slice/structure/Client.cpp b/cpp/test/Slice/structure/Client.cpp
index 537f3185922..8aa469adb43 100644
--- a/cpp/test/Slice/structure/Client.cpp
+++ b/cpp/test/Slice/structure/Client.cpp
@@ -8,7 +8,7 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
#include <Test.h>
using namespace std;
@@ -262,25 +262,18 @@ allTests(const Ice::CommunicatorPtr& communicator)
cout << "ok" << endl;
}
-int
-run(const Ice::CommunicatorPtr& communicator)
+class Client : public Test::TestHelper
{
- allTests(communicator);
+public:
- return EXIT_SUCCESS;
-}
+ void run(int, char**);
+};
-int
-main(int argc, char* argv[])
+void
+Client::run(int argc, char** argv)
{
- try
- {
- Ice::CommunicatorHolder ich(argc, argv);
- return run(ich.communicator());
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- return EXIT_FAILURE;
- }
+ Ice::CommunicatorHolder ich = initialize(argc, argv);
+ allTests(ich.communicator());
}
+
+DEFINE_TEST(Client)
diff --git a/cpp/test/include/TestCommon.h b/cpp/test/include/TestCommon.h
deleted file mode 100644
index 609d7a39b14..00000000000
--- a/cpp/test/include/TestCommon.h
+++ /dev/null
@@ -1,177 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2018 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_COMMON_H
-#define TEST_COMMON_H
-
-#include <IceUtil/Config.h>
-
-#if defined(_MSC_VER) && !defined(TEST_API_EXPORTS)
-# pragma comment(lib, ICE_LIBNAME("testcommon"))
-#endif
-
-#include <Ice/CommunicatorF.h>
-#include <Ice/ProxyF.h>
-#include <Ice/Initialize.h>
-
-#if defined(ICE_OS_UWP) || (TARGET_OS_IPHONE != 0)
-# include <Ice/Initialize.h>
-# include <Ice/Logger.h>
-# include <Ice/LocalException.h>
-#endif
-
-#include <IceUtil/IceUtil.h>
-
-#ifndef TEST_API
-# if defined(ICE_STATIC_LIBS)
-# define TEST_API /**/
-# elif defined(TEST_API_EXPORTS)
-# define TEST_API ICE_DECLSPEC_EXPORT
-# else
-# define TEST_API ICE_DECLSPEC_IMPORT
-# endif
-#endif
-
-void
-inline print(const std::string& msg)
-{
- std::cout << msg << std::flush;
-}
-
-void
-inline println(const std::string& msg)
-{
- std::cout << msg << std::endl;
-}
-
-TEST_API std::string getTestEndpoint(const Ice::CommunicatorPtr&, int, const std::string& = std::string());
-TEST_API std::string getTestEndpoint(const Ice::PropertiesPtr&, int, const std::string& = std::string());
-TEST_API std::string getTestProtocol(const Ice::PropertiesPtr&);
-TEST_API std::string getTestHost(const Ice::PropertiesPtr&);
-TEST_API int getTestPort(const Ice::PropertiesPtr&, int);
-TEST_API Ice::InitializationData getTestInitData(int&, char*[]);
-
-#if !defined(ICE_OS_UWP) && (TARGET_OS_IPHONE == 0)
-
-void
-inline testFailed(const char* expr, const char* file, unsigned int line)
-{
- std::cout << "failed!" << std::endl;
- std::cout << file << ':' << line << ": assertion `" << expr << "' failed" << std::endl;
- abort();
-}
-
-#define DEFINE_TEST(name)
-#define TEST_READY
-
-#else
-
-#include <TestHelper.h>
-
-namespace Test
-{
-
-extern MainHelper* helper;
-
-class MainHelperInit
-{
-public:
-
- MainHelperInit(MainHelper* r, const std::string& name, bool redirect)
- {
- helper = r;
-
- if(redirect)
- {
- _previousLogger = Ice::getProcessLogger();
- Ice::setProcessLogger(Ice::getProcessLogger()->cloneWithPrefix(name));
-
- _previousCoutBuffer = std::cout.rdbuf();
- std::cout.rdbuf(r);
-
- _previousCerrBuffer = std::cerr.rdbuf();
- std::cerr.rdbuf(r);
- }
- }
-
- ~MainHelperInit()
- {
- if(_previousLogger)
- {
- Ice::setProcessLogger(_previousLogger);
- std::cout.rdbuf(_previousCoutBuffer);
- std::cerr.rdbuf(_previousCerrBuffer);
- }
- }
-
-private:
-
- Ice::LoggerPtr _previousLogger;
- std::streambuf* _previousCoutBuffer;
- std::streambuf* _previousCerrBuffer;
-};
-
-//
-// Redefine main as Test::mainEntryPoint
-//
-#define main Test::mainEntryPoint
-int mainEntryPoint(int, char**);
-
-}
-
-class TestFailedException
-{
-};
-
-void
-inline testFailed(const char* expr, const char* file, unsigned int line)
-{
- std::cout << "failed!" << std::endl;
- std::cout << file << ':' << line << ": assertion `" << expr << "' failed" << std::endl;
- throw TestFailedException();
-}
-
-#define DEFINE_TEST(name) \
- Test::MainHelper* Test::helper; \
- Ice::CommunicatorPtr communicatorInstance; \
- extern "C" { \
- ICE_DECLSPEC_EXPORT void dllTestShutdown(); \
- void dllTestShutdown() \
- { \
- if(communicatorInstance) \
- { \
- communicatorInstance->destroy(); \
- } \
- } \
- ICE_DECLSPEC_EXPORT int dllMain(int, char**, Test::MainHelper*); \
- int dllMain(int argc, char** argv, Test::MainHelper* helper) \
- { \
- Test::MainHelperInit init(helper, name, helper->redirect()); \
- int status; \
- try \
- { \
- status = Test::mainEntryPoint(argc, argv); \
- } \
- catch(const TestFailedException&) \
- { \
- status = 1; \
- } \
- communicatorInstance = ICE_NULLPTR; \
- return status; \
- } \
- }
-
-#define TEST_READY Test::helper->serverReady(); \
- communicatorInstance = communicator;
-
-#endif
-
-#define test(ex) ((ex) ? ((void)0) : testFailed(#ex, __FILE__, __LINE__))
-
-#endif
diff --git a/cpp/test/include/TestHelper.h b/cpp/test/include/TestHelper.h
index 20be3f8307a..0c398ee2a79 100644
--- a/cpp/test/include/TestHelper.h
+++ b/cpp/test/include/TestHelper.h
@@ -15,49 +15,113 @@
#include <string>
#include <iostream>
+#include <IceUtil/Config.h>
+
+#if defined(_MSC_VER) && !defined(TEST_API_EXPORTS)
+# pragma comment(lib, ICE_LIBNAME("testcommon"))
+#endif
+
+#include <Ice/CommunicatorF.h>
+#include <Ice/ProxyF.h>
+#include <Ice/Initialize.h>
+
+#if defined(ICE_OS_UWP) || (TARGET_OS_IPHONE != 0)
+# include <Ice/Logger.h>
+# include <Ice/LocalException.h>
+
+# include <cassert>
+# include <cstdlib>
+# include <string>
+# include <iostream>
+#endif
+
+#include <IceUtil/IceUtil.h>
+
+#ifndef TEST_API
+# if defined(ICE_STATIC_LIBS)
+# define TEST_API /**/
+# elif defined(TEST_API_EXPORTS)
+# define TEST_API ICE_DECLSPEC_EXPORT
+# else
+# define TEST_API ICE_DECLSPEC_IMPORT
+# endif
+#endif
+
namespace Test
{
-class MainHelper : public std::streambuf
+class TEST_API ControllerHelper
+#ifndef ICE_CPP11_MAPPING
+ : public virtual IceUtil::Shared
+#endif
{
public:
- MainHelper()
- {
- setp(&data[0], &data[sizeof(data) - 1]);
- }
+ virtual bool redirect() const = 0;
+ virtual std::string getOutput() const = 0;
+ virtual std::string loggerPrefix() const = 0;
+ virtual void join() = 0;
+ virtual void print(const std::string&) = 0;
virtual void serverReady() = 0;
-
virtual void shutdown() = 0;
- virtual void waitForCompleted() = 0;
+ virtual int waitSuccess(int) const = 0;
+ virtual void waitReady(int) const = 0;
+};
+ICE_DEFINE_PTR(ControllerHelperPtr, ControllerHelper);
+
+#if defined(ICE_OS_UWP) || (TARGET_OS_IPHONE != 0)
+
+//
+// streambuf redirection implementation
+//
+class StreamHelper : public std::streambuf
+{
+public:
+
+ StreamHelper(ControllerHelperPtr controllerHelper, bool redirect) : _controllerHelper(controllerHelper)
+ {
+ setp(&data[0], &data[sizeof(data) - 1]);
+ if(redirect)
+ {
+ _previousLogger = Ice::getProcessLogger();
+ Ice::setProcessLogger(Ice::getProcessLogger()->cloneWithPrefix(_controllerHelper->loggerPrefix()));
- virtual bool redirect() = 0;
+ _previousCoutBuffer = std::cout.rdbuf();
+ std::cout.rdbuf(this);
- virtual void print(const std::string& msg) = 0;
+ _previousCerrBuffer = std::cerr.rdbuf();
+ std::cerr.rdbuf(this);
+ }
+ }
- virtual void
- flush()
+ ~StreamHelper()
{
+ if(_previousLogger)
+ {
+ Ice::setProcessLogger(_previousLogger);
+ std::cout.rdbuf(_previousCoutBuffer);
+ std::cerr.rdbuf(_previousCerrBuffer);
+ }
}
- virtual void
- newLine()
+ virtual void flush()
{
- print("\n");
}
-private:
+ virtual void newLine()
+ {
+ _controllerHelper->print("\n");
+ }
- //
- // streambuf redirection implementation
- //
+private:
int sync()
{
+ assert(_controllerHelper);
std::streamsize n = pptr() - pbase();
- print(std::string(pbase(), static_cast<int>(n)));
+ _controllerHelper->print(std::string(pbase(), static_cast<int>(n)));
pbump(-static_cast<int>(pptr() - pbase()));
return 0;
}
@@ -82,8 +146,127 @@ private:
return std::streambuf::sputc(c);
}
+ ControllerHelperPtr _controllerHelper;
char data[1024];
+ Ice::LoggerPtr _previousLogger;
+ std::streambuf* _previousCoutBuffer;
+ std::streambuf* _previousCerrBuffer;
};
+#endif
+
+class TEST_API TestHelper
+{
+public:
+
+ TestHelper(bool registerPlugins = true);
+ virtual ~TestHelper();
+
+ void setControllerHelper(const ControllerHelperPtr&);
+
+ std::string getTestEndpoint(const std::string&);
+ std::string getTestEndpoint(int num = 0, const std::string& prot = "");
+ static std::string getTestEndpoint(const Ice::PropertiesPtr& properties, int num = 0, const std::string& prot = "");
+
+ std::string getTestHost();
+ static std::string getTestHost(const Ice::PropertiesPtr&);
+ std::string getTestProtocol();
+ static std::string getTestProtocol(const Ice::PropertiesPtr&);
+
+ int getTestPort(int port = 0);
+ static int getTestPort(const Ice::PropertiesPtr&, int port = 0);
+
+ static Ice::PropertiesPtr
+ createTestProperties(int&, char*[]);
+
+ Ice::CommunicatorPtr
+ initialize(int& argc, char* argv[], const Ice::PropertiesPtr& properties = ICE_NULLPTR);
+
+ Ice::CommunicatorPtr initialize(int& argc, char* argv[], Ice::InitializationData initData);
+
+ Ice::CommunicatorPtr communicator() const;
+
+ void serverReady();
+ void completed();
+ void shutdown();
+
+ static void shutdownOnInterrupt();
+ static void shutdownOnInterruptCallback(int);
+
+ virtual void run(int argc, char* argv[]) = 0;
+
+private:
+
+ ControllerHelperPtr _controllerHelper;
+ Ice::CommunicatorPtr _communicator;
+ IceUtil::Mutex _mutex;
+};
+
+#if defined(ICE_OS_UWP) || (TARGET_OS_IPHONE != 0)
+
+class TestFailedException
+{
+};
+
+void
+inline testFailed(const char* expr, const char* file, unsigned int line)
+{
+ std::cout << "failed!" << std::endl;
+ std::cout << file << ':' << line << ": assertion `" << expr << "' failed" << std::endl;
+ throw TestFailedException();
}
+
+#else
+
+void
+inline testFailed(const char* expr, const char* file, unsigned int line)
+{
+ std::cout << "failed!" << std::endl;
+ std::cout << file << ':' << line << ": assertion `" << expr << "' failed" << std::endl;
+ abort();
+}
+
+template<typename T>
+int
+runTest(int argc, char* argv[])
+{
+ int status = 0;
+ try
+ {
+ T helper;
+ helper.run(argc, argv);
+ }
+ catch(const std::exception& ex)
+ {
+ std::cerr << "error: " << ex.what() << std::endl;
+ status = 1;
+ }
+ return status;
+}
+#endif
+
+}
+
+#if defined(ICE_OS_UWP) || (TARGET_OS_IPHONE != 0)
+# define DEFINE_TEST(HELPER) \
+ extern "C" \
+ { \
+ ICE_DECLSPEC_EXPORT Test::TestHelper* createHelper() \
+ { \
+ return new HELPER(); \
+ } \
+ }
+
+#else
+
+# define DEFINE_TEST(HELPER) \
+ int main(int argc, char** argv) \
+ { \
+ return Test::runTest<HELPER>(argc, argv); \
+ }
+
+#endif
+
+#define test(ex) ((ex) ? ((void)0) : Test::testFailed(#ex, __FILE__, __LINE__))
+
#endif
diff --git a/cpp/test/ios/controller/Bundle/ControllerI.mm b/cpp/test/ios/controller/Bundle/ControllerI.mm
index 82fa37ff9eb..c73791edafa 100644
--- a/cpp/test/ios/controller/Bundle/ControllerI.mm
+++ b/cpp/test/ios/controller/Bundle/ControllerI.mm
@@ -15,7 +15,7 @@
#include <dlfcn.h>
-@protocol ViewController
+@protocol ControllerView
-(void) print:(NSString*)msg;
-(void) println:(NSString*)msg;
@end
@@ -26,47 +26,54 @@ using namespace Test::Common;
namespace
{
- typedef int (*MAIN_ENTRY_POINT)(int argc, char** argv, Test::MainHelper* helper);
- typedef int (*SHUTDOWN_ENTRY_POINT)();
+ typedef Test::TestHelper* (*CREATE_HELPER_ENTRY_POINT)();
- class MainHelperI : public Test::MainHelper, private IceUtil::Monitor<IceUtil::Mutex>, public IceUtil::Thread
+ class ControllerHelperI : public Test::ControllerHelper,
+ private IceUtil::Monitor<IceUtil::Mutex>,
+ public IceUtil::Thread
+#ifdef ICE_CPP11_MAPPING
+ , public enable_shared_from_this<ControllerHelperI>
+#endif
{
public:
- MainHelperI(id<ViewController>, const string&, const StringSeq&);
- virtual ~MainHelperI();
+ ControllerHelperI(id<ControllerView>, const string&, const StringSeq&);
+ virtual ~ControllerHelperI();
+ virtual bool redirect() const;
+
+ virtual string getOutput() const;
+ virtual string loggerPrefix() const;
+ virtual void print(const std::string&);
virtual void serverReady();
virtual void shutdown();
- virtual void waitForCompleted() {}
- virtual bool redirect();
- virtual void print(const std::string&);
-
- virtual void run();
+ virtual void join();
- void completed(int);
void waitReady(int) const;
int waitSuccess(int) const;
- string getOutput() const;
+
+ virtual void run();
+ void completed(int);
private:
- id<ViewController> _controller;
+ id<ControllerView> _controller;
std::string _dll;
StringSeq _args;
CFBundleRef _handle;
- SHUTDOWN_ENTRY_POINT _dllTestShutdown;
bool _ready;
bool _completed;
int _status;
std::ostringstream _out;
+ IceInternal::UniquePtr<Test::TestHelper> _helper;
};
+ ICE_DEFINE_PTR(ControllerHelperIPtr, ControllerHelperI);
class ProcessI : public Process
{
public:
- ProcessI(id<ViewController>, MainHelperI*);
+ ProcessI(id<ControllerView>, ControllerHelperI*);
virtual ~ProcessI();
void waitReady(int, const Ice::Current&);
@@ -75,15 +82,15 @@ namespace
private:
- id<ViewController> _controller;
- IceUtil::Handle<MainHelperI> _helper;
+ id<ControllerView> _controller;
+ IceUtil::Handle<ControllerHelperI> _helper;
};
class ProcessControllerI : public ProcessController
{
public:
- ProcessControllerI(id<ViewController>, NSString*, NSString*);
+ ProcessControllerI(id<ControllerView>, NSString*, NSString*);
#ifdef ICE_CPP11_MAPPING
virtual shared_ptr<ProcessPrx> start(string, string, StringSeq, const Ice::Current&);
@@ -95,17 +102,17 @@ namespace
private:
- id<ViewController> _controller;
+ id<ControllerView> _controller;
string _ipv4;
string _ipv6;
};
- class ControllerHelper
+ class ControllerI
{
public:
- ControllerHelper(id<ViewController>, NSString*, NSString*);
- virtual ~ControllerHelper();
+ ControllerI(id<ControllerView>, NSString*, NSString*);
+ virtual ~ControllerI();
private:
@@ -114,7 +121,7 @@ namespace
}
-MainHelperI::MainHelperI(id<ViewController> controller, const string& dll, const StringSeq& args) :
+ControllerHelperI::ControllerHelperI(id<ControllerView> controller, const string& dll, const StringSeq& args) :
_controller(controller),
_dll(dll),
_args(args),
@@ -124,7 +131,7 @@ _status(0)
{
}
-MainHelperI::~MainHelperI()
+ControllerHelperI::~ControllerHelperI()
{
if(_handle)
{
@@ -134,7 +141,7 @@ MainHelperI::~MainHelperI()
}
void
-MainHelperI::serverReady()
+ControllerHelperI::serverReady()
{
Lock sync(*this);
_ready = true;
@@ -142,7 +149,7 @@ MainHelperI::serverReady()
}
void
-MainHelperI::shutdown()
+ControllerHelperI::shutdown()
{
Lock sync(*this);
if(_completed)
@@ -150,27 +157,36 @@ MainHelperI::shutdown()
return;
}
- if(_dllTestShutdown)
+ if(_helper)
{
- _dllTestShutdown();
+ Ice::CommunicatorPtr communicator = _helper->communicator();
+ if(communicator)
+ {
+ communicator->shutdown();
+ }
}
}
bool
-MainHelperI::redirect()
+ControllerHelperI::redirect() const
{
return _dll.find("client") != string::npos || _dll.find("collocated") != string::npos;
}
+string
+ControllerHelperI::loggerPrefix() const
+{
+ return _dll;
+}
+
void
-MainHelperI::print(const std::string& msg)
+ControllerHelperI::print(const std::string& msg)
{
_out << msg;
- //[_controller println:[NSString stringWithUTF8String:msg.c_str()]];
}
void
-MainHelperI::run()
+ControllerHelperI::run()
{
NSString* bundlePath = [[NSBundle mainBundle] privateFrameworksPath];
@@ -199,7 +215,7 @@ MainHelperI::run()
//
void* sym = 0;
int attempts = 0;
- while((sym = CFBundleGetFunctionPointerForName(_handle, CFSTR("dllTestShutdown"))) == 0 && attempts < 5)
+ while((sym = CFBundleGetFunctionPointerForName(_handle, CFSTR("createHelper"))) == 0 && attempts < 5)
{
attempts++;
[NSThread sleepForTimeInterval:0.2];
@@ -207,32 +223,14 @@ MainHelperI::run()
if(sym == 0)
{
- NSString* err = [NSString stringWithFormat:@"Could not get function pointer dllTestShutdown from bundle %@",
- bundlePath];
- print([err UTF8String]);
- completed(EXIT_FAILURE);
- return;
- }
- /*
- else if(attempts > 0)
- {
- print([[NSString stringWithFormat:@"************ found dllTestShutdown after %d failed attempt(s)", attempts] UTF8String]);
- }
- */
-
- _dllTestShutdown = (SHUTDOWN_ENTRY_POINT)sym;
-
- sym = CFBundleGetFunctionPointerForName(_handle, CFSTR("dllMain"));
- if(sym == 0)
- {
- NSString* err = [NSString stringWithFormat:@"Could not get function pointer dllMain from bundle %@",
+ NSString* err = [NSString stringWithFormat:@"Could not get function pointer createHelper from bundle %@",
bundlePath];
print([err UTF8String]);
completed(EXIT_FAILURE);
return;
}
- MAIN_ENTRY_POINT dllMain = (MAIN_ENTRY_POINT)sym;
+ CREATE_HELPER_ENTRY_POINT createHelper = (CREATE_HELPER_ENTRY_POINT)sym;
char** argv = new char*[_args.size() + 1];
for(unsigned int i = 0; i < _args.size(); ++i)
{
@@ -241,21 +239,33 @@ MainHelperI::run()
argv[_args.size()] = 0;
try
{
- completed(dllMain(static_cast<int>(_args.size()), argv, this));
+ Test::StreamHelper streamHelper(ICE_SHARED_FROM_THIS, redirect());
+ _helper.reset(createHelper());
+ _helper->setControllerHelper(ICE_SHARED_FROM_THIS);
+ _helper->run(static_cast<int>(_args.size()), argv);
+ completed(0);
}
catch(const std::exception& ex)
{
print("unexpected exception while running `" + _args[0] + "':\n" + ex.what());
+ completed(1);
}
catch(...)
{
print("unexpected unknown exception while running `" + _args[0] + "'");
+ completed(1);
}
delete[] argv;
}
void
-MainHelperI::completed(int status)
+ControllerHelperI::join()
+{
+ getThreadControl().join();
+}
+
+void
+ControllerHelperI::completed(int status)
{
Lock sync(*this);
_completed = true;
@@ -264,7 +274,7 @@ MainHelperI::completed(int status)
}
void
-MainHelperI::waitReady(int timeout) const
+ControllerHelperI::waitReady(int timeout) const
{
Lock sync(*this);
while(!_ready && !_completed)
@@ -281,7 +291,7 @@ MainHelperI::waitReady(int timeout) const
}
int
-MainHelperI::waitSuccess(int timeout) const
+ControllerHelperI::waitSuccess(int timeout) const
{
Lock sync(*this);
while(!_completed)
@@ -295,13 +305,13 @@ MainHelperI::waitSuccess(int timeout) const
}
string
-MainHelperI::getOutput() const
+ControllerHelperI::getOutput() const
{
assert(_completed);
return _out.str();
}
-ProcessI::ProcessI(id<ViewController> controller, MainHelperI* helper) : _controller(controller), _helper(helper)
+ProcessI::ProcessI(id<ControllerView> controller, ControllerHelperI* helper) : _controller(controller), _helper(helper)
{
}
@@ -326,11 +336,11 @@ ProcessI::terminate(const Ice::Current& current)
{
_helper->shutdown();
current.adapter->remove(current.id);
- _helper->getThreadControl().join();
+ _helper->join();
return _helper->getOutput();
}
-ProcessControllerI::ProcessControllerI(id<ViewController> controller, NSString* ipv4, NSString* ipv6) :
+ProcessControllerI::ProcessControllerI(id<ControllerView> controller, NSString* ipv4, NSString* ipv6) :
_controller(controller), _ipv4([ipv4 UTF8String]), _ipv6([ipv6 UTF8String])
{
}
@@ -346,7 +356,7 @@ ProcessControllerI::start(const string& testSuite, const string& exe, const Stri
std::string prefix = std::string("test/") + testSuite;
replace(prefix.begin(), prefix.end(), '/', '_');
[_controller println:[NSString stringWithFormat:@"starting %s %s... ", testSuite.c_str(), exe.c_str()]];
- IceUtil::Handle<MainHelperI> helper = new MainHelperI(_controller, prefix + '/' + exe + ".bundle", args);
+ ControllerHelperIPtr helper = ICE_MAKE_SHARED(ControllerHelperI, _controller, prefix + '/' + exe + ".bundle", args);
//
// Use a 768KB thread stack size for the objects test. This is necessary when running the
@@ -366,7 +376,7 @@ ProcessControllerI::getHost(const string& protocol, bool ipv6, const Ice::Curren
return ipv6 ? _ipv6 : _ipv4;
}
-ControllerHelper::ControllerHelper(id<ViewController> controller, NSString* ipv4, NSString* ipv6)
+ControllerI::ControllerI(id<ControllerView> controller, NSString* ipv4, NSString* ipv6)
{
Ice::registerIceDiscovery();
@@ -393,30 +403,30 @@ ControllerHelper::ControllerHelper(id<ViewController> controller, NSString* ipv4
adapter->activate();
}
-ControllerHelper::~ControllerHelper()
+ControllerI::~ControllerI()
{
_communicator->destroy();
_communicator = 0;
}
-static ControllerHelper* controllerHelper = 0;
+static ControllerI* controllerI = 0;
extern "C"
{
void
-startController(id<ViewController> controller, NSString* ipv4, NSString* ipv6)
+startController(id<ControllerView> controller, NSString* ipv4, NSString* ipv6)
{
- controllerHelper = new ControllerHelper(controller, ipv4, ipv6);
+ controllerI = new ControllerI(controller, ipv4, ipv6);
}
void
stopController()
{
- if(controllerHelper)
+ if(controllerI)
{
- delete controllerHelper;
- controllerHelper = 0;
+ delete controllerI;
+ controllerI = 0;
}
}
diff --git a/cpp/test/ios/controller/C++ Test Controller.xcodeproj/project.pbxproj b/cpp/test/ios/controller/C++ Test Controller.xcodeproj/project.pbxproj
index 7e7e7818529..da1006d93d9 100644
--- a/cpp/test/ios/controller/C++ Test Controller.xcodeproj/project.pbxproj
+++ b/cpp/test/ios/controller/C++ Test Controller.xcodeproj/project.pbxproj
@@ -19,7 +19,6 @@
148ABA1A1DFB12C800594F70 /* client.p12 in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA171DFB12C800594F70 /* client.p12 */; };
148ABA1B1DFB12C800594F70 /* server.p12 in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA181DFB12C800594F70 /* server.p12 */; };
148ABA1D1DFB12DB00594F70 /* certs in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA1C1DFB12DB00594F70 /* certs */; };
- 148ABA431DFEEAEE00594F70 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 14905C5B1DF98FD8002AE61B /* ViewController.m */; };
148ABA441DFEEAEE00594F70 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 14905C581DF98FD8002AE61B /* AppDelegate.m */; };
148ABA451DFEEAEE00594F70 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 14905C551DF98FD8002AE61B /* main.m */; };
148ABA481DFEEAEE00594F70 /* client.p12 in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA171DFB12C800594F70 /* client.p12 */; };
@@ -30,7 +29,6 @@
148ABA4E1DFEEAEE00594F70 /* certs in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA1C1DFB12DB00594F70 /* certs */; };
14905C561DF98FD8002AE61B /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 14905C551DF98FD8002AE61B /* main.m */; };
14905C591DF98FD8002AE61B /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 14905C581DF98FD8002AE61B /* AppDelegate.m */; };
- 14905C5C1DF98FD8002AE61B /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 14905C5B1DF98FD8002AE61B /* ViewController.m */; };
14905C5F1DF98FD8002AE61B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 14905C5D1DF98FD8002AE61B /* Main.storyboard */; };
14905C611DF98FD8002AE61B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 14905C601DF98FD8002AE61B /* Assets.xcassets */; };
14905C641DF98FD8002AE61B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 14905C621DF98FD8002AE61B /* LaunchScreen.storyboard */; };
@@ -41,6 +39,9 @@
14E398361E01B18100A89291 /* Cpp98ControllerBundle.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = 14E398311E01B14B00A89291 /* Cpp98ControllerBundle.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
14E398381E01B30500A89291 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 14E398371E01B30500A89291 /* CFNetwork.framework */; };
14E398391E01B30E00A89291 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 14E398371E01B30500A89291 /* CFNetwork.framework */; };
+ 8267256920A9EF6E0089EA2D /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8267256820A9EF6E0089EA2D /* Security.framework */; };
+ 8267256A20A9F0210089EA2D /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8267256820A9EF6E0089EA2D /* Security.framework */; };
+ 82A1B91820C0081200B3535B /* ControllerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 82A1B91620C0081200B3535B /* ControllerView.m */; };
/* End PBXBuildFile section */
/* Begin PBXBuildRule section */
@@ -126,8 +127,6 @@
14905C551DF98FD8002AE61B /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
14905C571DF98FD8002AE61B /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
14905C581DF98FD8002AE61B /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
- 14905C5A1DF98FD8002AE61B /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
- 14905C5B1DF98FD8002AE61B /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
14905C5E1DF98FD8002AE61B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
14905C601DF98FD8002AE61B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
14905C631DF98FD8002AE61B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
@@ -135,6 +134,9 @@
14B70D0F1E0160FD00118DE3 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
14E398311E01B14B00A89291 /* Cpp98ControllerBundle.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Cpp98ControllerBundle.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
14E398371E01B30500A89291 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
+ 8267256820A9EF6E0089EA2D /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
+ 82A1B91620C0081200B3535B /* ControllerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ControllerView.m; sourceTree = "<group>"; };
+ 82A1B91720C0081200B3535B /* ControllerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ControllerView.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -142,6 +144,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ 8267256920A9EF6E0089EA2D /* Security.framework in Frameworks */,
14E398391E01B30E00A89291 /* CFNetwork.framework in Frameworks */,
1440D8761E0187BA00CF7ED3 /* UIKit.framework in Frameworks */,
1440D88A1E0189F300CF7ED3 /* Foundation.framework in Frameworks */,
@@ -166,6 +169,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ 8267256A20A9F0210089EA2D /* Security.framework in Frameworks */,
14E398381E01B30500A89291 /* CFNetwork.framework in Frameworks */,
14E398291E01B14B00A89291 /* UIKit.framework in Frameworks */,
14E3982B1E01B14B00A89291 /* Foundation.framework in Frameworks */,
@@ -212,10 +216,10 @@
14905C531DF98FD8002AE61B /* Classes */ = {
isa = PBXGroup;
children = (
+ 82A1B91720C0081200B3535B /* ControllerView.h */,
+ 82A1B91620C0081200B3535B /* ControllerView.m */,
14905C571DF98FD8002AE61B /* AppDelegate.h */,
14905C581DF98FD8002AE61B /* AppDelegate.m */,
- 14905C5A1DF98FD8002AE61B /* ViewController.h */,
- 14905C5B1DF98FD8002AE61B /* ViewController.m */,
14905C5D1DF98FD8002AE61B /* Main.storyboard */,
14905C621DF98FD8002AE61B /* LaunchScreen.storyboard */,
14905C601DF98FD8002AE61B /* Assets.xcassets */,
@@ -246,6 +250,7 @@
14B70D0C1E0160F700118DE3 /* Frameworks */ = {
isa = PBXGroup;
children = (
+ 8267256820A9EF6E0089EA2D /* Security.framework */,
14E398371E01B30500A89291 /* CFNetwork.framework */,
1440D8891E0189F300CF7ED3 /* Foundation.framework */,
14B70D0F1E0160FD00118DE3 /* UIKit.framework */,
@@ -472,7 +477,6 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 148ABA431DFEEAEE00594F70 /* ViewController.m in Sources */,
148ABA441DFEEAEE00594F70 /* AppDelegate.m in Sources */,
148ABA451DFEEAEE00594F70 /* main.m in Sources */,
);
@@ -482,7 +486,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 14905C5C1DF98FD8002AE61B /* ViewController.m in Sources */,
+ 82A1B91820C0081200B3535B /* ControllerView.m in Sources */,
14905C591DF98FD8002AE61B /* AppDelegate.m in Sources */,
14905C561DF98FD8002AE61B /* main.m in Sources */,
);
@@ -552,7 +556,10 @@
MACOSX_DEPLOYMENT_TARGET = 10.12;
MTL_ENABLE_DEBUG_INFO = YES;
OTHER_LDFLAGS = (
+ "-L../../Common/build/$(PLATFORM_NAME)/cpp11-xcodesdk",
+ "-lTetsCommon++11",
"-lIceDiscovery++11",
+ "-lIceSSL++11",
"-lIce++11",
"-lbz2",
"-liconv",
@@ -583,7 +590,10 @@
MACOSX_DEPLOYMENT_TARGET = 10.12;
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_LDFLAGS = (
+ "-L../../Common/build/$(PLATFORM_NAME)/cpp11-xcodesdk",
+ "-lTestCommon++11",
"-lIceDiscovery++11",
+ "-lIceSSL++11",
"-lIce++11",
"-lbz2",
"-liconv",
@@ -609,7 +619,10 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_CFLAGS = "-fobjc-arc-exceptions";
OTHER_LDFLAGS = (
+ "-L../../Common/build/$(PLATFORM_NAME)/cpp11-xcodesdk",
+ "-lTestCommon++11",
"-lIce++11",
+ "-lIceSSL++11",
"-lIceDiscovery++11",
"-lbz2",
"-liconv",
@@ -634,8 +647,11 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_CFLAGS = "-fobjc-arc-exceptions";
OTHER_LDFLAGS = (
+ "-L../../Common/build/$(PLATFORM_NAME)/cpp11-xcodesdk",
+ "-lTestCommon++11",
"-lIce++11",
"-lIceDiscovery++11",
+ "-lIceSSL++11",
"-lbz2",
"-liconv",
);
@@ -757,6 +773,9 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_CFLAGS = "-fobjc-arc-exceptions";
OTHER_LDFLAGS = (
+ "-L../../Common/build/$(PLATFORM_NAME)/xcodesdk",
+ "-lIceSSL",
+ "-lTestCommon",
"-lIce",
"-lIceDiscovery",
"-lbz2",
@@ -778,6 +797,9 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_CFLAGS = "-fobjc-arc-exceptions";
OTHER_LDFLAGS = (
+ "-L../../Common/build/$(PLATFORM_NAME)/xcodesdk",
+ "-lIceSSL",
+ "-lTestCommon",
"-lIce",
"-lIceDiscovery",
"-lbz2",
@@ -808,6 +830,9 @@
MACOSX_DEPLOYMENT_TARGET = 10.12;
MTL_ENABLE_DEBUG_INFO = YES;
OTHER_LDFLAGS = (
+ "-L../../Common/build/$(PLATFORM_NAME)/xcodesdk",
+ "-lTestCommon",
+ "-lIceSSL",
"-lIceDiscovery",
"-lIce",
"-lbz2",
@@ -836,6 +861,9 @@
MACOSX_DEPLOYMENT_TARGET = 10.12;
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_LDFLAGS = (
+ "-L../../Common/build/$(PLATFORM_NAME)/xcodesdk",
+ "-lTestCommon",
+ "-lIceSSL",
"-lIceDiscovery",
"-lIce",
"-lbz2",
diff --git a/cpp/test/ios/controller/Classes/ViewController.h b/cpp/test/ios/controller/Classes/ControllerView.h
index 47fbd1851a0..8a7b43f414f 100644
--- a/cpp/test/ios/controller/Classes/ViewController.h
+++ b/cpp/test/ios/controller/Classes/ControllerView.h
@@ -9,19 +9,19 @@
#import <UIKit/UIKit.h>
-@protocol ViewController
+@protocol ControllerView
-(void) print:(NSString*)msg;
-(void) println:(NSString*)msg;
@end
-@interface ViewController : UIViewController<ViewController, UIPickerViewDataSource, UIPickerViewDelegate>
+@interface ControllerView : UIViewController<ControllerView, UIPickerViewDataSource, UIPickerViewDelegate>
{
@private
IBOutlet UIPickerView* interfaceIPv4;
IBOutlet UIPickerView* interfaceIPv6;
IBOutlet UITextView* output;
- void (*startController)(id<ViewController>, NSString*, NSString*);
- void (*stopController)(id<ViewController>);
+ void (*startController)(id<ControllerView>, NSString*, NSString*);
+ void (*stopController)(id<ControllerView>);
NSMutableArray* interfacesIPv4;
NSMutableArray* interfacesIPv6;
}
diff --git a/cpp/test/ios/controller/Classes/ViewController.m b/cpp/test/ios/controller/Classes/ControllerView.m
index debb1023c71..474b9daf21f 100644
--- a/cpp/test/ios/controller/Classes/ViewController.m
+++ b/cpp/test/ios/controller/Classes/ControllerView.m
@@ -7,13 +7,13 @@
//
// **********************************************************************
-#import "ViewController.h"
+#import "ControllerView.h"
#include <ifaddrs.h>
#include <arpa/inet.h>
#include <net/if.h>
-@implementation ViewController
+@implementation ControllerView
- (void)viewDidLoad
{
@@ -123,7 +123,7 @@
[output scrollRangeToVisible:NSMakeRange([output.text length] - 1, 1)];
}
-#pragma mark ViewController
+#pragma mark ControllerView
-(void) print:(NSString*)msg
{
diff --git a/cpp/test/uwp/controller/App.xaml b/cpp/test/uwp/controller/App.xaml
index bd3f16bf5e8..16a9a8a7db4 100644
--- a/cpp/test/uwp/controller/App.xaml
+++ b/cpp/test/uwp/controller/App.xaml
@@ -1,5 +1,5 @@
<Application
- x:Class="Controller.App"
+ x:Class="Test.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Controller">
diff --git a/cpp/test/uwp/controller/App.xaml.cpp b/cpp/test/uwp/controller/App.xaml.cpp
index f70263943c3..add494a6a9f 100644
--- a/cpp/test/uwp/controller/App.xaml.cpp
+++ b/cpp/test/uwp/controller/App.xaml.cpp
@@ -8,10 +8,10 @@
// **********************************************************************
#include "pch.h"
-#include "ViewController.xaml.h"
+#include "ControllerView.xaml.h"
#include <ppltasks.h>
-using namespace Controller;
+using namespace Test;
using namespace Platform;
using namespace Windows::ApplicationModel;
@@ -63,7 +63,7 @@ void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEvent
// Create a Frame to act navigation context and navigate to the first page
auto rootFrame = ref new Frame();
- if(!rootFrame->Navigate(TypeName(ViewController::typeid)))
+ if(!rootFrame->Navigate(TypeName(ControllerView::typeid)))
{
throw ref new FailureException("Failed to create initial page");
}
diff --git a/cpp/test/uwp/controller/App.xaml.h b/cpp/test/uwp/controller/App.xaml.h
index a7bab88c939..8e310505717 100644
--- a/cpp/test/uwp/controller/App.xaml.h
+++ b/cpp/test/uwp/controller/App.xaml.h
@@ -11,7 +11,7 @@
#include "App.g.h"
-namespace Controller
+namespace Test
{
/// <summary>
/// Provides application-specific behavior to supplement the default Application class.
diff --git a/cpp/test/uwp/controller/ViewController.xaml b/cpp/test/uwp/controller/ControllerView.xaml
index 457c5025d45..2faee984c35 100644
--- a/cpp/test/uwp/controller/ViewController.xaml
+++ b/cpp/test/uwp/controller/ControllerView.xaml
@@ -1,5 +1,5 @@
<Page
- x:Class="Controller.ViewController"
+ x:Class="Test.ControllerView"
IsTabStop="false"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
diff --git a/cpp/test/uwp/controller/ViewController.xaml.cpp b/cpp/test/uwp/controller/ControllerView.xaml.cpp
index 99d594fb81e..9ad8b372e85 100644
--- a/cpp/test/uwp/controller/ViewController.xaml.cpp
+++ b/cpp/test/uwp/controller/ControllerView.xaml.cpp
@@ -7,7 +7,7 @@
//
// **********************************************************************
-#include "ViewController.xaml.h"
+#include "ControllerView.xaml.h"
#include <Ice/Ice.h>
#include <Controller.h>
@@ -19,7 +19,7 @@
#include <condition_variable>
using namespace std;
-using namespace Controller;
+using namespace Test;
using namespace Test::Common;
using namespace Platform;
@@ -41,36 +41,34 @@ using namespace Platform::Collections;
namespace
{
-typedef int(*MAIN_ENTRY_POINT)(int, char**, Test::MainHelper*);
-typedef int(*SHUTDOWN_ENTRY_POINT)();
+typedef Test::TestHelper* (*CREATE_HELPER_ENTRY_POINT)();
-class MainHelperI : public Test::MainHelper
+class ControllerHelperI : public Test::ControllerHelper,
+ public enable_shared_from_this<Test::ControllerHelper>
{
public:
- MainHelperI(ViewController^, const string&, const StringSeq&);
+ ControllerHelperI(const string&, const StringSeq&);
+ virtual bool redirect() const;
+
+ virtual std::string getOutput() const;
+ virtual std::string loggerPrefix() const;
+ virtual void join();
+ virtual void print(const std::string&);
virtual void serverReady();
virtual void shutdown();
- virtual void waitForCompleted()
- {
- }
- virtual bool redirect();
- virtual void print(const std::string&);
- virtual void run();
- void join();
+ virtual int waitSuccess(int) const;
+ virtual void waitReady(int) const;
+
+ void run();
void completed(int);
- void waitReady(int) const;
- int waitSuccess(int) const;
- string getOutput() const;
private:
- ViewController^ _controller;
string _dll;
StringSeq _args;
- FARPROC _dllTestShutdown;
bool _ready;
bool _completed;
int _status;
@@ -78,13 +76,22 @@ private:
thread _thread;
mutable mutex _mutex;
mutable condition_variable _condition;
+ //
+ // DLL cache
+ //
+ static std::map<std::string, HINSTANCE> _dlls;
+ HINSTANCE loadDll(const string&);
+
+ unique_ptr<Test::TestHelper> _helper;
};
+std::map<std::string, HINSTANCE> ControllerHelperI::_dlls;
+
class ProcessI : public Process
{
public:
- ProcessI(ViewController^, shared_ptr<MainHelperI>);
+ ProcessI(const Test::ControllerHelperPtr&);
void waitReady(int, const Ice::Current&);
int waitSuccess(int, const Ice::Current&);
@@ -92,33 +99,32 @@ public:
private:
- ViewController^ _controller;
- shared_ptr<MainHelperI> _helper;
+ Test::ControllerHelperPtr _controllerHelper;
};
class ProcessControllerI : public ProcessController
{
public:
- ProcessControllerI(ViewController^);
+ ProcessControllerI(ControllerView^);
shared_ptr<ProcessPrx> start(string, string, StringSeq, const Ice::Current&);
virtual string getHost(string, bool, const Ice::Current&);
private:
- ViewController^ _controller;
+ ControllerView^ _controller;
string _host;
};
-class ControllerHelper
+class ControllerI
{
public:
- ControllerHelper(ViewController^);
- virtual ~ControllerHelper();
+ ControllerI(ControllerView^);
+ virtual ~ControllerI();
void
- registerProcessController(ViewController^,
+ registerProcessController(ControllerView^,
const Ice::ObjectAdapterPtr&,
const shared_ptr<ProcessControllerRegistryPrx>&,
const shared_ptr<ProcessControllerPrx>&);
@@ -131,8 +137,7 @@ private:
}
-MainHelperI::MainHelperI(ViewController^ controller, const string& dll, const StringSeq& args) :
- _controller(controller),
+ControllerHelperI::ControllerHelperI(const string& dll, const StringSeq& args) :
_dll(dll),
_args(args),
_ready(false),
@@ -142,74 +147,50 @@ MainHelperI::MainHelperI(ViewController^ controller, const string& dll, const St
}
void
-MainHelperI::serverReady()
+ControllerHelperI::serverReady()
{
unique_lock<mutex> lock(_mutex);
_ready = true;
_condition.notify_all();
}
-void
-MainHelperI::shutdown()
-{
- unique_lock<mutex> lock(_mutex);
- if(_completed)
- {
- return;
- }
-
- if(_dllTestShutdown)
- {
- _dllTestShutdown();
- }
-}
-
bool
-MainHelperI::redirect()
+ControllerHelperI::redirect() const
{
return _dll.find("client") != string::npos || _dll.find("collocated") != string::npos;
}
void
-MainHelperI::print(const std::string& msg)
+ControllerHelperI::print(const std::string& msg)
{
_out << msg;
- //_controller->println(msg);
}
void
-MainHelperI::run()
+ControllerHelperI::run()
{
thread t([this]()
{
- HINSTANCE hnd = _controller->loadDll(_dll);
+ HINSTANCE hnd = loadDll(_dll);
if(hnd == 0)
{
ostringstream os;
os << "failed to load `" << _dll << "': error code: " << GetLastError();
print(os.str());
- completed(EXIT_FAILURE);
+ completed(1);
return;
}
- _dllTestShutdown = GetProcAddress(hnd, "dllTestShutdown");
- if(_dllTestShutdown == 0)
- {
- print("failed to find dllTestShutdown function from `" + _dll + "'");
- completed(EXIT_FAILURE);
- return;
- }
-
- FARPROC sym = GetProcAddress(hnd, "dllMain");
+ FARPROC sym = GetProcAddress(hnd, "createHelper");
if(sym == 0)
{
- print("failed to find dllMain function from `" + _dll + "'");
- completed(EXIT_FAILURE);
+ print("failed to find createHelper function from `" + _dll + "'");
+ completed(1);
return;
}
- MAIN_ENTRY_POINT dllMain = reinterpret_cast<MAIN_ENTRY_POINT>(sym);
+ CREATE_HELPER_ENTRY_POINT createHelper = reinterpret_cast<CREATE_HELPER_ENTRY_POINT>(sym);
char** argv = new char*[_args.size() + 1];
for(unsigned int i = 0; i < _args.size(); ++i)
{
@@ -218,17 +199,21 @@ MainHelperI::run()
argv[_args.size()] = 0;
try
{
- completed(dllMain(static_cast<int>(_args.size()), argv, this));
+ StreamHelper streamHelper(shared_from_this(), redirect());
+ _helper.reset(createHelper());
+ _helper->setControllerHelper(shared_from_this());
+ _helper->run(static_cast<int>(_args.size()), argv);
+ completed(0);
}
catch(const std::exception& ex)
{
print("unexpected exception while running `" + _args[0] + "':\n" + ex.what());
- completed(EXIT_FAILURE);
+ completed(1);
}
catch(...)
{
print("unexpected unknown exception while running `" + _args[0] + "'");
- completed(EXIT_FAILURE);
+ completed(1);
}
delete[] argv;
});
@@ -236,13 +221,13 @@ MainHelperI::run()
}
void
-MainHelperI::join()
+ControllerHelperI::join()
{
_thread.join();
}
void
-MainHelperI::completed(int status)
+ControllerHelperI::completed(int status)
{
unique_lock<mutex> lock(_mutex);
_completed = true;
@@ -251,12 +236,11 @@ MainHelperI::completed(int status)
}
void
-MainHelperI::waitReady(int timeout) const
+ControllerHelperI::waitReady(int timeout) const
{
unique_lock<mutex> lock(_mutex);
while(!_ready && !_completed)
{
-
if(_condition.wait_for(lock, chrono::seconds(timeout)) == cv_status::timeout)
{
throw ProcessFailedException("timed out waiting for the process to be ready");
@@ -269,7 +253,7 @@ MainHelperI::waitReady(int timeout) const
}
int
-MainHelperI::waitSuccess(int timeout) const
+ControllerHelperI::waitSuccess(int timeout) const
{
unique_lock<mutex> lock(_mutex);
while(!_completed)
@@ -283,38 +267,77 @@ MainHelperI::waitSuccess(int timeout) const
}
string
-MainHelperI::getOutput() const
+ControllerHelperI::getOutput() const
{
assert(_completed);
return _out.str();
}
-ProcessI::ProcessI(ViewController^ controller, shared_ptr<MainHelperI> helper) : _controller(controller), _helper(helper)
+string
+ControllerHelperI::loggerPrefix() const
+{
+ return _dll;
+}
+
+void
+ControllerHelperI::shutdown()
+{
+ unique_lock<mutex> lock(_mutex);
+ if(_completed)
+ {
+ return;
+ }
+
+ if(_helper)
+ {
+ Ice::CommunicatorPtr communicator = _helper->communicator();
+ if(communicator)
+ {
+ communicator->shutdown();
+ }
+ }
+}
+
+HINSTANCE
+ControllerHelperI::loadDll(const string& name)
+{
+ unique_lock<mutex> lock(_mutex);
+ map<string, HINSTANCE>::iterator p = _dlls.find(name);
+ if (p == _dlls.end())
+ {
+ HINSTANCE hnd = LoadPackagedLibrary(Ice::stringToWstring(name).c_str(), 0);
+ p = _dlls.insert(make_pair(name, hnd)).first;
+ }
+ return p->second;
+}
+
+ProcessI::ProcessI(const ControllerHelperPtr& controllerHelper) :
+ _controllerHelper(controllerHelper)
{
}
void
ProcessI::waitReady(int timeout, const Ice::Current&)
{
- _helper->waitReady(timeout);
+ _controllerHelper->waitReady(timeout);
}
int
ProcessI::waitSuccess(int timeout, const Ice::Current&)
{
- return _helper->waitSuccess(timeout);
+ return _controllerHelper->waitSuccess(timeout);
}
string
ProcessI::terminate(const Ice::Current& current)
{
- _helper->shutdown();
+ _controllerHelper->shutdown();
current.adapter->remove(current.id);
- _helper->join();
- return _helper->getOutput();
+ _controllerHelper->join();
+ return _controllerHelper->getOutput();
}
-ProcessControllerI::ProcessControllerI(ViewController^ controller) :
+ProcessControllerI::ProcessControllerI(ControllerView^ controller) :
_controller(controller),
_host(_controller->getHost())
{
@@ -328,9 +351,9 @@ ProcessControllerI::start(string testSuite, string exe, StringSeq args, const Ic
_controller->println(os.str());
replace(testSuite.begin(), testSuite.end(), '/', '_');
args.insert(args.begin(), testSuite + '_' + exe + ".dll");
- auto helper = make_shared<MainHelperI>(_controller, testSuite + '_' + exe + ".dll", args);
+ auto helper = make_shared<ControllerHelperI>(testSuite + '_' + exe + ".dll", args);
helper->run();
- return Ice::uncheckedCast<ProcessPrx>(c.adapter->addWithUUID(make_shared<ProcessI>(_controller, helper)));
+ return Ice::uncheckedCast<ProcessPrx>(c.adapter->addWithUUID(make_shared<ProcessI>(helper)));
}
string
@@ -339,7 +362,7 @@ ProcessControllerI::getHost(string, bool, const Ice::Current&)
return _host;
}
-ControllerHelper::ControllerHelper(ViewController^ controller)
+ControllerI::ControllerI(ControllerView^ controller)
{
Ice::InitializationData initData = Ice::InitializationData();
initData.properties = Ice::createProperties();
@@ -364,10 +387,10 @@ ControllerHelper::ControllerHelper(ViewController^ controller)
}
void
-ControllerHelper::registerProcessController(ViewController^ controller,
- const Ice::ObjectAdapterPtr& adapter,
- const shared_ptr<ProcessControllerRegistryPrx>& registry,
- const shared_ptr<ProcessControllerPrx>& processController)
+ControllerI::registerProcessController(ControllerView^ controller,
+ const Ice::ObjectAdapterPtr& adapter,
+ const shared_ptr<ProcessControllerRegistryPrx>& registry,
+ const shared_ptr<ProcessControllerPrx>& processController)
{
registry->ice_pingAsync(
[this, controller, adapter, registry, processController]()
@@ -428,14 +451,14 @@ ControllerHelper::registerProcessController(ViewController^ controller,
});
}
-ControllerHelper::~ControllerHelper()
+ControllerI::~ControllerI()
{
_communicator->destroy();
}
-static ControllerHelper* controllerHelper = 0;
+static ControllerI* controllerI = 0;
-ViewController::ViewController()
+ControllerView::ControllerView()
{
InitializeComponent();
auto hostnames = NetworkInformation::GetHostNames();
@@ -452,56 +475,43 @@ ViewController::ViewController()
}
string
-ViewController::getHost() const
+ControllerView::getHost() const
{
return Ice::wstringToString(ipv4Addresses->SelectedItem->ToString()->Data());
}
void
-ViewController::Hostname_SelectionChanged(Platform::Object^, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^)
+ControllerView::Hostname_SelectionChanged(Platform::Object^, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^)
{
- if(controllerHelper)
+ if(controllerI)
{
- delete controllerHelper;
- controllerHelper = 0;
+ delete controllerI;
+ controllerI = 0;
}
- controllerHelper = new ControllerHelper(this);
+ controllerI = new ControllerI(this);
}
void
-ViewController::println(const string& s)
+ControllerView::println(const string& s)
{
- if(s.empty())
+ if(!s.empty())
{
- return;
+ Dispatcher->RunAsync(
+ CoreDispatcherPriority::Normal,
+ ref new DispatchedHandler([=]()
+ {
+ Output->Items->Append(ref new String(Ice::stringToWstring(s).c_str()));
+ Output->SelectedIndex = Output->Items->Size - 1;
+ Output->ScrollIntoView(Output->SelectedItem);
+ }));
}
- this->Dispatcher->RunAsync(CoreDispatcherPriority::Normal, ref new DispatchedHandler(
- [=]()
- {
- Output->Items->Append(ref new String(Ice::stringToWstring(s).c_str()));
- Output->SelectedIndex = Output->Items->Size - 1;
- Output->ScrollIntoView(Output->SelectedItem);
- }));
-}
-
-HINSTANCE
-ViewController::loadDll(const string& name)
-{
- unique_lock<mutex> lock(_mutex);
- map<string, HINSTANCE>::iterator p = _dlls.find(name);
- if(p == _dlls.end())
- {
- HINSTANCE hnd = LoadPackagedLibrary(Ice::stringToWstring(name).c_str(), 0);
- p = _dlls.insert(make_pair(name, hnd)).first;
- }
- return p->second;
}
-ViewController::~ViewController()
+ControllerView::~ControllerView()
{
- if(controllerHelper)
+ if(controllerI)
{
- delete controllerHelper;
- controllerHelper = 0;
+ delete controllerI;
+ controllerI = 0;
}
}
diff --git a/cpp/test/uwp/controller/ViewController.xaml.h b/cpp/test/uwp/controller/ControllerView.xaml.h
index ea4919b6ff9..ec796159bee 100644
--- a/cpp/test/uwp/controller/ViewController.xaml.h
+++ b/cpp/test/uwp/controller/ControllerView.xaml.h
@@ -9,7 +9,7 @@
#pragma once
-#include <ViewController.g.h>
+#include <ControllerView.g.h>
#include <collection.h>
#include <map>
#include <string>
@@ -18,35 +18,28 @@
namespace
{
-class MainHelperI;
+class ControllerI;
class ProcessControllerI;
-class ControllerHelper;
}
-namespace Controller
+namespace Test
{
[Windows::Foundation::Metadata::WebHostHidden]
-public ref class ViewController sealed
+public ref class ControllerView sealed
{
public:
- ViewController();
- virtual ~ViewController();
+ ControllerView();
+ virtual ~ControllerView();
private:
- friend class MainHelperI;
+ friend class ControllerI;
friend class ProcessControllerI;
- friend class ControllerHelper;
- HINSTANCE loadDll(const std::string&);
- void unloadDll(const std::string&);
void println(const std::string&);
std::string getHost() const;
- void Hostname_SelectionChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^ e);
-
- std::map<std::string, HINSTANCE> _dlls;
- std::mutex _mutex;
+ void Hostname_SelectionChanged(Platform::Object^, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^);
};
}
diff --git a/cpp/test/uwp/controller/msbuild/controller.vcxproj b/cpp/test/uwp/controller/msbuild/controller.vcxproj
index 04c8c73ac32..d89526185c1 100644
--- a/cpp/test/uwp/controller/msbuild/controller.vcxproj
+++ b/cpp/test/uwp/controller/msbuild/controller.vcxproj
@@ -154,8 +154,8 @@
<ClInclude Include="..\App.xaml.h">
<DependentUpon>..\App.xaml</DependentUpon>
</ClInclude>
- <ClInclude Include="..\ViewController.xaml.h">
- <DependentUpon>..\ViewController.xaml</DependentUpon>
+ <ClInclude Include="..\ControllerView.xaml.h">
+ <DependentUpon>..\ControllerView.xaml</DependentUpon>
</ClInclude>
<ClInclude Include="ARM\Debug\Controller.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
@@ -210,7 +210,7 @@
<ApplicationDefinition Include="..\App.xaml">
<SubType>Designer</SubType>
</ApplicationDefinition>
- <Page Include="..\ViewController.xaml">
+ <Page Include="..\ControllerView.xaml">
<SubType>Designer</SubType>
</Page>
<Page Include="..\StandardStyles.xaml" />
@@ -234,8 +234,8 @@
<DependentUpon>..\App.xaml</DependentUpon>
</ClCompile>
<ClCompile Include="..\pch.cpp" />
- <ClCompile Include="..\ViewController.xaml.cpp">
- <DependentUpon>..\ViewController.xaml</DependentUpon>
+ <ClCompile Include="..\ControllerView.xaml.cpp">
+ <DependentUpon>..\ControllerView.xaml</DependentUpon>
</ClCompile>
<ClCompile Include="ARM\Debug\Controller.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
diff --git a/cpp/test/uwp/controller/msbuild/controller.vcxproj.filters b/cpp/test/uwp/controller/msbuild/controller.vcxproj.filters
index ae8f467ab37..834dc7b38d2 100644
--- a/cpp/test/uwp/controller/msbuild/controller.vcxproj.filters
+++ b/cpp/test/uwp/controller/msbuild/controller.vcxproj.filters
@@ -130,7 +130,7 @@
<ClCompile Include="x64\Release\Controller.cpp">
<Filter>Source Files\x64\Release</Filter>
</ClCompile>
- <ClCompile Include="..\ViewController.xaml.cpp" />
+ <ClCompile Include="..\ControllerView.xaml.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\App.xaml.h" />
@@ -152,7 +152,7 @@
<ClInclude Include="x64\Release\Controller.h">
<Filter>Header Files\x64\Release</Filter>
</ClInclude>
- <ClInclude Include="..\ViewController.xaml.h" />
+ <ClInclude Include="..\ControllerView.xaml.h" />
</ItemGroup>
<ItemGroup>
<Image Include="Assets\LockScreenLogo.scale-200.png">
@@ -184,7 +184,7 @@
<Page Include="..\StandardStyles.xaml">
<Filter>Styles</Filter>
</Page>
- <Page Include="..\ViewController.xaml" />
+ <Page Include="..\ControllerView.xaml" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\..\certs\cacert.der">