summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarijke Hengstmengel <MHengstmengel@users.noreply.github.com>2011-12-12 11:02:33 +0000
committerMarijke Hengstmengel <MHengstmengel@users.noreply.github.com>2011-12-12 11:02:33 +0000
commit32877e0c8bfda2c281d86896c583ccba11ab24eb (patch)
treeceac0161d8f9c8c8cd9aeb397d9195bc80dfda21
parent335a24e4910ec6cb71898f863d110dbab39a2b36 (diff)
downloadATCD-32877e0c8bfda2c281d86896c583ccba11ab24eb.tar.gz
Mon Dec 12 10:59:27 UTC 2011 Marijke Hengstmengel <hengstmengel_m@remedy.nl>
* connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_Home.mpc: * connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_HomeC.idl: * connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_HomeC_exec.cpp: * connectors/dds4ccm/tests/HomeTest/HomeComp/controller.cpp: * connectors/dds4ccm/tests/HomeTest/descriptors/DeploymentPlanConnOnly.cdp: * connectors/dds4ccm/tests/HomeTest/descriptors/run_test.pl: Add controller, acting on Home component * connectors/dds4ccm/tests/HomeTest/HomeComp/client.cpp: Removed this file.
-rw-r--r--CIAO/ChangeLog.BRANCH13
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_Home.mpc6
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_HomeC.idl6
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_HomeC_exec.cpp14
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/controller.cpp105
-rw-r--r--CIAO/connectors/dds4ccm/tests/HomeTest/descriptors/DeploymentPlanConnOnly.cdp30
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/HomeTest/descriptors/run_test.pl35
7 files changed, 192 insertions, 17 deletions
diff --git a/CIAO/ChangeLog.BRANCH b/CIAO/ChangeLog.BRANCH
index feca76f4b68..b4a93bb62cb 100644
--- a/CIAO/ChangeLog.BRANCH
+++ b/CIAO/ChangeLog.BRANCH
@@ -1,3 +1,16 @@
+Mon Dec 12 10:59:27 UTC 2011 Marijke Hengstmengel <hengstmengel_m@remedy.nl>
+
+ * connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_Home.mpc:
+ * connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_HomeC.idl:
+ * connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_HomeC_exec.cpp:
+ * connectors/dds4ccm/tests/HomeTest/HomeComp/controller.cpp:
+ * connectors/dds4ccm/tests/HomeTest/descriptors/DeploymentPlanConnOnly.cdp:
+ * connectors/dds4ccm/tests/HomeTest/descriptors/run_test.pl:
+ Add controller, acting on Home component
+
+ * connectors/dds4ccm/tests/HomeTest/HomeComp/client.cpp:
+ Removed this file.
+
Thu Dec 8 16:08:07 UTC 2011 Marijke Hengstmengel <mhengstmengel@remedy.nl>
* connectors/dds4ccm/tests/HomeTest:
diff --git a/CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_Home.mpc b/CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_Home.mpc
index 08e5c0ec906..0cb4a376e8e 100644
--- a/CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_Home.mpc
+++ b/CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_Home.mpc
@@ -137,9 +137,9 @@ project(HomeT_HomeC_svnt) : ciao_servant, avoids_ccm_noevent, dds4ccm_base {
}
}
-project (HomeT_HomeC_client) : ccm_stub , dds4ccm_base{
+project (HomeT_HomeC_control) : ccm_stub , dds4ccm_base{
after += HomeT_HomeC_stub
- exename = client
+ exename = controller
libs += HomeT_HomeC_stub HomeT_Base_stub
includes += ..
libout = ../lib
@@ -152,7 +152,7 @@ project (HomeT_HomeC_client) : ccm_stub , dds4ccm_base{
}
Source_Files {
- client.cpp
+ controller.cpp
}
Inline_Files {
diff --git a/CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_HomeC.idl b/CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_HomeC.idl
index e83be01b1ba..9d3f2aab1fd 100644
--- a/CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_HomeC.idl
+++ b/CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_HomeC.idl
@@ -24,6 +24,12 @@ home ConnHome manages ConnComp
factory new_ConnComp ();
};
+// Interface for IDL2.x client
+interface IDL2Client {
+// short get_number ();
+};
+
+
#endif /* HOMET_HOMEC_IDL_ */
diff --git a/CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_HomeC_exec.cpp b/CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_HomeC_exec.cpp
index 63c7b19b7b4..1f675b0d191 100644
--- a/CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_HomeC_exec.cpp
+++ b/CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/HomeT_HomeC_exec.cpp
@@ -27,7 +27,7 @@
#include "HomeT_HomeC_exec.h"
#include "./Connector/HomeT_Connector_conn.h"
-/*
+
namespace CIAO_ConnComp_Impl
{
@@ -104,6 +104,7 @@ namespace CIAO_ConnComp_Impl
ConnHome_exec_i::ConnHome_exec_i (void)
{
+ new_ConnComp();
}
ConnHome_exec_i::~ConnHome_exec_i (void)
@@ -113,9 +114,10 @@ namespace CIAO_ConnComp_Impl
::Components::EnterpriseComponent_ptr
ConnHome_exec_i::new_ConnComp (void)
{
+ printf("ConnHome_exec_i::new_ConnComp !!!!!!!!!!!1");
/* Your code here. */
//return ::CCM_ConnComp::_nil ();
- return CIAO_HomeCompTest_DDS_Event_Impl::create_HomeCompTest_DDS_Event_Impl();
+ // return CIAO_HomeCompTest_DDS_Event_Impl::create_HomeCompTest_DDS_Event_Impl();
}
// Implicit operations.
@@ -126,10 +128,10 @@ namespace CIAO_ConnComp_Impl
::Components::EnterpriseComponent_ptr retval =
::Components::EnterpriseComponent::_nil ();
- // ACE_NEW_THROW_EX (
- // retval,
- // ConnComp_exec_i,
- // ::CORBA::NO_MEMORY ());
+ ACE_NEW_THROW_EX (
+ retval,
+ ConnComp_exec_i,
+ ::CORBA::NO_MEMORY ());
return retval;
}
diff --git a/CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/controller.cpp b/CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/controller.cpp
new file mode 100644
index 00000000000..a20e49201e4
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/tests/HomeTest/HomeComp/controller.cpp
@@ -0,0 +1,105 @@
+// $Id$
+
+//==============================================================
+/**
+ * @file controller.cpp
+ *
+ * This is a controller tat interact with the Home-component implementation.
+ * This test uses the explicit factory
+ * operation in the home interface to create a connector component
+ * instance, run it for a while, and destroy the component instance.
+ */
+//==============================================================
+
+#include "HomeT_HomeCC.h"
+#include "ace/streams.h"
+#include "ace/OS_NS_unistd.h"
+#include "ace/Get_Opt.h"
+
+const ACE_TCHAR *home_comp_ior_ = 0;
+
+int
+parse_args (int argc, ACE_TCHAR *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("k:of"));
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'o':
+ break;
+ case 'f':
+ break;
+ case 'k':
+ home_comp_ior_ = get_opts.opt_arg ();
+ break;
+ case '?': // display help for use of the server.
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s\n"
+ "-k <HomeComponent IOR> (default is file://HomeC.ior)\n"
+ "\n",
+ argv [0]),
+ -1);
+ break;
+ }
+ }
+
+ if (home_comp_ior_ == 0)
+ {
+ home_comp_ior_ = ACE_TEXT("file://HomeC.ior");
+ }
+
+ return 0;
+}
+
+
+int
+ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ try
+ {
+ // Initialize orb
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv);
+
+ if (parse_args (argc, argv) != 0)
+ {
+ return -1;
+ }
+
+ // Resolve Home interface
+ CORBA::Object_var obj
+ = orb->string_to_object (home_comp_ior_);
+
+ ConnHome_var home
+ = ConnHome::_narrow (obj.in ());
+ if (CORBA::is_nil (home.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR, "Unable to acquire ConnHome objref\n"), -1);
+
+ // starting Connector component
+ printf("starting Connector component home->new_ConnComp ()\n");
+
+ home->new_ConnComp ();
+
+ printf("started Connector component home->new_ConnComp ()\n");
+
+ // Place to plug in the rate
+
+ ACE_OS::sleep (5);
+
+ // home->remove_component ();
+
+ orb->destroy ();
+ }
+ catch (const CORBA::Exception& ex)
+ {
+ ex._tao_print_exception ("Who is the culprit\n");
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Uncaught CORBA exception\n"),
+ 1);
+ }
+
+ return 0;
+}
diff --git a/CIAO/connectors/dds4ccm/tests/HomeTest/descriptors/DeploymentPlanConnOnly.cdp b/CIAO/connectors/dds4ccm/tests/HomeTest/descriptors/DeploymentPlanConnOnly.cdp
index 8d945da3aae..373515ee89b 100644
--- a/CIAO/connectors/dds4ccm/tests/HomeTest/descriptors/DeploymentPlanConnOnly.cdp
+++ b/CIAO/connectors/dds4ccm/tests/HomeTest/descriptors/DeploymentPlanConnOnly.cdp
@@ -6,7 +6,7 @@
xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd">
<label>Hello_Depl_1</label>
<UUID>Hello_Depl_1</UUID>
-
+
<implementation xmi:id="HomeTest_HomeImplementation">
<name>HomeTest_HomeImplementation</name>
<source/>
@@ -58,13 +58,36 @@
</value>
</execParameter>
</implementation>
+
<instance xmi:id="HomeTest_HomeInstance">
<name>HomeTest_HomeInstance</name>
<node>ReceiverNode</node>
<source/>
<implementation xmi:idref="HomeTest_HomeImplementation" />
- </instance>
-
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.InstanceIOR</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>HomeC.ior</string>
+ </value>
+ </value>
+ </configProperty>
+ <configProperty>
+ <name>edu.vanderbilt.dre.DAnCE.RegisterNaming</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>HomeC</string>
+ </value>
+ </value>
+ </configProperty>
+ </instance>
+
<artifact xmi:id="HomeTest_Home_ExecArtifact">
<name>HomeT_HomeC_exec</name>
<source/>
@@ -84,5 +107,4 @@
<location>HomeT_HomeC_stub</location>
</artifact>
-
</Deployment:DeploymentPlan>
diff --git a/CIAO/connectors/dds4ccm/tests/HomeTest/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/HomeTest/descriptors/run_test.pl
index 75e6f8e93dc..b1f0244c65b 100755
--- a/CIAO/connectors/dds4ccm/tests/HomeTest/descriptors/run_test.pl
+++ b/CIAO/connectors/dds4ccm/tests/HomeTest/descriptors/run_test.pl
@@ -25,9 +25,12 @@ $ns_running = 0;
$nr_daemon = 2;
@ports = ( 60001, 60002 );
-@iorbases = ( "Sender.ior", "Receiver.ior" );
+@iorbases = ( "HomeC.ior", "Sender.ior" );
@iorfiles = 0;
-@nodenames = ( "SenderNode", "ReceiverNode" );
+@nodenames = ("ReceiverNode" , "SenderNode");
+
+$controller_exec = "$CIAO_ROOT/connectors/dds4ccm/tests/HomeTest/HomeComp/controller";
+
# ior files other than daemon
# ior files other than daemon
@@ -225,8 +228,32 @@ for ($i = 0; $i < $nr_daemon; ++$i) {
}
}
-print "Sleeping 60 seconds to allow task to complete\n";
-sleep (60);
+print "Sleeping 5 seconds to allow task to complete\n";
+sleep (5);
+print "Invoking the controller\n";
+$controller = $tg_executor->CreateProcess ("$controller_exec", "-k file://HomeC.ior -o");
+$result = $controller->SpawnWaitKill ($tg_executor->ProcessStopWaitInterval ());
+if ($result != 0) {
+ print STDERR "ERROR: The controller returned $result\n";
+ $status = 1;
+}
+
+# put some delay here.
+sleep (30);
+
+# invoking the controller again to stop the rategen
+print "Invoking the controller to stop RateGen\n";
+$controller = $tg_executor->CreateProcess ("$controller_exec", "-k file://HomeC.ior -f");
+$result = $controller->SpawnWaitKill ($tg_executor->ProcessStopWaitInterval ());
+if ($result != 0) {
+ print STDERR "ERROR: The controller returned $result\n";
+ $status = 1;
+}
+print "Sleeping 5 seconds to allow task to complete\n";
+sleep (5);
+
+
+
# Invoke executor - stop the application -.
print "Invoking executor - stop the application -\n";