diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-07-15 16:39:52 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-07-15 16:39:52 +0000 |
commit | 2325b338766316babe9c0343e378fa3a24c9f32b (patch) | |
tree | db208a2657302e9308ef1fb6157ce6059f1a65fb /TAO/tests/CDR/basic_types.cpp | |
parent | 9f29df04f390576fd4ff1c68d9a006ff543b46a5 (diff) | |
download | ATCD-2325b338766316babe9c0343e378fa3a24c9f32b.tar.gz |
This commit was manufactured by cvs2svn to create tag 'ACE-4_6_45'.ACE-4_6_45
Diffstat (limited to 'TAO/tests/CDR/basic_types.cpp')
-rw-r--r-- | TAO/tests/CDR/basic_types.cpp | 285 |
1 files changed, 0 insertions, 285 deletions
diff --git a/TAO/tests/CDR/basic_types.cpp b/TAO/tests/CDR/basic_types.cpp deleted file mode 100644 index b279cd8688c..00000000000 --- a/TAO/tests/CDR/basic_types.cpp +++ /dev/null @@ -1,285 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/tests/CDR -// -// = FILENAME -// basic_types.cpp -// -// = DESCRIPTION -// Test the basic funcionality of a CDR stream by encoding some -// basic types and then decoding them again. -// -// = AUTHORS -// Carlos O'Ryan -// -// ============================================================================ - -#include "ace/Get_Opt.h" -#include "tao/corba.h" - -ACE_RCSID(CDR, basic_types, "$Id$") - -static int n = 4096; -static int nloops = 100; - -struct CDR_Test_Types -{ - CDR_Test_Types (void); - - CORBA::Octet o; - CORBA::Short s; - CORBA::Long l; - const char* str; - CORBA::Double d; - CORBA::Any any; - - enum { - ARRAY_SIZE = 10 - }; - - CORBA::Short a[ARRAY_SIZE]; -}; - -CDR_Test_Types::CDR_Test_Types (void) - : o (1), s (2), l (4), - str ("abc"), d (8), - any (CORBA::_tc_short, new CORBA::Short (s), 1) -{ - for (int i = 0; i < CDR_Test_Types::ARRAY_SIZE; ++i) - { - a[i] = i; - } -} - -static int -test_put (TAO_OutputCDR &cdr, CDR_Test_Types &test_types) -{ - for (int i = 0; i < n; ++i) - { - CORBA::Environment env; - - if (cdr.write_octet (test_types.o) == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "write_octet[%d] failed\n", - i), - 1); - if (cdr.write_short (test_types.s) == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "write_short[%d] failed\n", - i), - 1); - if (cdr.write_octet (test_types.o) == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "write_octet-2[%d] failed\n", - i), - 1); - if (cdr.write_long (test_types.l) == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "write_long[%d] failed\n", - i), - 1); - if (cdr.write_long (test_types.l) == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "write_long-2[%d] failed\n", - i), - 1); -#if 0 - if (cdr.write_string (test_types.str) == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "write_string[%d] failed\n", - i), - 1); -#endif - if (cdr.encode (CORBA::_tc_any, &test_types.any, 0, env) != - CORBA::TypeCode::TRAVERSE_CONTINUE) - ACE_ERROR_RETURN ((LM_ERROR, - "encode Any [%d] failed\n", - i), - 1); - } - - return 0; -} - -static int -test_get (TAO_InputCDR &cdr, const CDR_Test_Types &test_types) -{ - CORBA::Octet xo; - CORBA::Short xs; - CORBA::Long xl; - CORBA::Any any; - - CORBA::Environment env; - - for (int i = 0; i < n; ++i) - { - if (cdr.read_octet (xo) == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "read_octet[%d] failed\n", - i), - 1); - if (xo != test_types.o) - ACE_ERROR_RETURN ((LM_ERROR, - "octet[%d] differs\n", - i), - 1); - if (cdr.read_short (xs) == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "read_short[%d] failed\n", - i), 1); - if (xs != test_types.s) - ACE_ERROR_RETURN ((LM_ERROR, - "short[%d] differs\n", - i), - 1); - if (cdr.read_octet (xo) == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "read_octet-2[%d] failed\n", - i), - 1); - if (xo != test_types.o) - ACE_ERROR_RETURN ((LM_ERROR, - "octet-2[%d] differs\n", - i), - 1); - if (cdr.read_long (xl) == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "read_long[%d] failed\n", - i), - 1); - if (xl != test_types.l) - ACE_ERROR_RETURN ((LM_ERROR, - "long[%d] differs\n", - i), - 1); - if (cdr.read_long (xl) == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "read_long-2[%d] failed\n", - i), - 1); - if (xl != test_types.l) - ACE_ERROR_RETURN ((LM_ERROR, - "long-2[%d] differs\n", - i), - 1); -#if 0 - CORBA::String xstr; - if (cdr.read_string (xstr) == 0) - ACE_ERROR_RETURN ((LM_ERROR, - "read_string2[%d] failed\n", - i), - 1); - if (ACE_OS::strcmp (xstr, test_types.str) != 0) - ACE_ERROR_RETURN ((LM_ERROR, - "string[%d] differs\n", - i), - 1); - CORBA::string_free (xstr); -#endif - if (cdr.decode (CORBA::_tc_any, &any, 0, env) == - CORBA::TypeCode::TRAVERSE_CONTINUE) - { - CORBA::Short s; - if (any >>= s) - { - if (test_types.s != s) - ACE_ERROR_RETURN ((LM_ERROR, - "Any short mismatch [%d != %d in loop %d]\n", - test_types.s, - s, - i), - 1); - } - else - ACE_ERROR_RETURN ((LM_ERROR, - "Any did not receive a short [%d] \n", - i), - 1); - } - else - ACE_ERROR_RETURN ((LM_ERROR, - "Any decode failed [%d] \n", - i), - 1); - } - - return 0; -} - -int -main (int argc, char *argv[]) -{ - ACE_TRY_NEW_ENV - { - CORBA::ORB_var orb = CORBA::ORB_init (argc, - argv, - 0, - ACE_TRY_ENV); - ACE_TRY_CHECK; - - ACE_Get_Opt get_opt (argc, argv, "dn:l:"); - int opt; - - while ((opt = get_opt ()) != EOF) - { - switch (opt) - { - case 'd': - TAO_debug_level++; - break; - case 'n': - n = ACE_OS::atoi (get_opt.optarg); - break; - case 'l': - nloops = ACE_OS::atoi (get_opt.optarg); - break; - case '?': - default: - ACE_DEBUG ((LM_DEBUG, - "Usage: %s " - "-d debug" - "-n <num> " - "-l <loops> " - "\n", - argv[0])); - return -1; - } - } - - for (int i = 0; i < nloops; ++i) - { - TAO_OutputCDR output; - CDR_Test_Types test_types; - - if (test_put (output, test_types) != 0) - { - return 1; - } - TAO_InputCDR input (output); - if (TAO_debug_level > 0) - { - ACE_DEBUG ((LM_DEBUG, "Output CDR: \n")); - ACE_HEX_DUMP ((LM_DEBUG, input.rd_ptr(), 64)); - ACE_DEBUG ((LM_DEBUG, "Input CDR: \n")); - ACE_HEX_DUMP ((LM_DEBUG, input.rd_ptr(), 64)); - } - - if (test_get (input, test_types) != 0) - { - return 1; - } - } - - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Basic_Types"); - return 1; - } - ACE_ENDTRY; - - return 0; -} |