diff options
Diffstat (limited to 'cpp/test/Ice/adapterDeactivation/Collocated.cpp')
-rw-r--r-- | cpp/test/Ice/adapterDeactivation/Collocated.cpp | 57 |
1 files changed, 39 insertions, 18 deletions
diff --git a/cpp/test/Ice/adapterDeactivation/Collocated.cpp b/cpp/test/Ice/adapterDeactivation/Collocated.cpp index db661130750..5f8f66605ba 100644 --- a/cpp/test/Ice/adapterDeactivation/Collocated.cpp +++ b/cpp/test/Ice/adapterDeactivation/Collocated.cpp @@ -12,35 +12,56 @@ #include <TestCommon.h> #include <Test.h> +DEFINE_TEST("collocated") + using namespace std; using namespace Ice; using namespace Test; -class TestServer : public Application -{ -public: - - virtual int run(int, char*[]); -}; - -int -main(int argc, char* argv[]) -{ - TestServer app; - return app.main(argc, argv); -} - int -TestServer::run(int argc, char* argv[]) +run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator) { - communicator()->getProperties()->setProperty("TestAdapter.Endpoints", "default -p 12010"); - Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter"); + communicator->getProperties()->setProperty("TestAdapter.Endpoints", "default -p 12010"); + Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter"); ServantLocatorPtr locator = new ServantLocatorI; adapter->addServantLocator(locator, ""); TestIntfPrx allTests(const CommunicatorPtr&); - allTests(communicator()); + allTests(communicator); adapter->waitForDeactivate(); return EXIT_SUCCESS; } + +int +main(int argc, char* argv[]) +{ + int status; + Ice::CommunicatorPtr communicator; + + try + { + communicator = Ice::initialize(argc, argv); + 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; +} |