summaryrefslogtreecommitdiff
path: root/TAO/tests/OBV/Truncatable/client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/OBV/Truncatable/client.cpp')
-rw-r--r--TAO/tests/OBV/Truncatable/client.cpp542
1 files changed, 0 insertions, 542 deletions
diff --git a/TAO/tests/OBV/Truncatable/client.cpp b/TAO/tests/OBV/Truncatable/client.cpp
deleted file mode 100644
index c372ce85579..00000000000
--- a/TAO/tests/OBV/Truncatable/client.cpp
+++ /dev/null
@@ -1,542 +0,0 @@
-// $Id$
-
-#include "TruncatableC.h"
-#include "ExtraC.h"
-#include "ace/Get_Opt.h"
-
-ACE_RCSID(Truncatable, client, "$Id$")
-
- const char *ior = "file://test.ior";
-
-int fail = 0;
-int pretest = 0;
-int verbose = 0;
-
-#define VERIFY(Condition) \
-{ \
- if ((Condition)==0) \
- { \
- fail++; \
- if (!verbose) \
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT("(%P|%t) client - Failure at line %l\n"))); \
- } \
-}
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "k:v");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'k':
- ior = get_opts.optarg;
- break;
- case 'v':
- verbose = 1;
- break;
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- // Create factories.
-
- OBV_TruncatableTest::BaseValue_init *base_factory = 0;
- ACE_NEW_RETURN (base_factory,
- OBV_TruncatableTest::BaseValue_init,
- 1);
-
- orb->register_value_factory (base_factory->tao_repository_id (),
- base_factory
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- base_factory->_remove_ref (); // release ownership
-
-
-
- OBV_TruncatableTest::TValue1_init *value1_factory = 0;
- ACE_NEW_RETURN (value1_factory,
- OBV_TruncatableTest::TValue1_init,
- 1);
-
- orb->register_value_factory (value1_factory->tao_repository_id (),
- value1_factory
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- value1_factory->_remove_ref ();
-
-
-
- OBV_TruncatableTest::TValue2_init *value2_factory = 0;
- ACE_NEW_RETURN (value2_factory,
- OBV_TruncatableTest::TValue2_init,
- 1);
-
- orb->register_value_factory (value2_factory->tao_repository_id (),
- value2_factory
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- value2_factory->_remove_ref ();
-
-
- OBV_TruncatableTest::TValue3_init *value3_factory = 0;
- ACE_NEW_RETURN (value3_factory,
- OBV_TruncatableTest::TValue3_init,
- 1);
-
- orb->register_value_factory (value3_factory->tao_repository_id (),
- value3_factory
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- value3_factory->_remove_ref ();
-
- OBV_TruncatableTest::TValue4_init *value4_factory = 0;
- ACE_NEW_RETURN (value4_factory,
- OBV_TruncatableTest::TValue4_init,
- 1);
-
- orb->register_value_factory (value4_factory->tao_repository_id (),
- value4_factory
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- value4_factory->_remove_ref ();
-
- OBV_TruncatableTest::TValue5_init *value5_factory = 0;
- ACE_NEW_RETURN (value5_factory,
- OBV_TruncatableTest::TValue5_init,
- 1);
-
- orb->register_value_factory (value5_factory->tao_repository_id (),
- value5_factory
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- value5_factory->_remove_ref ();
-
- OBV_TruncatableTest::NestedValue_init *nested_value_factory = 0;
- ACE_NEW_RETURN (nested_value_factory,
- OBV_TruncatableTest::NestedValue_init,
- 1);
-
- orb->register_value_factory (nested_value_factory->tao_repository_id (),
- nested_value_factory
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- nested_value_factory->_remove_ref ();
-
- // Obtain reference to the object
- CORBA::Object_var tmp =
- orb->string_to_object(ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- OBV_TruncatableTest::Test_var test =
- OBV_TruncatableTest::Test::_narrow(tmp.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (test.in ()))
- {
- ACE_ERROR_RETURN ((LM_DEBUG,
- "Nil OBV_TruncatableTest::Test reference <%s>\n",
- ior),
- 1);
- }
-
- CORBA::String_var desc;;
- { //isolate the scope of objects to avoid using wrong values
- OBV_OBV_TruncatableTest::TValue1 v1;
- v1.basic_data (9);
- v1.data1 (99);
-
- OBV_TruncatableTest::BaseValue_var ov1;
-
- desc = CORBA::string_dup ("A<-tB, truncate B to A");
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 1: %s: "),
- ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
- pretest = fail;
-
- test->op1 ("case1", &v1, ov1.out (), desc.inout ()
- ACE_ENV_ARG_PARAMETER);
-
- ACE_TRY_CHECK;
-
- VERIFY (! ACE_OS::strcmp (desc.in (),
- "case1: A<-tB, truncate B to A"));
- VERIFY (v1.basic_data () == ov1->basic_data ());
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
- (pretest == fail) ?
- ACE_TEXT ("passed") : ACE_TEXT ("failed")));
- }
-
- { //isolate the scope of objects to avoid using wrong values
- OBV_OBV_TruncatableTest::TValue2 v2;
-
- v2.basic_data (9);
- v2.data1 (99);
- v2.data2 (99 * 2);
-
- OBV_TruncatableTest::BaseValue_var ov2;
- desc = CORBA::string_dup ("A<-tB<-tC, truncate C to A");
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 2: %s: "),
- ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
- pretest = fail;
-
- test->op1 ("case2", &v2, ov2.out (), desc.inout ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- VERIFY (! ACE_OS::strcmp (desc.in (),
- "case2: A<-tB<-tC, truncate C to A"));
- VERIFY (v2.basic_data () == ov2->basic_data ());
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
- (pretest == fail) ?
- ACE_TEXT ("passed") : ACE_TEXT ("failed")));
-
- OBV_TruncatableTest::TValue1_var otv1;
- desc = CORBA::string_dup ("A<-tB<-tC, truncate C to B");
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 3: %s: "),
- ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
- pretest = fail;
-
- test->op2 (&v2, "case3", otv1.out (), desc.inout ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- VERIFY (! ACE_OS::strcmp (desc.in (),
- "case3: A<-tB<-tC, truncate C to B"));
- VERIFY (v2.basic_data () == otv1->basic_data ());
- VERIFY (v2.data1 () == otv1->data1 ());
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
- (pretest == fail) ?
- ACE_TEXT ("passed") : ACE_TEXT ("failed")));
- }
-
- { //isolate the scope of objects to avoid using wrong values
- OBV_OBV_TruncatableTest::TValue1 itv1b;
-
- itv1b.basic_data(7);
- itv1b.data1(8);
- OBV_TruncatableTest::TValue1_var otv1b;
- desc = CORBA::string_dup ("A<-tB, truncatable but no truncation");
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 3b: %s: "),
- ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
- pretest = fail;
-
- test->op2 (&itv1b, "case3b", otv1b.out (), desc.inout ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- VERIFY (! ACE_OS::strcmp (desc.in (),
- "case3b: A<-tB, truncatable but no truncation"));
- VERIFY (itv1b.basic_data () == otv1b->basic_data ());
- VERIFY (itv1b.data1 () == otv1b->data1 ());
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
- (pretest == fail) ?
- ACE_TEXT ("passed") : ACE_TEXT ("failed")));
- }
-
- { //isolate the scope of objects to avoid using wrong values
- OBV_OBV_TruncatableTest::TValue3 v3;
- v3.basic_data (9);
- v3.data1 (99);
- v3.data3 (99 * 3);
-
- bool caught_expected_exception = false;
- ACE_TRY_EX (value3)
- {
- OBV_TruncatableTest::BaseValue_var ov3;
- desc = CORBA::string_dup
- ("A<-tB<-C, try truncate C to A, MARSHAL exception");
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 4: %s: "),
- ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
- test->op1 ("case4", &v3, ov3.out (), desc.inout ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK_EX (value3);
- }
- ACE_CATCH (CORBA::MARSHAL, v3ex)
- {
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("passed\n")));
- caught_expected_exception = true;
- }
- ACE_ENDTRY;
-
- if ( ! caught_expected_exception)
- {
- fail++;
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("faileded\n")));
- }
- } //end marshaling exception test.
-
- { //isolate the scope of objects to avoid using wrong values
- OBV_OBV_TruncatableTest::NestedValue nv;
- nv.data (2);
-
- OBV_OBV_TruncatableTest::TValue5 v5;
-
- v5.basic_data (9);
- v5.nv4 (&nv);
- v5.data4 (99 * 4);
- v5.str1 (CORBA::string_dup ("str1"));
- v5.data5 (99 * 5);
- v5.nv5 (&nv);
- v5.str2 (CORBA::string_dup ("str2"));
-
- OBV_TruncatableTest::BaseValue_var ov5;
- desc = CORBA::string_dup
- ("A<-tB<-tC, B & C have nested value type, truncate C to A");
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 5: %s: "),
- ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
- pretest = fail;
- test->op1 ("case5", &v5, ov5.out (), desc.inout ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- VERIFY (! ACE_OS::strcmp (desc.in (),
- "case5: A<-tB<-tC, B & C have nested value type, truncate C to A"));
- VERIFY (v5.basic_data () == ov5->basic_data ());
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
- (pretest == fail) ?
- ACE_TEXT ("passed") : ACE_TEXT ("failed")));
-
- OBV_TruncatableTest::TValue4_var otv4;
- desc = CORBA::string_dup
- ("A<-tB<-tC, B & C have nested value type, truncate C to B");
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 6: %s: "),
- ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
- pretest = fail;
- test->op3 ("case6", &v5, otv4.out (), desc.inout ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- VERIFY (! ACE_OS::strcmp (desc.in (),
- "case6: A<-tB<-tC, B & C have nested value type, truncate C to B"));
- VERIFY (v5.basic_data () == otv4->basic_data ());
- VERIFY (v5.nv4 ()->data () == otv4->nv4 ()->data ());
- VERIFY (v5.data4 () == otv4->data4 ());
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
- (pretest == fail) ? ACE_TEXT ("passed") : ACE_TEXT ("failed")));
- }
-
- { //isolate the scope of objects to avoid using wrong values
- OBV_OBV_TruncatableTest::TValue6 iv;
- iv.basic_data (9);
-
- OBV_TruncatableTest::BaseValue_var ov;
-
- desc = CORBA::string_dup ("A<-tB, B has no data, truncate B to A");
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 7: %s: "),
- ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
- pretest = fail;
- test->op1 ("case7", &iv, ov.out (), desc.inout ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- VERIFY (! ACE_OS::strcmp (desc.in (),
- "case7: A<-tB, B has no data, truncate B to A"));
- VERIFY (iv.basic_data () == ov->basic_data ());
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
- (pretest == fail) ?
- ACE_TEXT ("passed") : ACE_TEXT ("failed")));
- }
-
- { //isolate the scope of objects to avoid using wrong values
- OBV_OBV_TruncatableTest::TValue1 v1;
- v1.basic_data (8);
- v1.data1 (88);
-
- OBV_OBV_TruncatableTest::TValue1 v4;
- v4.basic_data (9);
- v4.data1 (99);
-
- OBV_OBV_TruncatableTest::NestedValue nv;
- nv.data (2);
-
- OBV_OBV_TruncatableTest::TValue4 v2;
-
- v2.basic_data (7);
- v2.nv4 (&nv);
- v2.data4 (77);
-
- OBV_OBV_TruncatableTest::TValue4 v3;
- v3.basic_data (6);
- v3.nv4 (&nv);
- v3.data4 (66);
-
- desc = CORBA::string_dup
- ("multiple IN truncatable valuetype parameters"
- " and return truncatable valuetype");
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 8: %s: "),
- ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
- pretest = fail;
- OBV_TruncatableTest::BaseValue_var ov
- = test->op4 ("case8", &v1, 5, &v2, &v3, &v4, desc.inout ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- VERIFY (! ACE_OS::strcmp (desc.in (),
- "case8: multiple IN truncatable valuetype parameters"
- " and return truncatable valuetype"));
- CORBA::ULong total = 5 * (v1.basic_data () + v2.basic_data () +
- v3.basic_data () + v4.basic_data ());
- VERIFY (ov->basic_data () == total);
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
- (pretest == fail) ?
- ACE_TEXT ("passed") : ACE_TEXT ("failed")));
- }
-
- {
- OBV_OBV_TruncatableTest::Extra1 v1;
- v1.basic_data (9);
- v1.data1 (99);
- v1.edata1 (1234);
-
- OBV_TruncatableTest::TValue1_var ov1;
-
- desc = CORBA::string_dup ("A<-tB, truncate unknown B to A");
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 9: %s: "),
- ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
- pretest = fail;
-
- test->op2 (&v1, "case9", ov1.out (), desc.inout ()
- ACE_ENV_ARG_PARAMETER);
-
- ACE_TRY_CHECK;
-
- VERIFY (! ACE_OS::strcmp (desc.in (),
- "case9: A<-tB, truncate unknown B to A"));
- VERIFY (v1.basic_data () == ov1->basic_data ()
- && v1.data1() == ov1->data1());
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
- (pretest == fail) ?
- ACE_TEXT ("passed") : ACE_TEXT ("failed")));
- }
-
-
- {
- OBV_OBV_TruncatableTest::TValue1 v1;
- v1.basic_data (9);
- v1.data1 (99);
-
- OBV_TruncatableTest::TValue1_var ov1;
- CORBA::Any a;
- a <<= &v1;
- desc = CORBA::string_dup ("A<-tB, known truncatable via Any");
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 10: %s: "),
- ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
- pretest = fail;
-
- test->op5 (a, "case10", ov1.out (), desc.inout ()
- ACE_ENV_ARG_PARAMETER);
-
- ACE_TRY_CHECK;
-
- VERIFY (! ACE_OS::strcmp (desc.in (),
- "case10: A<-tB, known truncatable via Any"));
- VERIFY (v1.basic_data () == ov1->basic_data ()
- && v1.data1() == ov1->data1());
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
- (pretest == fail) ?
- ACE_TEXT ("passed") : ACE_TEXT ("failed")));
- }
-
- {
- OBV_OBV_TruncatableTest::Extra1 v1;
- v1.basic_data (9);
- v1.data1 (99);
- v1.edata1 (1234);
-
- OBV_TruncatableTest::TValue1_var ov1;
- CORBA::Any a;
- a <<= &v1;
- desc = CORBA::string_dup ("A<-tB, unknown truncatable via Any");
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT("Case 11: %s: "),
- ACE_TEXT_CHAR_TO_TCHAR(desc.in())));
- pretest = fail;
-
- test->op5 (a, "case11", ov1.out (), desc.inout ()
- ACE_ENV_ARG_PARAMETER);
-
- ACE_TRY_CHECK;
-
- VERIFY (! ACE_OS::strcmp (desc.in (),
- "case11: A<-tB, unknown truncatable via Any"));
- VERIFY (v1.basic_data () == ov1->basic_data ()
- && v1.data1() == ov1->data1());
- if (verbose)
- ACE_DEBUG ((LM_DEBUG,ACE_TEXT ("%s\n"),
- (pretest == fail) ?
- ACE_TEXT ("passed") : ACE_TEXT ("failed")));
- }
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) client - shutdown orb \n"));
-
-
- test->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (fail)
- {
- ACE_ERROR ((LM_ERROR, "(%P|%t) client: test failed \n"));
- return 1;
- }
- else
- ACE_DEBUG((LM_DEBUG, "(%P|%t) client: test passed \n"));
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}