diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:21 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:21 +0000 |
commit | 3aff90f4a822fcf5d902bbfbcc9fa931d6191a8c (patch) | |
tree | 197c810e5f5bce17b1233a7cb8d7b50c0bcd25e2 /TAO/tests/Bug_2345_Regression | |
parent | 6b846cf03c0bcbd8c276cb0af61a181e5f98eaae (diff) | |
download | ATCD-3aff90f4a822fcf5d902bbfbcc9fa931d6191a8c.tar.gz |
Repo restructuring
Diffstat (limited to 'TAO/tests/Bug_2345_Regression')
-rw-r--r-- | TAO/tests/Bug_2345_Regression/Bug_2345_Regression.mpc | 8 | ||||
-rwxr-xr-x | TAO/tests/Bug_2345_Regression/run_test.pl | 22 | ||||
-rw-r--r-- | TAO/tests/Bug_2345_Regression/server.cpp | 41 |
3 files changed, 71 insertions, 0 deletions
diff --git a/TAO/tests/Bug_2345_Regression/Bug_2345_Regression.mpc b/TAO/tests/Bug_2345_Regression/Bug_2345_Regression.mpc new file mode 100644 index 00000000000..7223fb9069c --- /dev/null +++ b/TAO/tests/Bug_2345_Regression/Bug_2345_Regression.mpc @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project(*Server) : taoserver, imr_client, exceptions { + Source_Files { + server.cpp + } +} diff --git a/TAO/tests/Bug_2345_Regression/run_test.pl b/TAO/tests/Bug_2345_Regression/run_test.pl new file mode 100755 index 00000000000..fa8e977afd2 --- /dev/null +++ b/TAO/tests/Bug_2345_Regression/run_test.pl @@ -0,0 +1,22 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + +# $Id$ +# -*- perl -*- + +use lib '../../../bin'; +use PerlACE::Run_Test; + +$status = 0; + +$SV = new PerlACE::Process ("server", "-ORBUseIMR 1 -ORBDefaultInitRef corbaloc:iiop:localhost:12345"); + +$server = $SV->SpawnWaitKill (30); + +if ($server != 0) { + print STDERR "ERROR: server returned $server\n"; + $status = 1; +} + +exit $status; diff --git a/TAO/tests/Bug_2345_Regression/server.cpp b/TAO/tests/Bug_2345_Regression/server.cpp new file mode 100644 index 00000000000..f134a745d3b --- /dev/null +++ b/TAO/tests/Bug_2345_Regression/server.cpp @@ -0,0 +1,41 @@ +// $Id$ + +#include "tao/PortableServer/PortableServer.h" +#include "tao/ImR_Client/ImR_Client.h" + +int main(int argc, char* argv[]) +{ + try + { + CORBA::ORB_var orb = CORBA::ORB::_nil(); + + // Initialize the ORB. + // + orb = CORBA::ORB_init(argc, argv); + CORBA::Object_var poa_obj = orb->resolve_initial_references("RootPOA"); + PortableServer::POA_var root_poa = PortableServer::POA::_narrow(poa_obj.in ()); + + // Create a PERSISTENT POA + // + // Create the policy list + CORBA::PolicyList policies(2); + policies.length(2); + policies[0] = root_poa->create_lifespan_policy(PortableServer::PERSISTENT); + policies[1] = root_poa->create_id_assignment_policy(PortableServer::USER_ID); + + // create the poa. + // for ORBUseIMR=1 -ORBDefaultInitRef corbaloc:iiop:<HOST>:<PORT> + // this will cause an access violation if no IMR server is found. + // The access violation WILL NOT HAPPEN if a POAManager is created and + // given as a parameter to create_POA (instead of a nil POAManager) + PortableServer::POA_var persistent_poa = + root_poa->create_POA("myPoa", PortableServer::POAManager::_nil(), policies); + + return 0; + } + catch (CORBA::Exception&) + { + // ... normally print an error here + } + return 0; +} |