diff options
author | dbudko <dbudko@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-11-18 13:00:45 +0000 |
---|---|---|
committer | dbudko <dbudko@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-11-18 13:00:45 +0000 |
commit | eb7fca8b20d0b1fbd1096788568cfb858630f65d (patch) | |
tree | afaf955e01118cd59e07cc10479ed80b8e09d084 /TAO/DevGuideExamples | |
parent | 7f064ce91e9c759204b504b923d021c81f3dc9c7 (diff) | |
download | ATCD-eb7fca8b20d0b1fbd1096788568cfb858630f65d.tar.gz |
Wed Nov 18 12:58:16 UTC 2009 Denis Budko <denis.budko@remedy.nl>
* orbsvcs/tests/Bug_2925_Regression/run_test_ipv6.pl:
* orbsvcs/tests/Bug_2925_Regression/run_test.pl:
* orbsvcs/tests/Security/Secure_Invocation/run_test.pl:
* orbsvcs/tests/Security/Bug_2908_Regression/MessengerServer.cpp:
* orbsvcs/tests/Security/Bug_2908_Regression/MessengerClient.cpp:
* orbsvcs/tests/Security/Bug_2908_Regression/run_test.pl:
* orbsvcs/tests/Security/BiDirectional/run_test.pl:
* orbsvcs/tests/Security/Big_Request/run_test.pl:
* orbsvcs/tests/HTIOP/BiDirectional/run_test.pl:
* orbsvcs/tests/Property/run_test.pl:
* orbsvcs/tests/Bug_2316_Regression/client.cpp:
* orbsvcs/tests/Bug_2316_Regression/server.cpp:
* orbsvcs/tests/Bug_2316_Regression/run_test.pl:
* orbsvcs/tests/Bug_2615_Regression/client.cpp:
* orbsvcs/tests/Bug_2615_Regression/server.cpp:
* orbsvcs/tests/Bug_2615_Regression/run_test.pl:
* orbsvcs/tests/Bug_3216_Regression/run_test.pl:
* orbsvcs/tests/Bug_2709_Regression/client.cpp:
* orbsvcs/tests/Bug_2709_Regression/server.cpp:
* orbsvcs/tests/Bug_2709_Regression/run_test.pl:
* orbsvcs/tests/IOR_MCast/run_test_ipv6.pl:
* orbsvcs/tests/Bug_3215_Regression/run_test.pl:
* orbsvcs/tests/Bug_2287_Regression/run_test.pl:
* DevGuideExamples/SmartProxies/MessengerServer.cpp:
* DevGuideExamples/SmartProxies/LoggerServer.cpp:
* DevGuideExamples/SmartProxies/MessengerClient.cpp:
* DevGuideExamples/SmartProxies/run_test.pl:
* performance-tests/Latency/DSI/run_test.pl:
* performance-tests/Latency/Deferred/run_test.pl:
* performance-tests/Latency/DII/run_test.pl:
* performance-tests/Latency/AMI/run_test.pl:
* performance-tests/Throughput/run_test.pl:
* tests/AMI_Buffering/run_message_count.pl:
* tests/Bug_1495_Regression/run_test_complex.pl:
* tests/Bug_1495_Regression/run_test.pl:
* tests/Crashed_Callback/run_test.pl:
* tests/BiDirectional/run_test_bug3282.pl:
* tests/Bug_1020_Basic_Regression/run_test.pl:
* tests/CallbackTest/run_test_ipv6.pl:
* tests/CallbackTest/run_test_mixed_ip.pl:
* tests/Bug_2289_Regression/run_test.pl:
* tests/DIOP/run_test_ipv6.pl:
* tests/DIOP/run_test.pl:
* tests/NestedUpcall/Triangle_Test/run_test.pl:
* tests/MT_Timeout/run_test.pl:
* tests/Single_Read/server.cpp:
* tests/Single_Read/test_i.cpp:
* tests/Single_Read/run_test.pl:
* tests/Single_Read/test_i.h:
* examples/Logging/run_test.pl:
* examples/Simple/time-date/run_test.pl:
* examples/PluggableUDP/tests/Performance/run_test_ipv6.pl:
* examples/PluggableUDP/tests/Performance/run_test.pl:
Tests are converted to use new test framework and added to fuzz build.
Diffstat (limited to 'TAO/DevGuideExamples')
-rw-r--r-- | TAO/DevGuideExamples/SmartProxies/LoggerServer.cpp | 37 | ||||
-rw-r--r-- | TAO/DevGuideExamples/SmartProxies/MessengerClient.cpp | 36 | ||||
-rw-r--r-- | TAO/DevGuideExamples/SmartProxies/MessengerServer.cpp | 37 | ||||
-rwxr-xr-x | TAO/DevGuideExamples/SmartProxies/run_test.pl | 123 |
4 files changed, 191 insertions, 42 deletions
diff --git a/TAO/DevGuideExamples/SmartProxies/LoggerServer.cpp b/TAO/DevGuideExamples/SmartProxies/LoggerServer.cpp index f3f818cc430..d29453ef576 100644 --- a/TAO/DevGuideExamples/SmartProxies/LoggerServer.cpp +++ b/TAO/DevGuideExamples/SmartProxies/LoggerServer.cpp @@ -5,6 +5,36 @@ #include "Logger_i.h" #include <iostream> #include <fstream> +#include "ace/Get_Opt.h" + +const ACE_TCHAR *ior_output_file = ACE_TEXT ("Logger.ior"); + +int +parse_args (int argc, ACE_TCHAR *argv[]) +{ + ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("o:")); + int c; + + while ((c = get_opts ()) != -1) + switch (c) + { + case 'o': + ior_output_file = get_opts.opt_arg (); + break; + + case '?': + default: + ACE_ERROR_RETURN ((LM_ERROR, + "usage: %s " + "-o <iorfile>" + "\n", + argv [0]), + -1); + } + // Indicates sucessful parsing of the command line + return 0; +} + int ACE_TMAIN (int argc, ACE_TCHAR *argv []) { @@ -12,6 +42,9 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv []) // Initialize the ORB. CORBA::ORB_var orb = CORBA::ORB_init(argc, argv); + if (parse_args (argc, argv) != 0) + return 1; + // Get a reference to Root POA. CORBA::Object_var obj = orb->resolve_initial_references("RootPOA"); PortableServer::POA_var poa = PortableServer::POA::_narrow(obj.in()); @@ -28,10 +61,10 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv []) PortableServer::ObjectId_var oid = poa->activate_object(logger_servant.in()); CORBA::Object_var logger_obj = poa->id_to_reference(oid.in()); CORBA::String_var str = orb->object_to_string(logger_obj.in()); - std::ofstream iorFile("Logger.ior"); + std::ofstream iorFile(ACE_TEXT_ALWAYS_CHAR(ior_output_file)); iorFile << str.in() << std::endl; iorFile.close(); - std::cout << "IOR written to file Logger.ior" << std::endl; + std::cout << "IOR written to file " << ACE_TEXT_ALWAYS_CHAR(ior_output_file) << std::endl; // Accept requests from clients. orb->run(); diff --git a/TAO/DevGuideExamples/SmartProxies/MessengerClient.cpp b/TAO/DevGuideExamples/SmartProxies/MessengerClient.cpp index d45f36fc96b..add68848b60 100644 --- a/TAO/DevGuideExamples/SmartProxies/MessengerClient.cpp +++ b/TAO/DevGuideExamples/SmartProxies/MessengerClient.cpp @@ -2,14 +2,46 @@ #include "MessengerC.h" #include "Smart_Messenger_Proxy.h" - #include <iostream> +#include "ace/Get_Opt.h" + +const ACE_TCHAR *ior = ACE_TEXT ("file://Messenger.ior"); + +int +parse_args (int argc, ACE_TCHAR *argv[]) +{ + ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("k:")); + int c; + + while ((c = get_opts ()) != -1) + switch (c) + { + case 'k': + ior = get_opts.opt_arg (); + break; + + case '?': + default: + ACE_ERROR_RETURN ((LM_ERROR, + "usage: %s " + "-k <ior> " + "\n", + argv [0]), + -1); + } + // Indicates successful parsing of the command line + return 0; +} + int ACE_TMAIN(int argc, ACE_TCHAR * argv[]) { try { // Initialize the ORB CORBA::ORB_var orb = CORBA::ORB_init(argc, argv); + if (parse_args (argc, argv) != 0) + return 1; + // Create a smart proxy factory. It will register itself with the // smart proxy factory adapter so it can be used to create // Messenger proxies. It must be created on the heap, but is @@ -17,7 +49,7 @@ int ACE_TMAIN(int argc, ACE_TCHAR * argv[]) new Smart_Messenger_Proxy_Factory(orb.in()); // Convert the contents of the Messenger.ior file to an object reference. - CORBA::Object_var obj = orb->string_to_object("file://Messenger.ior"); + CORBA::Object_var obj = orb->string_to_object(ior); if (CORBA::is_nil(obj.in())) { std::cerr << "Nil Messenger reference" << std::endl; return 1; diff --git a/TAO/DevGuideExamples/SmartProxies/MessengerServer.cpp b/TAO/DevGuideExamples/SmartProxies/MessengerServer.cpp index b332e2ca65a..5e0fc0b2cbb 100644 --- a/TAO/DevGuideExamples/SmartProxies/MessengerServer.cpp +++ b/TAO/DevGuideExamples/SmartProxies/MessengerServer.cpp @@ -3,6 +3,36 @@ #include "Messenger_i.h" #include <iostream> #include <fstream> +#include "ace/Get_Opt.h" + +const ACE_TCHAR *ior_output_file = ACE_TEXT ("Messenger.ior"); + +int +parse_args (int argc, ACE_TCHAR *argv[]) +{ + ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("o:")); + int c; + + while ((c = get_opts ()) != -1) + switch (c) + { + case 'o': + ior_output_file = get_opts.opt_arg (); + break; + + case '?': + default: + ACE_ERROR_RETURN ((LM_ERROR, + "usage: %s " + "-o <iorfile>" + "\n", + argv [0]), + -1); + } + // Indicates sucessful parsing of the command line + return 0; +} + int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) { @@ -10,6 +40,9 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) // Initialize orb CORBA::ORB_var orb = CORBA::ORB_init( argc, argv ); + if (parse_args (argc, argv) != 0) + return 1; + //Get reference to Root POA CORBA::Object_var obj = orb->resolve_initial_references( "RootPOA" ); PortableServer::POA_var poa = PortableServer::POA::_narrow( obj.in() ); @@ -26,10 +59,10 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) poa->activate_object( messenger_servant.in() ); CORBA::Object_var messenger_obj = poa->id_to_reference( oid.in() ); CORBA::String_var str = orb->object_to_string( messenger_obj.in() ); - std::ofstream iorFile( "Messenger.ior" ); + std::ofstream iorFile(ACE_TEXT_ALWAYS_CHAR(ior_output_file)); iorFile << str.in() << std::endl; iorFile.close(); - std::cout << "IOR written to file Messenger.ior" << std::endl; + std::cout << "IOR written to file " << ACE_TEXT_ALWAYS_CHAR(ior_output_file) << std::endl; // Accept requests orb->run(); diff --git a/TAO/DevGuideExamples/SmartProxies/run_test.pl b/TAO/DevGuideExamples/SmartProxies/run_test.pl index 43f207bf703..e83e2e21d0d 100755 --- a/TAO/DevGuideExamples/SmartProxies/run_test.pl +++ b/TAO/DevGuideExamples/SmartProxies/run_test.pl @@ -1,54 +1,105 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + # $Id$ +# -*- perl -*- -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' - & eval 'exec perl -S $0 $argv:q' - if 0; +use lib "$ENV{ACE_ROOT}/bin"; +use PerlACE::TestTarget; + +$status = 0; +$debug_level = '0'; + +foreach $i (@ARGV) { + if ($i eq '-debug') { + $debug_level = '10'; + } +} + +my $server = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n"; +my $client = PerlACE::TestTarget::create_target (2) || die "Create target 2 failed\n"; +my $logger = PerlACE::TestTarget::create_target (3) || die "Create target 3 failed\n"; + +my $iorbase = "Messenger.ior"; +my $iorlogger = "Logger.ior"; + +my $server_iorfile_base = $server->LocalFile ($iorbase); +my $client_iorfile_base = $client->LocalFile ($iorbase); +my $logger_iorfile_logger = $logger->LocalFile ($iorlogger); +$server->DeleteFile($iorbase); +$client->DeleteFile($iorbase); +$logger->DeleteFile($iorlogger); + +$SV = $server->CreateProcess ("MessengerServer", "-ORBdebuglevel $debug_level ". + "-o $server_iorfile_base"); +$CL = $client->CreateProcess ("MessengerClient", "-k file://$client_iorfile_base"); +$LR = $logger->CreateProcess ("LoggerServer", "-ORBdebuglevel $debug_level ". + "-o $logger_iorfile_logger"); +$server_status = $SV->Spawn (); + +if ($server_status != 0) { + print STDERR "ERROR: server returned $server_status\n"; + exit 1; +} -use Env (ACE_ROOT); -use lib "$ACE_ROOT/bin"; -use PerlACE::Run_Test; +if ($server->WaitForFileTimed ($iorbase, + $server->ProcessStartWaitInterval()) == -1) { + print STDERR "ERROR: cannot find file <$server_iorfile_base>\n"; + $SV->Kill (); $SV->TimedWait (1); + exit 1; +} +if ($server->GetFile ($iorbase) == -1) { + print STDERR "ERROR: cannot retrieve file <$server_iorfile_base>\n"; + $SV->Kill (); $SV->TimedWait (1); + exit 1; +} -$M_ior = "Messenger.ior"; -$L_ior = "Logger.ior"; +if ($client->PutFile ($iorbase) == -1) { + print STDERR "ERROR: cannot set file <$client_iorfile_base>\n"; + $SV->Kill (); $SV->TimedWait (1); + exit 1; +} -unlink $M_ior; -unlink $L_ior; +$logger_status = $LR->Spawn (); -# start MessengerServer -$S = new PerlACE::Process("MessengerServer"); -$S->Spawn(); -if (PerlACE::waitforfile_timed ($M_ior, $PerlACE::wait_interval_for_process_creation) == -1) { - print STDERR "ERROR: cannot find file $M_ior\n"; - $S->Kill(); +if ($logger_status != 0) { + print STDERR "ERROR: logger returned $logger_status\n"; exit 1; } -# start LoggerServer -$L = new PerlACE::Process("LoggerServer"); -$L->Spawn(); -if (PerlACE::waitforfile_timed ($L_ior, $PerlACE::wait_interval_for_process_creation) == -1) { - print STDERR "ERROR: cannot find file $L_ior\n"; - $L->Kill(); - $S->Kill(); +if ($logger->WaitForFileTimed ($iorlogger, + $logger->ProcessStartWaitInterval()) == -1) { + print STDERR "ERROR: cannot find file <$logger_iorfile_logger>\n"; + $LR->Kill (); $LR->TimedWait (1); + $SV->Kill (); $SV->TimedWait (1); exit 1; } - -# start MessengerClient -$C = new PerlACE::Process("MessengerClient"); -if ($C->SpawnWaitKill(20) != 0) { - $S->Kill(); - $L->Kill(); - exit (1); + +$client_status = $CL->SpawnWaitKill ($client->ProcessStartWaitInterval()); + +if ($client_status != 0) { + print STDERR "ERROR: client returned $client_status\n"; + $status = 1; } -# clean-up -$S->Kill(); -$L->Kill(); -unlink $M_ior; -unlink $L_ior; +$server_status = $SV->Kill (); -exit 0; +if ($server_status != 0) { + print STDERR "ERROR: server returned $server_status\n"; + $status = 1; +} + +$logger_status = $LR->Kill (); +if ($logger_status != 0) { + print STDERR "ERROR: logger returned $logger_status\n"; + $status = 1; +} +$server->DeleteFile($iorbase); +$client->DeleteFile($iorbase); +$logger->DeleteFile($iorlogger); +exit $status; |