diff options
Diffstat (limited to 'cpp/test/Ice/servantLocator/ServerAMD.cpp')
-rw-r--r-- | cpp/test/Ice/servantLocator/ServerAMD.cpp | 64 |
1 files changed, 44 insertions, 20 deletions
diff --git a/cpp/test/Ice/servantLocator/ServerAMD.cpp b/cpp/test/Ice/servantLocator/ServerAMD.cpp index a5fb931c8f4..85c3ea69f38 100644 --- a/cpp/test/Ice/servantLocator/ServerAMD.cpp +++ b/cpp/test/Ice/servantLocator/ServerAMD.cpp @@ -12,6 +12,8 @@ #include <TestCommon.h> #include <TestAMDI.h> +DEFINE_TEST("serveramd") + using namespace std; using namespace Ice; @@ -68,33 +70,55 @@ public: } }; -class TestServer : public Application -{ -public: - - virtual int run(int, char*[]); -}; - int -main(int argc, char* argv[]) +run(int, char**, const Ice::CommunicatorPtr& communicator) { - TestServer app; - return app.main(argc, argv); -} + communicator->getProperties()->setProperty("TestAdapter.Endpoints", "default -p 12010:udp"); + communicator->getProperties()->setProperty("Ice.Warn.Dispatch", "0"); -int -TestServer::run(int, char**) -{ - communicator()->getProperties()->setProperty("TestAdapter.Endpoints", "default -p 12010:udp"); - communicator()->getProperties()->setProperty("Ice.Warn.Dispatch", "0"); - - Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter"); + Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter"); adapter->addServantLocator(new ServantLocatorAMDI(""), ""); adapter->addServantLocator(new ServantLocatorAMDI("category"), "category"); - adapter->add(new TestAMDI, communicator()->stringToIdentity("asm")); - adapter->add(new TestActivationI, communicator()->stringToIdentity("test/activation")); + adapter->add(new TestAMDI, communicator->stringToIdentity("asm")); + adapter->add(new TestActivationI, communicator->stringToIdentity("test/activation")); adapter->activate(); + TEST_READY adapter->waitForDeactivate(); return EXIT_SUCCESS; } + +int +main(int argc, char* argv[]) +{ + int status; + Ice::CommunicatorPtr communicator; + + try + { + Ice::InitializationData initData; + initData.properties = Ice::createProperties(argc, argv); + communicator = Ice::initialize(argc, argv, initData); + status = run(argc, argv, communicator); + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + + if(communicator) + { + try + { + communicator->destroy(); + } + catch(const Ice::Exception& ex) + { + cerr << ex << endl; + status = EXIT_FAILURE; + } + } + + return status; +} |