summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/servantLocator/ServerAMD.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Ice/servantLocator/ServerAMD.cpp')
-rw-r--r--cpp/test/Ice/servantLocator/ServerAMD.cpp64
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;
+}