diff options
author | Phil Mesnier <mesnier_p@ociweb.com> | 2013-05-14 14:56:18 +0000 |
---|---|---|
committer | Phil Mesnier <mesnier_p@ociweb.com> | 2013-05-14 14:56:18 +0000 |
commit | 816c2398910386fddb12cfa016e577534b78fbb3 (patch) | |
tree | 18c1f69b525f6e97881eb279acab85e10dd1a268 | |
parent | 759c54f0aad5a1e92cc03d431cf310a9cae61528 (diff) | |
download | ATCD-816c2398910386fddb12cfa016e577534b78fbb3.tar.gz |
Tue May 14 14:53:28 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com>
-rw-r--r-- | TAO/ChangeLog | 9 | ||||
-rw-r--r-- | TAO/bin/tao_other_tests.lst | 1 | ||||
-rwxr-xr-x | TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl | 50 |
3 files changed, 59 insertions, 1 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index c1cd517825b..8c1deaf009f 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,12 @@ +Tue May 14 14:53:28 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com> + + * bin/tao_other_tests.lst: + * orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl: + + Added a test scenario where multiple concurrent start requests + are issued for the same server. This test insures that only a + single instance is actually started. + Mon May 13 21:38:06 UTC 2013 Phil Mesnier <mesnier_p@ociweb.com> * orbsvcs/ImplRepo_Service/AsyncListManager.cpp: diff --git a/TAO/bin/tao_other_tests.lst b/TAO/bin/tao_other_tests.lst index 0796abdac63..deca7a3ed5a 100644 --- a/TAO/bin/tao_other_tests.lst +++ b/TAO/bin/tao_other_tests.lst @@ -140,6 +140,7 @@ TAO/orbsvcs/tests/ImplRepo/RestartServer/run_test.pl: !ST !MINIMUM !CORBA_E_COMP TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !ACE_FOR_TAO !LynxOS !OpenVMS TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl -delay 20 -imr_start: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !ACE_FOR_TAO !LynxOS !OpenVMS TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl -hide_server -imr_start: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !ACE_FOR_TAO !LynxOS !OpenVMS +TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl -multistart: !ST !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !WCHAR !ACE_FOR_TAO !LynxOS !OpenVMS TAO/orbsvcs/examples/ImR/Combined_Service/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !STATIC !ST !ACE_FOR_TAO !LynxOS TAO/orbsvcs/examples/CosEC/TypedSimple/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NO_IFR !ACE_FOR_TAO !WCHAR TAO/orbsvcs/tests/CosEvent/Timeout/run_test.pl: !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !ST !NO_MESSAGING !ACE_FOR_TAO !LynxOS diff --git a/TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl b/TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl index 086d8a350d2..ccd1f3d2d1b 100755 --- a/TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl +++ b/TAO/orbsvcs/tests/ImplRepo/servers_interact_on_startup/run_test.pl @@ -21,6 +21,7 @@ my $usage = 0; my $use_imr_start = 0; my $restart_loc = 0; my $list_test = 0; +my $multistart = 0; my $hide_server = 0; my $expect_transient = ""; my $notify_locator = ""; @@ -62,6 +63,9 @@ if ($#ARGV >= 0) { $hide_server = 1; $notify_locator = "-l"; } + elsif ($ARGV[$i] eq "-multistart") { + $multistart = 1; + } elsif ($ARGV[$i] eq "-imr_start") { $use_imr_start = 1; } @@ -417,10 +421,51 @@ sub run_imr_start_test return $result; } -sub run_list_test +sub run_multistart_test { init_test (); + print_msg ("Running multistart test"); + + my @TICMD; + print "First async start request\n"; + $TICMD[0] = $ti->CreateProcess ("$ENV{ACE_ROOT}/bin/tao_imr"); + $TICMD[0]->Arguments ("-ORBInitRef ImplRepoService=file://$ti_imriorfile start $obj[1]"); + $TICMD[0]->Spawn(); + print "sleep 1 sec\n"; + sleep (1); + print "Second async start request\n"; + $TICMD[1] = $ti->CreateProcess ("$ENV{ACE_ROOT}/bin/tao_imr"); + $TICMD[1]->Arguments ("-ORBInitRef ImplRepoService=file://$ti_imriorfile start $obj[1]"); + $TICMD[1]->Spawn(); + print "sleep 7 sec\n"; + sleep (7); run_imr_util ("start $obj[1]"); + + open (STATUS, $srvstatusfile[1]); + @lines = <STATUS>; + close (STATUS); + + $count = @lines; + + if ($count == 1) { + print "SUCCESS: multiple start requests result in only 1 server\n"; + } + else { + print "FAILURE: multiple start requests expected 1 start, got $count\n"; + } + + for ($i = 0; $i < 2; $i++) { + $TICMD[$i]->WaitKill ($ti->ProcessStartWaitInterval() +$server_reply_delay); + } + + fini_test (); +} + +sub run_list_test +{ + init_test (); + print_msg ("Running list test"); + spawn_imr_util ("start $obj[1]"); run_imr_util ("start $obj[0]"); run_imr_util ("list -a"); run_imr_util ("shutdown $obj[1]"); @@ -502,6 +547,9 @@ if ($use_imr_start == 1) { elsif ($list_test == 1) { $ret = run_list_test (); } +elsif ($multistart == 1) { + $ret = run_multistart_test (); +} else { $ret = run_client_activate_test (); } |