summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/dispatcher/Server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Ice/dispatcher/Server.cpp')
-rw-r--r--cpp/test/Ice/dispatcher/Server.cpp80
1 files changed, 34 insertions, 46 deletions
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)