diff options
Diffstat (limited to 'cpp/test/Ice/dispatcher/Server.cpp')
-rw-r--r-- | cpp/test/Ice/dispatcher/Server.cpp | 80 |
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) |