summaryrefslogtreecommitdiff
path: root/TAO/interop-tests
diff options
context:
space:
mode:
authordai_y <dai_y@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-10-28 23:29:32 +0000
committerdai_y <dai_y@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-10-28 23:29:32 +0000
commitf9726dff2beb1b4585ffc62644e38786f35595fe (patch)
treee8ef664382edb57d15952cbfce1883430317404a /TAO/interop-tests
parentf1949efed011ef43de0879bbf009e5e9df35f379 (diff)
downloadATCD-f9726dff2beb1b4585ffc62644e38786f35595fe.tar.gz
Wed Oct 28 23:27:02 UTC 2009 Yan Dai <dai_y@ociweb.com>
Diffstat (limited to 'TAO/interop-tests')
-rw-r--r--TAO/interop-tests/wchar/Client.java13
-rw-r--r--TAO/interop-tests/wchar/interop_wchar.mpc2
-rw-r--r--TAO/interop-tests/wchar/server.cpp21
3 files changed, 24 insertions, 12 deletions
diff --git a/TAO/interop-tests/wchar/Client.java b/TAO/interop-tests/wchar/Client.java
index 73bb469660e..84a3b2c2971 100644
--- a/TAO/interop-tests/wchar/Client.java
+++ b/TAO/interop-tests/wchar/Client.java
@@ -151,9 +151,17 @@ public class Client
}
case 0x00000800: // ANY_WSTRING_ECHO:
{
+ char[] h = {'\u05D1', '\u05D2', '\u05D3'};
+ String test = "\u05D1\u05D2\u05D3";
if (verbose)
- System.out.println (" not yet implemented");
- return true;
+ System.out.println ("Test string = " + test);
+ Any a = orb.create_any();
+ a.insert_string (test);
+ a = server.any_echo (a);
+ String echo = a.extract_string ();
+ if (verbose)
+ System.out.println ("Echo string = " + echo);
+ return test.equals(echo);
}
case 0x00001000: // WSTRUCTSEQ_FROM_SERVER
{
@@ -182,7 +190,6 @@ public class Client
{
return server.wstring_to_server ("", (short)-1);
}
-
default:
{
if (verbose)
diff --git a/TAO/interop-tests/wchar/interop_wchar.mpc b/TAO/interop-tests/wchar/interop_wchar.mpc
index 1e82e0edc94..e256622242d 100644
--- a/TAO/interop-tests/wchar/interop_wchar.mpc
+++ b/TAO/interop-tests/wchar/interop_wchar.mpc
@@ -8,7 +8,7 @@ project(*IDL): taoidldefaults, anytypecode {
custom_only = 1
}
-project(*Server): taoserver {
+project(*Server): taoserver, negotiate_codesets {
after += *IDL
Source_Files {
interop_wchar_i.cpp
diff --git a/TAO/interop-tests/wchar/server.cpp b/TAO/interop-tests/wchar/server.cpp
index cb325b47325..e0830b030b1 100644
--- a/TAO/interop-tests/wchar/server.cpp
+++ b/TAO/interop-tests/wchar/server.cpp
@@ -19,6 +19,9 @@
#include "interop_wchar_i.h"
#include "ace/Get_Opt.h"
#include "ace/Argv_Type_Converter.h"
+#if defined (TAO_EXPLICIT_NEGOTIATE_CODESETS)
+#include "tao/Codeset/Codeset.h"
+#endif /* TAO_EXPLICIT_NEGOTIATE_CODESETS */
const ACE_TCHAR *ior_output_file = ACE_TEXT("IOR");
int verbose = 0;
@@ -58,13 +61,6 @@ ACE_TMAIN( int argc, ACE_TCHAR *argv[] )
{
ACE_Argv_Type_Converter command_line(argc, argv);
- if (parse_args(command_line.get_argc(), command_line.get_TCHAR_argv()))
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("failed to parse args")),
- 1);
- }
-
#if (!defined ACE_HAS_WCHAR) && (!defined ACE_HAS_XPG4_MULTIBYTE_CHAR)
// the run_test script looks for the ior file. By touching it here, the
// script can run at full speed, rather than timing out waiting for a
@@ -83,7 +79,16 @@ ACE_TMAIN( int argc, ACE_TCHAR *argv[] )
try
{
// Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init( command_line.get_argc(), command_line.get_ASCII_argv() );
+ CORBA::ORB_var orb =
+ CORBA::ORB_init( command_line.get_argc(),
+ command_line.get_ASCII_argv() );
+ if (parse_args(command_line.get_argc(),
+ command_line.get_TCHAR_argv()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("failed to parse args")),
+ 1);
+ }
//Get reference to Root POA
CORBA::Object_var obj =