summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthrall <thrall@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-07-16 20:02:03 +0000
committerthrall <thrall@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-07-16 20:02:03 +0000
commitfc76fe67d4270a94d647ae3054bf55ed65a757cc (patch)
treec1b91b2ef8f6ac163ed20b688b219b35115b3c81
parent6b6e52eb390fda708468ff9eeafca2c61d3f2468 (diff)
downloadATCD-fc76fe67d4270a94d647ae3054bf55ed65a757cc.tar.gz
Configure EC according to parsed XML
-rw-r--r--TAO/orbsvcs/tests/EC_Config/Test.cpp78
1 files changed, 28 insertions, 50 deletions
diff --git a/TAO/orbsvcs/tests/EC_Config/Test.cpp b/TAO/orbsvcs/tests/EC_Config/Test.cpp
index 6a7d9ac0737..2941938a70b 100644
--- a/TAO/orbsvcs/tests/EC_Config/Test.cpp
+++ b/TAO/orbsvcs/tests/EC_Config/Test.cpp
@@ -14,8 +14,6 @@
using namespace TestConfig;
-typedef ACE_Strong_Bound_Ptr<Test_Config_Set,ACE_Null_Mutex> TCFG_SET_SPTR;
-
//NOTE: Read from a formatted file rather than hardcode the configuration. Check ACE_XML.
int
@@ -49,12 +47,38 @@ main (int argc, char *argv[])
parser.parse(&is);
ACEXML_TRY_CHECK;
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Finished parsing\n")));
+
// TODO configure according to parsed XML
- //ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Finished parsing\n")));
+ ConfigFactory::Default_Config_Factory fact;
+ fact.init(argc,argv);
+
+ Test_Config *backend = fact.create_testconfig();
+ if (0 == backend) {
+ ACE_DEBUG((LM_DEBUG, "Error: could not create back end!\n"));
+ return 1;
+ }
+
+ // PROBLEM: occasional segfault on run and configure
+ TCFG_SET_WPTR cfg_ptr(handler.get_configs());
+
+ int retval = 0;
+ if ((retval = backend->configure(cfg_ptr)) != 0) {
+ ACE_DEBUG((LM_DEBUG, "Error configuring back end! (%d)\n",retval));
+ return retval;
+ }
+
+ if ((retval = backend->run()) != 0) {
+ ACE_DEBUG((LM_DEBUG, "Error running back end! (%d)\n",retval));
+ return retval;
+ }
+
+ fact.destroy_testconfig(backend);
+ fact.fini();
+
}
ACEXML_CATCH (ACEXML_SAXException, ex)
{
- //ACE_UNUSED_ARG (ex);
ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Exception occurred: %s. Exiting...\n"),
ex.message()));
return 1;
@@ -63,51 +87,5 @@ main (int argc, char *argv[])
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Finished successfully\n")));
-#if 0
- ConfigFactory::Default_Config_Factory fact;
- fact.init(argc,argv);
-
- Test_Config *backend = fact.create_testconfig();
- if (0 == backend) {
- ACE_DEBUG((LM_DEBUG, "Error: could not create back end!\n"));
- return 1;
- }
-
- TCFG_SET_SPTR cfg_ptr(new Test_Config_Set(2));
-
- (*cfg_ptr)[0] = new test_config_t();
- (*cfg_ptr)[0]->type = 0;
- (*cfg_ptr)[0]->period = 1000;
- (*cfg_ptr)[0]->criticality = HIGH_CRITICALITY;
- (*cfg_ptr)[0]->importance = VERY_LOW_IMPORTANCE;
- (*cfg_ptr)[0]->num_entities = 10;
-
- (*cfg_ptr)[1] = new test_config_t();
- (*cfg_ptr)[1]->type = 1;
- (*cfg_ptr)[1]->period = 2000;
- (*cfg_ptr)[1]->criticality = LOW_CRITICALITY;
- (*cfg_ptr)[1]->importance = VERY_LOW_IMPORTANCE;
- (*cfg_ptr)[1]->num_entities = 10;
-
- // PROBLEM: occasional segfault on run and configure
- int retval = 0;
- if ((retval = backend->configure(TCFG_SET_WPTR(cfg_ptr))) != 0) {
- ACE_DEBUG((LM_DEBUG, "Error configuring back end! (%d)\n",retval));
- return retval;
- }
-
- if ((retval = backend->run()) != 0) {
- ACE_DEBUG((LM_DEBUG, "Error running back end! (%d)\n",retval));
- return retval;
- }
-
- for(size_t i=0; i<cfg_ptr->size(); ++i) {
- delete (*cfg_ptr)[i];
- }
-
- fact.destroy_testconfig(backend);
- fact.fini();
-#endif /* 0 */
-
return retval;
}