summaryrefslogtreecommitdiff
path: root/CIAO/DAnCE/tests
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/DAnCE/tests')
-rwxr-xr-xCIAO/DAnCE/tests/CIAO/CommandlinePassage/run_test.pl2
-rw-r--r--CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.cpp10
-rw-r--r--CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.h1
-rw-r--r--CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.cpp10
-rw-r--r--CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.h6
-rw-r--r--CIAO/DAnCE/tests/CIAO/Components/SimplePublisher_exec.cpp1
-rwxr-xr-xCIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test.pl4
-rwxr-xr-xCIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test_cdr.pl238
-rw-r--r--CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/nm_launcher.mpc6
-rwxr-xr-xCIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test.pl43
-rwxr-xr-xCIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test_cdr.pl230
-rw-r--r--CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/simple_nm_launcher.cpp125
12 files changed, 163 insertions, 513 deletions
diff --git a/CIAO/DAnCE/tests/CIAO/CommandlinePassage/run_test.pl b/CIAO/DAnCE/tests/CIAO/CommandlinePassage/run_test.pl
index 42e6eb574b4..f9c967a3f99 100755
--- a/CIAO/DAnCE/tests/CIAO/CommandlinePassage/run_test.pl
+++ b/CIAO/DAnCE/tests/CIAO/CommandlinePassage/run_test.pl
@@ -227,7 +227,7 @@ print "Invoking executor - stop the application -\n";
print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file -q\n";
$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
- "-k file://$ior_emfile -x $cdp_file -s");
+ "-k file://$ior_emfile -x $cdp_file -q");
$pl_status = $E->SpawnWaitKill ($tg_executor->ProcessStartWaitInterval ());
if ($pl_status != 0) {
diff --git a/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.cpp b/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.cpp
index da1836889c9..7d090ea568c 100644
--- a/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.cpp
+++ b/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.cpp
@@ -9,8 +9,7 @@ namespace CIAO_Simple_SimpleConsumer_Impl
// Component Executor Implementation Class: SimpleConsumer_exec_i
//==================================================================
- SimpleConsumer_exec_i::SimpleConsumer_exec_i (void) :
- pushed_ (false)
+ SimpleConsumer_exec_i::SimpleConsumer_exec_i (void)
{
DANCE_TRACE ("SimpleConsumer_exec_i::SimpleConsumer_exec_i (void)");
}
@@ -32,8 +31,7 @@ namespace CIAO_Simple_SimpleConsumer_Impl
{
DANCE_TRACE ("SimpleConsumer_exec_i::push_hello_ ()");
// Your code here.
-
- this->pushed_ = true;
+
ACE_DEBUG ((LM_EMERGENCY, "SimpleConsumer_exec_i::push_hello_ - "
"Received hello event, value is %s\n", ev->hello_ ()));
}
@@ -80,10 +78,6 @@ namespace CIAO_Simple_SimpleConsumer_Impl
SimpleConsumer_exec_i::ccm_remove ()
{
DANCE_TRACE ("SimpleConsumer_exec_i::ccm_remove ()");
- if (!pushed_)
- {
- ACE_ERROR ((LM_EMERGENCY, "Error: SimpleConsumer didn't get pushed!\n"));
- }
// Your code here.
}
diff --git a/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.h b/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.h
index d2b0e816302..2069c87dbbb 100644
--- a/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.h
+++ b/CIAO/DAnCE/tests/CIAO/Components/SimpleConsumer_exec.h
@@ -50,7 +50,6 @@ namespace CIAO_Simple_SimpleConsumer_Impl
private:
::Simple::CCM_SimpleConsumer_Context_var context_;
- bool pushed_;
};
class SIMPLECONSUMER_EXEC_Export SimpleConsumerHome_exec_i
diff --git a/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.cpp b/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.cpp
index 0cd1ffe396b..f42c735a559 100644
--- a/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.cpp
+++ b/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.cpp
@@ -9,8 +9,7 @@ namespace CIAO_Simple_SimpleProvider_Impl
// Facet Executor Implementation Class: Trigger_exec_i
//==================================================================
- Trigger_exec_i::Trigger_exec_i (bool &triggered)
- : triggered_ (triggered)
+ Trigger_exec_i::Trigger_exec_i (void)
{
DANCE_TRACE ("Trigger_exec_i::Trigger_exec_i (void)");
}
@@ -27,7 +26,6 @@ namespace CIAO_Simple_SimpleProvider_Impl
const char * hello )
{
DANCE_TRACE ("Trigger_exec_i::hello ()");
- this->triggered_ = true;
// Your code here.
ACE_DEBUG ((LM_EMERGENCY, "Trigger_exec_i::hello - "
"Got the following information from trig port: %C\n",
@@ -39,7 +37,6 @@ namespace CIAO_Simple_SimpleProvider_Impl
//==================================================================
SimpleProvider_exec_i::SimpleProvider_exec_i (void)
- : triggered_ (false)
{
DANCE_TRACE ("SimpleProvider_exec_i::SimpleProvider_exec_i (void)");
}
@@ -59,7 +56,7 @@ namespace CIAO_Simple_SimpleProvider_Impl
SimpleProvider_exec_i::get_trig ()
{
DANCE_TRACE ("SimpleProvider_exec_i::get_trig ()");
- return new Trigger_exec_i (this->triggered_);
+ return new Trigger_exec_i ();
}
// Operations from Components::SessionComponent
@@ -103,9 +100,6 @@ namespace CIAO_Simple_SimpleProvider_Impl
SimpleProvider_exec_i::ccm_remove ()
{
DANCE_TRACE ("SimpleProvider_exec_i::ccm_remove ()");
- if (!triggered_)
- ACE_ERROR ((LM_EMERGENCY, "Error: My facet wasn't triggered!!\n"));
-
// Your code here.
}
diff --git a/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.h b/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.h
index 1ffa389790f..a0dda3db076 100644
--- a/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.h
+++ b/CIAO/DAnCE/tests/CIAO/Components/SimpleProvider_exec.h
@@ -21,7 +21,7 @@ namespace CIAO_Simple_SimpleProvider_Impl
public virtual ::CORBA::LocalObject
{
public:
- Trigger_exec_i (bool &);
+ Trigger_exec_i (void);
virtual ~Trigger_exec_i (void);
// Operations from ::Simple::Trigger
@@ -29,9 +29,6 @@ namespace CIAO_Simple_SimpleProvider_Impl
virtual void
hello (
const char * hello);
-
- private:
- bool &triggered_;
};
class SIMPLEPROVIDER_EXEC_Export SimpleProvider_exec_i
@@ -67,7 +64,6 @@ namespace CIAO_Simple_SimpleProvider_Impl
private:
::Simple::CCM_SimpleProvider_Context_var context_;
- bool triggered_;
};
class SIMPLEPROVIDER_EXEC_Export SimpleProviderHome_exec_i
diff --git a/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher_exec.cpp b/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher_exec.cpp
index 9bbc600dd4a..a0e83b17707 100644
--- a/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher_exec.cpp
+++ b/CIAO/DAnCE/tests/CIAO/Components/SimplePublisher_exec.cpp
@@ -53,6 +53,7 @@ namespace CIAO_Simple_SimplePublisher_Impl
{
DANCE_TRACE ("SimplePublisher_exec_i::ccm_activate ()");
::Simple::Hello_var hello = new OBV_Simple::Hello ("Test successful, hello from SimplePublisher_exec_i");
+
this->context_->push_hello (hello._retn ());
// Your code here.
}
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test.pl b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test.pl
index 818f6447887..8c167bdbab7 100755
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test.pl
+++ b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test.pl
@@ -198,12 +198,12 @@ foreach $file (@files) {
# Invoke executor - start the application -.
print "Invoking executor - launch the application -\n";
$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
- "-x $file -k file://$ior_emfile -l");
+ "-x $file -k file://$ior_emfile");
$E->SpawnWaitKill (120);
print "Teardown the application\n";
$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
- "-k file://$ior_emfile -x $file -s");
+ "-k file://$ior_emfile -x $file -q");
$E->SpawnWaitKill (120);
print "Executor finished.\n";
diff --git a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test_cdr.pl b/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test_cdr.pl
deleted file mode 100755
index 66db78dc487..00000000000
--- a/CIAO/DAnCE/tests/CIAO/ExecutionManager-Deployments/run_test_cdr.pl
+++ /dev/null
@@ -1,238 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# $Id$
-# -*- perl -*-
-
-use lib "$ENV{'ACE_ROOT'}/bin";
-use PerlACE::TestTarget;
-
-$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
-$TAO_ROOT = "$ENV{'TAO_ROOT'}";
-$DANCE_ROOT = "$ENV{'DANCE_ROOT'}";
-
-$daemons_running = 0;
-$em_running = 0;
-$ns_running = 0;
-
-$nr_daemon = 2;
-@ports = ( 60001, 60002 );
-@iorbases = ( "NodeApp1.ior", "NodeApp2.ior" );
-@iorfiles = 0;
-@nodenames = ( "NodeOne", "NodeTwo" );
-
-# ior files other than daemon
-$ior_nsbase = "ns.ior";
-$ior_nsfile = 0;
-$ior_embase = "EM.ior";
-$ior_emfile = 0;
-
-# Processes
-$E = 0;
-$EM = 0;
-$NS = 0;
-@DEAMONS = 0;
-
-# targets
-@tg_daemons = 0;
-$tg_naming = 0;
-$tg_exe_man = 0;
-$tg_executor = 0;
-$tg_convert_plan = 0;
-
-$status = 0;
-
-$ENV{"DANCE_TRACE_ENABLE"} = 0;
-$ENV{"CIAO_TRACE_ENABLE"} = 0;
-
-sub create_targets {
- # naming service
- $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
- $tg_naming->AddLibPath ('..');
- # daemon
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for deamon $i failed\n";
- $tg_daemons[$i]->AddLibPath ('../Components');
- }
- # execution manager
- $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
- $tg_exe_man->AddLibPath ('..');
- # executor (plan_launcher)
- $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
- $tg_executor->AddLibPath ('..');
-
- $tg_convert_plan = PerlACE::TestTarget::create_target (1) || die "Could not create target for convert plan\n";
-}
-
-sub init_ior_files {
- $ior_nsfile = $tg_naming->LocalFile ($ior_nsbase);
- $ior_emfile = $tg_exe_man->LocalFile ($ior_embase);
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
- }
- delete_ior_files ();
-}
-
-# Delete if there are any .ior files.
-sub delete_ior_files {
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $tg_daemons[$i]->DeleteFile ($iorbases[$i]);
- }
- $tg_naming->DeleteFile ($ior_nsbase);
- $tg_exe_man->DeleteFile ($ior_embase);
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
- }
-}
-
-sub kill_node_daemon {
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
- }
-}
-
-sub kill_open_processes {
- if ($daemons_running == 1) {
- kill_node_daemon ();
- }
-
- if ($em_running == 1) {
- $EM->Kill (); $EM->TimedWait (1);
- }
-
- if ($ns_running == 1) {
- $NS->Kill (); $NS->TimedWait (1);
- }
- # in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
-}
-
-
-sub run_node_daemons {
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $iorbase = $iorbases[$i];
- $iorfile = $iorfiles[$i];
- $port = $ports[$i];
- $nodename = $nodenames[$i];
- $iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
-
- $d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
- $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService --instance-nc corbaloc:rir:/NameService";
-
- print "Run node daemon\n";
-
- $DEAMONS[$i] = $tg_daemons[$i]->CreateProcess ($d_cmd, $d_param);
- $DEAMONS[$i]->Spawn ();
-
- if ($tg_daemons[$i]->WaitForFileTimed($iorbase,
- $tg_daemons[$i]->ProcessStartWaitInterval ()) == -1) {
- print STDERR
- "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
- for (; $i >= 0; --$i) {
- $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
- }
- return -1;
- }
- }
- return 0;
-}
-
-if ($#ARGV == -1) {
- opendir(DIR, ".");
- @files = grep(/\.cdp$/,readdir(DIR));
- closedir(DIR);
-}
-else {
- @files = @ARGV;
-}
-
-create_targets ();
-init_ior_files ();
-
-foreach $file (@files) {
- print "Starting test for deployment $file\n";
-
- print STDERR "Starting Naming Service\n";
-
- $NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/Naming_Service", "-m 0 -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
- $NS->Spawn ();
-
- if ($tg_naming->WaitForFileTimed ($ior_nsbase,
- $tg_naming->ProcessStartWaitInterval ()) == -1) {
- print STDERR "ERROR: cannot find naming service IOR file\n";
- $NS->Kill (); $NS->TimedWait (1);
- exit 1;
- }
-
- $ns_running = 1;
- # Set up NamingService environment
- $ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
-
- # Invoke node daemon.
- print "Invoking node daemon\n";
- $status = run_node_daemons ();
-
- if ($status != 0) {
- print STDERR "ERROR: Unable to execute the node daemons\n";
- kill_open_processes ();
- exit 1;
- }
-
- $daemons_running = 1;
-
- # Invoke execution manager.
- print "Invoking execution manager\n";
- $EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
- "-e$ior_emfile --domain-nc corbaloc:rir:/NameService");
- $EM->Spawn ();
-
- if ($tg_exe_man->WaitForFileTimed ($ior_embase,
- $tg_exe_man->ProcessStartWaitInterval ()) == -1) {
- print STDERR
- "ERROR: The ior file of execution manager could not be found\n";
- kill_open_processes ();
- exit 1;
- }
-
- $em_running = 1;
-
- print "Converting plan to CDR representation\n";
- $cdr_planbase = "$file" . ".cdr";
- $cdr_plan = $tg_convert_plan->LocalFile ($cdr_planbase);
- $convert = $tg_convert_plan->CreateProcess("$DANCE_ROOT/bin/dance_convert_plan",
- "-x $file -o $cdr_plan");
-
- $convert->Spawn ();
-
- if ($tg_convert_plan->WaitForFileTimed ($cdr_planbase,
- 30) == -1) {
- print STDERR "ERROR: Convert Plan failed to output $cdr_plan.\n";
- kill_open_processes ();
- next;
- }
-
- $convert->Kill ();
-
- # Invoke executor - start the application -.
- print "Invoking executor - launch the application -\n";
- $E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
- "-c $cdr_plan -k file://$ior_emfile -l");
- $E->SpawnWaitKill (120);
-
- print "Teardown the application\n";
- $E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
- "-k file://$ior_emfile -c $cdr_plan -s");
- $E->SpawnWaitKill (120);
- print "Executor finished.\n";
-
- $tg_convert_plan->DeleteFile ($cdr_planbase);
- delete_ior_files ();
- kill_open_processes ();
-}
-
-delete_ior_files ();
-kill_open_processes ();
-
-exit $status;
diff --git a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/nm_launcher.mpc b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/nm_launcher.mpc
new file mode 100644
index 00000000000..1b8b1b16fbc
--- /dev/null
+++ b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/nm_launcher.mpc
@@ -0,0 +1,6 @@
+// $Id$
+project(simple_nm_launcher) : dance_config_handlers, dance_nodemanager_stub, dance_nodeapplication_stub, dance_logger {
+ Source_Files {
+ simple_nm_launcher.cpp
+ }
+}
diff --git a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test.pl b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test.pl
index f7c32cc1cbd..3bed5e781d3 100755
--- a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test.pl
+++ b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test.pl
@@ -27,10 +27,6 @@ $ior_nsbase = "ns.ior";
$ior_nsfile = 0;
$ior_embase = "EM.ior";
$ior_emfile = 0;
-$ior_applicationbase = "Node_APP.ior";
-$ior_application = 0;
-$ior_ambase = "Node_AM.ior";
-$ior_am = 0;
# Processes
$E = 0;
@@ -56,14 +52,14 @@ sub create_targets {
# daemon
for ($i = 0; $i < $nr_daemon; ++$i) {
$tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for deamon $i failed\n";
- $tg_daemons[$i]->AddLibPath ('../Components');
+ $tg_daemons[$i]->AddLibPath ('..');
}
# execution manager
$tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
- # $tg_exe_man->AddLibPath ('..');
+ $tg_exe_man->AddLibPath ('..');
# executor (plan_launcher)
$tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
- #$tg_executor->AddLibPath ('..');
+ $tg_executor->AddLibPath ('..');
}
sub init_ior_files {
@@ -72,8 +68,6 @@ sub init_ior_files {
for ($i = 0; $i < $nr_daemon; ++$i) {
$iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
}
- $ior_application = $tg_executor->LocalFile ($ior_applicationbase);
- $ior_am = $tg_executor->LocalFile ($ior_ambase);
delete_ior_files ();
}
@@ -87,9 +81,6 @@ sub delete_ior_files {
for ($i = 0; $i < $nr_daemon; ++$i) {
$iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
}
-
- $tg_executor->DeleteFile ($ior_applicationbase);
- $tg_executor->DeleteFile ($ior_ambase);
}
sub kill_node_daemon {
@@ -188,16 +179,28 @@ foreach $file (@files) {
$daemons_running = 1;
+ # Invoke execution manager.
+ print "Invoking execution manager\n";
+ $EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
+ "-e$ior_emfile --domain-nc corbaloc:rir:/NameService");
+ $EM->Spawn ();
+
+ if ($tg_exe_man->WaitForFileTimed ($ior_embase,
+ $tg_exe_man->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior file of execution manager could not be found\n";
+ kill_open_processes ();
+ exit 1;
+ }
+
+ $em_running = 1;
+
# Invoke executor - start the application -.
print "Invoking executor - launch the application -\n";
- $E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
- "-x $file -n file://NodeApp1.ior -l -oNode");
- $E->SpawnWaitKill (120);
-
- print "Teardown the application\n";
- $E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
- "-n file://NodeApp1.ior -a file://$ior_application -m file://$ior_am -s");
- $E->SpawnWaitKill (120);
+ $E = $tg_executor->CreateProcess ("simple_em_launcher",
+ "file://$ior_emfile $file");
+
+
print "Executor finished.\n";
delete_ior_files ();
diff --git a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test_cdr.pl b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test_cdr.pl
deleted file mode 100755
index c3fcfd77a92..00000000000
--- a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/run_test_cdr.pl
+++ /dev/null
@@ -1,230 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# $Id$
-# -*- perl -*-
-
-use lib "$ENV{'ACE_ROOT'}/bin";
-use PerlACE::TestTarget;
-
-$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
-$TAO_ROOT = "$ENV{'TAO_ROOT'}";
-$DANCE_ROOT = "$ENV{'DANCE_ROOT'}";
-
-$daemons_running = 0;
-$em_running = 0;
-$ns_running = 0;
-
-$nr_daemon = 1;
-@ports = ( 60001 );
-@iorbases = ( "NodeApp1.ior" );
-@iorfiles = 0;
-@nodenames = ( "NodeOne" );
-
-# ior files other than daemon
-$ior_nsbase = "ns.ior";
-$ior_nsfile = 0;
-$ior_embase = "EM.ior";
-$ior_emfile = 0;
-$ior_applicationbase = "Node_APP.ior";
-$ior_application = 0;
-$ior_ambase = "Node_AM.ior";
-$ior_am = 0;
-
-# Processes
-$E = 0;
-$EM = 0;
-$NS = 0;
-@DEAMONS = 0;
-
-# targets
-@tg_daemons = 0;
-$tg_naming = 0;
-$tg_exe_man = 0;
-$tg_executor = 0;
-$tg_convert_plan = 0;
-
-$status = 0;
-
-$ENV{"DANCE_TRACE_ENABLE"} = 0;
-$ENV{"CIAO_TRACE_ENABLE"} = 0;
-
-sub create_targets {
- # naming service
- $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
- $tg_naming->AddLibPath ('..');
- # daemon
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for deamon $i failed\n";
- $tg_daemons[$i]->AddLibPath ('../Components');
- }
- # execution manager
- $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
- # $tg_exe_man->AddLibPath ('..');
- # executor (plan_launcher)
- $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
- #$tg_executor->AddLibPath ('..');
-
- $tg_convert_plan = PerlACE::TestTarget::create_target (1) || die "Could not create target for convert plan\n";
-}
-
-sub init_ior_files {
- $ior_nsfile = $tg_naming->LocalFile ($ior_nsbase);
- $ior_emfile = $tg_exe_man->LocalFile ($ior_embase);
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
- }
- $ior_application = $tg_executor->LocalFile ($ior_applicationbase);
- $ior_am = $tg_executor->LocalFile ($ior_ambase);
-
- delete_ior_files ();
-}
-
-# Delete if there are any .ior files.
-sub delete_ior_files {
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $tg_daemons[$i]->DeleteFile ($iorbases[$i]);
- }
- $tg_naming->DeleteFile ($ior_nsbase);
- $tg_exe_man->DeleteFile ($ior_embase);
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
- }
-}
-
-sub kill_node_daemon {
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
- }
-}
-
-sub kill_open_processes {
- if ($daemons_running == 1) {
- kill_node_daemon ();
- }
-
- if ($em_running == 1) {
- $EM->Kill (); $EM->TimedWait (1);
- }
-
- if ($ns_running == 1) {
- $NS->Kill (); $NS->TimedWait (1);
- }
- # in case shutdown did not perform as expected
- $tg_executor->KillAll ('ciao_componentserver');
-}
-
-
-sub run_node_daemons {
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $iorbase = $iorbases[$i];
- $iorfile = $iorfiles[$i];
- $port = $ports[$i];
- $nodename = $nodenames[$i];
- $iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
-
- $d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
- $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService --instance-nc corbaloc:rir:/NameService";
-
- print "Run node daemon\n";
-
- $DEAMONS[$i] = $tg_daemons[$i]->CreateProcess ($d_cmd, $d_param);
- $DEAMONS[$i]->Spawn ();
-
- if ($tg_daemons[$i]->WaitForFileTimed($iorbase,
- $tg_daemons[$i]->ProcessStartWaitInterval ()) == -1) {
- print STDERR
- "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
- for (; $i >= 0; --$i) {
- $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
- }
- return -1;
- }
- }
- return 0;
-}
-
-if ($#ARGV == -1) {
- opendir(DIR, ".");
- @files = grep(/\.cdp$/,readdir(DIR));
- closedir(DIR);
-}
-else {
- @files = @ARGV;
-}
-
-create_targets ();
-init_ior_files ();
-
-foreach $file (@files) {
- print "Starting test for deployment $file\n";
-
- print STDERR "Starting Naming Service\n";
-
- $NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/Naming_Service", "-m 0 -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
- $NS->Spawn ();
-
- if ($tg_naming->WaitForFileTimed ($ior_nsbase,
- $tg_naming->ProcessStartWaitInterval ()) == -1) {
- print STDERR "ERROR: cannot find naming service IOR file\n";
- $NS->Kill (); $NS->TimedWait (1);
- exit 1;
- }
-
- $ns_running = 1;
- # Set up NamingService environment
- $ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
-
- # Invoke node daemon.
- print "Invoking node daemon\n";
- $status = run_node_daemons ();
-
- if ($status != 0) {
- print STDERR "ERROR: Unable to execute the node daemons\n";
- kill_open_processes ();
- exit 1;
- }
-
- $daemons_running = 1;
-
- print "Converting plan to CDR representation\n";
- $cdr_planbase = "$file" . ".cdr";
- $cdr_plan = $tg_convert_plan->LocalFile ($cdr_planbase);
- $convert = $tg_convert_plan->CreateProcess("$DANCE_ROOT/bin/dance_convert_plan",
- "-x $file -o $cdr_plan");
-
- $convert->Spawn ();
-
- if ($tg_convert_plan->WaitForFileTimed ($cdr_planbase,
- 30) == -1) {
- print STDERR "ERROR: Convert Plan failed to output $cdr_plan.\n";
- kill_open_processes ();
- next;
- }
-
- $convert->Kill ();
-
- # Invoke executor - start the application -.
- print "Invoking executor - launch the application -\n";
- $E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
- "-c $file.cdr -n file://NodeApp1.ior -l -oNode");
- $E->SpawnWaitKill (120);
-
- print "Teardown the application\n";
- $E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
- "-n file://NodeApp1.ior -a file://Node_APP.ior -m file://Node_AM.ior -s");
- $E->SpawnWaitKill (120);
- print "Executor finished.\n";
-
- $tg_convert_plan->DeleteFile ($cdr_planbase);
-
- delete_ior_files ();
- kill_open_processes ();
-}
-
-delete_ior_files ();
-kill_open_processes ();
-
-exit $status;
diff --git a/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/simple_nm_launcher.cpp b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/simple_nm_launcher.cpp
new file mode 100644
index 00000000000..e0731b074ed
--- /dev/null
+++ b/CIAO/DAnCE/tests/CIAO/NodeManager-Deployments/simple_nm_launcher.cpp
@@ -0,0 +1,125 @@
+/**
+ * @file simple_nm_launcher.cpp
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ * $Id$
+ * Launches then immediately tears down a plan.
+ */
+
+#include "ace/OS_NS_unistd.h"
+#include "tao/ORB.h"
+#include "DAnCE/Logger/Logger_Service.h"
+#include "DAnCE/Logger/Log_Macros.h"
+#include "Deployment/Deployment_NodeApplicationC.h"
+#include "Deployment/Deployment_NodeManagerC.h"
+#include "Deployment/Deployment_DeploymentPlanC.h"
+#include "Config_Handlers/XML_File_Intf.h"
+
+int usage ()
+{
+ ACE_ERROR ((LM_ERROR, "simple_nm_launcher <nm_url> <plan>\n"));
+ return -1;
+}
+
+#include <iostream>
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+ DANCE_DISABLE_TRACE ();
+
+ DAnCE::Logger_Service
+ * dlf = ACE_Dynamic_Service<DAnCE::Logger_Service>::instance ("DAnCE_Logger");
+
+ if (dlf)
+ {
+ dlf->init (argc, argv);
+ }
+
+ CORBA::ORB_var orb = CORBA::ORB_init (argc, argv);
+
+ if (argc != 3)
+ return usage ();
+
+ try
+ {
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: parsing XML\n")));
+ // Parse plan
+ CIAO::Config_Handlers::XML_File_Intf xml (argv[2]);
+ xml.add_search_path (ACE_TEXT ("DANCE_ROOT"), ACE_TEXT ("/docs/schema/"));
+ xml.add_search_path (ACE_TEXT ("CIAO_ROOT"), ACE_TEXT ("/docs/schema/"));
+
+ auto_ptr< ::Deployment::DeploymentPlan> plan (xml.release_plan ());
+
+ if (plan.get () == 0)
+ {
+ ACE_ERROR ((LM_ERROR,ACE_TEXT ("*** error parsing XML document\n")));
+ throw 1;
+ }
+
+
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: resolving node manager reference.\n")));
+ CORBA::Object_var obj = orb->string_to_object (argv[1]);
+ Deployment::NodeManager_var nm = Deployment::NodeManager::_narrow (obj.in ());
+
+ if (CORBA::is_nil (nm.in ()))
+ {
+ ACE_ERROR ((LM_ERROR,ACE_TEXT ("*** simple_nm_launcher: NodeManager reference is nil.")));
+ throw 1;
+ }
+
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: calling prepareplan.\n")));
+ Deployment::NodeApplicationManager_var nam = nm->preparePlan (*plan,
+ Deployment::ResourceCommitmentManager::_nil ());
+
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: calling startLaunch\n")));
+ Deployment::Connections_var conns;
+ Deployment::Properties props;
+ Deployment::Application_var app = nam->startLaunch (props, conns.out ());
+ Deployment::NodeApplication_var na = Deployment::NodeApplication::_narrow (app.in ());
+
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: calling finishLaunch\n")));
+ na->finishLaunch (conns.in (), false);
+
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: calling start\n")));
+ na->start ();
+
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: start finished, sleeping 5 seconds.\n")));
+ ACE_OS::sleep (5);
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: waking up from sleep, calling destroyApplication\n")));
+
+ nam->destroyApplication (na.in ());
+
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: calling destroyManager\n")));
+
+ nm->destroyManager (nam.in ());
+
+ ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("*** simple_nm_launcher: destroyManager completed.\n")));
+
+ orb->destroy ();
+ }
+ catch (Deployment::StopError &ex)
+ {
+ ACE_ERROR ((LM_ERROR,ACE_TEXT ("*** Caught StopError exception with name %C and reason %C\n"),
+ ex.name.in (), ex.reason.in ()));
+ return -1;
+ }
+ catch (Deployment::StartError &ex)
+ {
+ ACE_ERROR ((LM_ERROR,ACE_TEXT ("*** Caught StartError exception with name %C and reason %C\n"),
+ ex.name.in (), ex.reason.in ()));
+ return -1;
+ }
+ catch (CORBA::Exception &ex)
+ {
+ ACE_ERROR ((LM_ERROR,ACE_TEXT ("*** Caught CORBA exception: %C\n"),
+ ex._info ().c_str ()));
+ return -1;
+
+ }
+ catch (...)
+ {
+ orb->destroy ();
+ ACE_ERROR ((LM_ERROR,ACE_TEXT ("*** Caught unknown exception\n")));
+ return -1;
+ }
+ return 0;
+}