summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/plugin/Client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Ice/plugin/Client.cpp')
-rw-r--r--cpp/test/Ice/plugin/Client.cpp133
1 files changed, 65 insertions, 68 deletions
diff --git a/cpp/test/Ice/plugin/Client.cpp b/cpp/test/Ice/plugin/Client.cpp
index b4600d2cc55..a78a3ea50a4 100644
--- a/cpp/test/Ice/plugin/Client.cpp
+++ b/cpp/test/Ice/plugin/Client.cpp
@@ -8,12 +8,10 @@
// **********************************************************************
#include <Ice/Ice.h>
-#include <TestCommon.h>
+#include <TestHelper.h>
using namespace std;
-DEFINE_TEST("client")
-
namespace
{
@@ -23,8 +21,8 @@ class MyPlugin : public Ice::Plugin
public:
MyPlugin() :
- _initialized(false),
- _destroyed(false)
+ _initialized(false),
+ _destroyed(false)
{
}
@@ -59,7 +57,6 @@ public:
private:
- const Ice::CommunicatorPtr _communicator;
bool _initialized;
bool _destroyed;
};
@@ -78,16 +75,22 @@ createMyPlugin(const ::Ice::CommunicatorPtr&, const std::string&, const ::Ice::S
}
-int
-main(int argc, char* argv[])
+class Client : public Test::TestHelper
{
- int status = EXIT_SUCCESS;
- Ice::CommunicatorPtr communicator;
+public:
+ void run(int, char**);
+};
+
+void
+Client::run(int argc, char** argv)
+{
if(argc < 2)
{
- cerr << "usage: " << argv[0] << " <plugindir>";
- return 1;
+ ostringstream os;
+ os << "usage: " << argv[0] << " <plugindir>";
+ cerr << os.str() << endl;
+ throw invalid_argument(os.str());
}
//
@@ -106,8 +109,7 @@ main(int argc, char* argv[])
cout << "testing static plugin factory... " << flush;
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- communicator = Ice::initialize(argc, argv, initData);
+ Ice::CommunicatorHolder communicator = initialize(argc, argv);
MyPluginPtr plugin = ICE_DYNAMIC_CAST(MyPlugin, communicator->getPluginManager()->getPlugin("Static1"));
test(plugin && plugin->isInitialized());
try
@@ -117,23 +119,22 @@ main(int argc, char* argv[])
catch(const Ice::NotRegisteredException&)
{
}
- communicator->destroy();
}
catch(const Ice::Exception& ex)
{
cerr << ex << endl;
test(false);
}
+
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.Static2", "1");
- communicator = Ice::initialize(argc, argv, initData);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.Static2", "1");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
MyPluginPtr plugin = ICE_DYNAMIC_CAST(MyPlugin, communicator->getPluginManager()->getPlugin("Static1"));
test(plugin && plugin->isInitialized());
plugin = ICE_DYNAMIC_CAST(MyPlugin, communicator->getPluginManager()->getPlugin("Static2"));
test(plugin && plugin->isInitialized());
- communicator->destroy();
}
catch(const Ice::Exception& ex)
{
@@ -145,16 +146,16 @@ main(int argc, char* argv[])
cout << "testing a simple plug-in... " << flush;
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.Test", pluginDir + "TestPlugin:createPlugin");
- communicator = Ice::initialize(argc, argv, initData);
- communicator->destroy();
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.Test", pluginDir + "TestPlugin:createPlugin");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
}
catch(const Ice::Exception& ex)
{
cerr << ex << endl;
test(false);
}
+
try
{
int majorVersion = (ICE_INT_VERSION / 10000);
@@ -172,44 +173,45 @@ main(int argc, char* argv[])
os << 'a' << (patchVersion - 50);
}
os << ":createPlugin";
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.Test", os.str());
- communicator = Ice::initialize(argc, argv, initData);
- communicator->destroy();
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.Test", os.str());
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
}
catch(const Ice::Exception& ex)
{
cerr << ex << endl;
test(false);
}
+
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.Test", pluginDir + "TestPlugin,10:createPlugin");
- communicator = Ice::initialize(argc, argv, initData);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.Test", pluginDir + "TestPlugin,10:createPlugin");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
test(false);
}
catch(const Ice::PluginInitializationException&)
{
}
+
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.Test", "TestPlugin,1.0.0:createPlugin");
- communicator = Ice::initialize(argc, argv, initData);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.Test", "TestPlugin,1.0.0:createPlugin");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
test(false);
}
catch(const Ice::PluginInitializationException&)
{
}
+
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.Test",
- pluginDir + "TestPlugin:createPluginWithArgs 'C:\\Program Files\\' --DatabasePath "
- "'C:\\Program Files\\Application\\db'" );
- communicator = Ice::initialize(argc, argv, initData);
- communicator->destroy();
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.Test",
+ pluginDir + "TestPlugin:createPluginWithArgs 'C:\\Program Files\\' --DatabasePath "
+ "'C:\\Program Files\\Application\\db'" );
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
}
catch(const Ice::Exception& ex)
{
@@ -219,31 +221,28 @@ main(int argc, char* argv[])
cout << "ok" << endl;
cout << "testing a simple plug-in that fails to initialize... " << flush;
- communicator = 0;
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.Test", pluginDir + "TestPlugin:createPluginInitializeFail");
- communicator = Ice::initialize(argc, argv, initData);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.Test", pluginDir + "TestPlugin:createPluginInitializeFail");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
test(false);
}
catch(const Ice::PluginInitializationException& ex)
{
test(ex.reason.find("PluginInitializeFailExeption") > 0);
}
- test(!communicator);
cout << "ok" << endl;
cout << "testing plug-in load order... " << flush;
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.PluginOne", pluginDir + "TestPlugin:createPluginOne");
- initData.properties->setProperty("Ice.Plugin.PluginTwo", pluginDir + "TestPlugin:createPluginTwo");
- initData.properties->setProperty("Ice.Plugin.PluginThree", pluginDir + "TestPlugin:createPluginThree");
- initData.properties->setProperty("Ice.PluginLoadOrder", "PluginOne, PluginTwo"); // Exclude PluginThree
- communicator = Ice::initialize(argc, argv, initData);
- communicator->destroy();
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.PluginOne", pluginDir + "TestPlugin:createPluginOne");
+ properties->setProperty("Ice.Plugin.PluginTwo", pluginDir + "TestPlugin:createPluginTwo");
+ properties->setProperty("Ice.Plugin.PluginThree", pluginDir + "TestPlugin:createPluginThree");
+ properties->setProperty("Ice.PluginLoadOrder", "PluginOne, PluginTwo"); // Exclude PluginThree
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
}
catch(const Ice::Exception& ex)
{
@@ -255,13 +254,13 @@ main(int argc, char* argv[])
cout << "testing plug-in manager... " << flush;
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.PluginOne", pluginDir + "TestPlugin:createPluginOne");
- initData.properties->setProperty("Ice.Plugin.PluginTwo", pluginDir + "TestPlugin:createPluginTwo");
- initData.properties->setProperty("Ice.Plugin.PluginThree", pluginDir + "TestPlugin:createPluginThree");
- initData.properties->setProperty("Ice.PluginLoadOrder", "PluginOne, PluginTwo");
- initData.properties->setProperty("Ice.InitPlugins", "0");
- communicator = Ice::initialize(argc, argv, initData);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.PluginOne", pluginDir + "TestPlugin:createPluginOne");
+ properties->setProperty("Ice.Plugin.PluginTwo", pluginDir + "TestPlugin:createPluginTwo");
+ properties->setProperty("Ice.Plugin.PluginThree", pluginDir + "TestPlugin:createPluginThree");
+ properties->setProperty("Ice.PluginLoadOrder", "PluginOne, PluginTwo");
+ properties->setProperty("Ice.InitPlugins", "0");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
Ice::PluginManagerPtr pm = communicator->getPluginManager();
test(pm->getPlugin("PluginOne"));
@@ -288,23 +287,21 @@ main(int argc, char* argv[])
cout << "ok" << endl;
cout << "testing destroy when a plug-in fails to initialize... " << flush;
- communicator = 0;
try
{
- Ice::InitializationData initData = getTestInitData(argc, argv);
- initData.properties->setProperty("Ice.Plugin.PluginOneFail", pluginDir + "TestPlugin:createPluginOneFail");
- initData.properties->setProperty("Ice.Plugin.PluginTwoFail", pluginDir + "TestPlugin:createPluginTwoFail");
- initData.properties->setProperty("Ice.Plugin.PluginThreeFail", pluginDir + "TestPlugin:createPluginThreeFail");
- initData.properties->setProperty("Ice.PluginLoadOrder", "PluginOneFail, PluginTwoFail, PluginThreeFail");
- communicator = Ice::initialize(argc, argv, initData);
+ Ice::PropertiesPtr properties = createTestProperties(argc, argv);
+ properties->setProperty("Ice.Plugin.PluginOneFail", pluginDir + "TestPlugin:createPluginOneFail");
+ properties->setProperty("Ice.Plugin.PluginTwoFail", pluginDir + "TestPlugin:createPluginTwoFail");
+ properties->setProperty("Ice.Plugin.PluginThreeFail", pluginDir + "TestPlugin:createPluginThreeFail");
+ properties->setProperty("Ice.PluginLoadOrder", "PluginOneFail, PluginTwoFail, PluginThreeFail");
+ Ice::CommunicatorHolder communicator = initialize(argc, argv, properties);
test(false);
}
catch(const Ice::PluginInitializationException& ex)
{
test(ex.reason.find("PluginInitializeFailExeption") > 0);
}
- test(!communicator);
cout << "ok" << endl;
-
- return status;
}
+
+DEFINE_TEST(Client)