summaryrefslogtreecommitdiff
path: root/orbsvcs/tests/InterfaceRepo/Bug_2962_Regression/client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'orbsvcs/tests/InterfaceRepo/Bug_2962_Regression/client.cpp')
-rw-r--r--orbsvcs/tests/InterfaceRepo/Bug_2962_Regression/client.cpp132
1 files changed, 71 insertions, 61 deletions
diff --git a/orbsvcs/tests/InterfaceRepo/Bug_2962_Regression/client.cpp b/orbsvcs/tests/InterfaceRepo/Bug_2962_Regression/client.cpp
index 6b8f15dbcec..1626804a4bf 100644
--- a/orbsvcs/tests/InterfaceRepo/Bug_2962_Regression/client.cpp
+++ b/orbsvcs/tests/InterfaceRepo/Bug_2962_Regression/client.cpp
@@ -36,74 +36,84 @@ parse_args (int argc, ACE_TCHAR *argv[])
int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
{
- CORBA::ORB_var the_orb = CORBA::ORB_init (argc, argv);
+ try
+ {
+ CORBA::ORB_var the_orb = CORBA::ORB_init (argc, argv);
- if (parse_args (argc, argv) != 0)
- return 1;
+ if (parse_args (argc, argv) != 0)
+ return 1;
- CORBA::Object_var obj = the_orb->string_to_object (ACE_TEXT_ALWAYS_CHAR(ifr_ior));
- if (CORBA::is_nil (obj.in()))
- {
- ACE_DEBUG ((LM_DEBUG, "Obtained nil reference to Object for interface repository\n" ));
- return 1;
- }
- CORBA::ComponentIR::Repository_var ifr;
- try
- {
- ifr = CORBA::ComponentIR::Repository::_narrow (obj.in());
- }
- catch (CORBA::SystemException &)
- {
- ACE_DEBUG ((LM_DEBUG, "exception catched .. narrowing IFR object\n" ));
- return 1;
- }
- if (CORBA::is_nil (ifr.in()))
- {
- ACE_DEBUG ((LM_DEBUG, "Can't narrow to IFR\n" ));
- return 1;
- }
+ CORBA::Object_var obj = the_orb->string_to_object (ACE_TEXT_ALWAYS_CHAR(ifr_ior));
+ if (CORBA::is_nil (obj.in()))
+ {
+ ACE_DEBUG ((LM_DEBUG, "Obtained nil reference to Object for interface repository\n" ));
+ return 1;
+ }
- ACE_DEBUG ((LM_DEBUG, "Looking up %C", member_type_id ));
- CORBA::Contained_var
- dependency = ifr->lookup_id (ACE_TEXT_ALWAYS_CHAR(member_type_id));
- if (CORBA::is_nil (dependency.in ()))
- {
- ACE_DEBUG ((LM_DEBUG, " *** failed ***\n" ));
- return 1;
- }
+ CORBA::ComponentIR::Repository_var ifr;
- CORBA::AliasDef_var
- the_alias = CORBA::AliasDef::_narrow (dependency.in ());
- if (CORBA::is_nil (the_alias.in ()))
- {
- ACE_DEBUG ((LM_DEBUG, " *** not an alias ***\n" ));
- return 1;
- }
+ try
+ {
+ ifr = CORBA::ComponentIR::Repository::_narrow (obj.in());
+ }
+ catch (CORBA::SystemException &)
+ {
+ ACE_DEBUG ((LM_DEBUG, "exception catched .. narrowing IFR object\n" ));
+ return 1;
+ }
- CORBA::IDLType_var
- orig_type = the_alias->original_type_def ();
- CORBA::TypeCode_var
- tc_content = orig_type->type ();
- const CORBA::ULong
- length= tc_content->length ();
- CORBA::TypeCode_var
- cont_type = tc_content->content_type ();
- const char
- *name= cont_type->name ();
- ACE_DEBUG ((LM_DEBUG,
- " = %C [%u]\n",
- name,
- length ));
+ if (CORBA::is_nil (ifr.in()))
+ {
+ ACE_DEBUG ((LM_DEBUG, "Can't narrow to IFR\n" ));
+ return 1;
+ }
- if (2u == length)
- {
- ACE_DEBUG ((LM_DEBUG, "Correct result, test passed\n" ));
+ ACE_DEBUG ((LM_DEBUG, "Looking up %C", member_type_id ));
+ CORBA::Contained_var
+ dependency = ifr->lookup_id (ACE_TEXT_ALWAYS_CHAR(member_type_id));
+ if (CORBA::is_nil (dependency.in ()))
+ {
+ ACE_DEBUG ((LM_DEBUG, " *** failed ***\n" ));
+ return 1;
+ }
+
+ CORBA::AliasDef_var
+ the_alias = CORBA::AliasDef::_narrow (dependency.in ());
+ if (CORBA::is_nil (the_alias.in ()))
+ {
+ ACE_DEBUG ((LM_DEBUG, " *** not an alias ***\n" ));
+ return 1;
+ }
+
+ CORBA::IDLType_var
+ orig_type = the_alias->original_type_def ();
+ CORBA::TypeCode_var
+ tc_content = orig_type->type ();
+ const CORBA::ULong
+ length= tc_content->length ();
+ CORBA::TypeCode_var
+ cont_type = tc_content->content_type ();
+ const char
+ *name= cont_type->name ();
+ ACE_DEBUG ((LM_DEBUG,
+ " = %C [%u]\n",
+ name,
+ length ));
+
+ if (2u == length)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Correct result, test passed\n" ));
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG, "Error: Should have been %C [2]\n", name));
+ return 2;
+ }
}
- else
+ catch (const ::CORBA::Exception &ex)
{
- ACE_DEBUG ((LM_DEBUG, "Error: Should have been %C [2]\n", name));
- return 2;
+ ex._tao_print_exception("ERROR : unexpected CORBA exception caugth :");
+ return 1;
}
-
- return 0;
+ return 0;
}