summaryrefslogtreecommitdiff
path: root/TAO/tests/Param_Test/client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/Param_Test/client.cpp')
-rw-r--r--TAO/tests/Param_Test/client.cpp245
1 files changed, 0 insertions, 245 deletions
diff --git a/TAO/tests/Param_Test/client.cpp b/TAO/tests/Param_Test/client.cpp
deleted file mode 100644
index eb16cd274bc..00000000000
--- a/TAO/tests/Param_Test/client.cpp
+++ /dev/null
@@ -1,245 +0,0 @@
-// $Id:
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO/tests/Param_Test
-//
-// = FILENAME
-// client.cpp
-//
-// = DESCRIPTION
-// This file contains the implementation of the client-side of the
-// Param_Test application.
-//
-// = AUTHORS
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (CLIENT_CPP)
-#define CLIENT_CPP
-
-#include "options.h"
-#include "results.h"
-#include "client.h"
-
-// Constructor.p
-template <class T>
-Param_Test_Client<T>::Param_Test_Client (CORBA::ORB_ptr orb,
- Param_Test_ptr objref,
- T *t)
- : orb_ (orb),
- param_test_ (objref),
- test_object_ (t)
-{
-}
-
-// destructor
-template <class T>
-Param_Test_Client<T>::~Param_Test_Client (void)
-{
- CORBA::release (this->orb_);
- delete this->test_object_;
-}
-
-// All the individual tests
-template <class T> int
-Param_Test_Client<T>::run_sii_test (void)
-{
- CORBA::ULong i; // loop index
- CORBA::Environment env; // to track errors
- Options *opt = OPTIONS::instance (); // get the options
- const char *opname = this->test_object_->opname (); // operation
-
- // initialize call count and error count
- this->results_.call_count (0);
- this->results_.error_count (0);
- this->results_.iterations (opt->loop_count ());
-
- // initialize parameters for the test
- if (this->test_object_->init_parameters (this->param_test_, env) == -1)
- {
- ACE_ERROR ((LM_ERROR,
- "(%N:%l) client.cpp - run_sii_test:"
- "init_parameters failed for opname - %s",
- opname));
- return -1;
- }
-
- // Make the calls in a loop.
- for (i = 0; i < opt->loop_count (); i++)
- {
- this->results_.call_count (this->results_.call_count () + 1);
- if (opt->debug ())
- {
- ACE_DEBUG ((LM_DEBUG, "\n****** Before call values *****\n"));
- // this->test_object_->print_values ();
- }
-
- // start the timing
- this->results_.start_timer ();
-
- // make the call
- if (this->test_object_->run_sii_test (this->param_test_, env) == -1)
- {
- this->results_.error_count (this->results_.error_count () + 1);
- env.print_exception (opname);
- ACE_ERROR ((LM_ERROR,
- "(%N:%l) client.cpp - run_sii_test:"
- "run_sii_test exception in iteration %d",
- i));
- continue;
- }
- // stop the timer.
- this->results_.stop_timer ();
-
- // now check if the values returned are as expected
- if (opt->debug ())
- {
- ACE_DEBUG ((LM_DEBUG, "\n****** After call values *****\n"));
- this->test_object_->print_values ();
- }
-
- if (!this->test_object_->check_validity ())
- {
- this->results_.error_count (this->results_.error_count () + 1);
- ACE_ERROR ((LM_ERROR,
- "(%N:%l) client.cpp - run_sii_test: "
- "Invalid results in iteration %d - ",
- i));
- continue;
- }
- // reset parameters for the test
- if (this->test_object_->reset_parameters () == -1)
- {
- ACE_ERROR ((LM_ERROR,
- "(%N:%l) client.cpp - run_dii_test:"
- "init_parameters failed for opname - %s",
- opname));
- return -1;
- }
- }
-
- // print statistics
- this->results_.print_stats (this->test_object_->opname ());
- return this->results_.error_count ()? -1:0;
-}
-
-// use DII
-template <class T> int
-Param_Test_Client<T>::run_dii_test (void)
-{
- CORBA::ULong i; // loop index
- CORBA::Request_ptr req; // DII request
- const char *opname = this->test_object_->opname ();
- Options *opt = OPTIONS::instance ();
- CORBA::Environment env; // environment
- CORBA::NVList_ptr nvlist; // argument list for DII parameters
- CORBA::NVList_ptr retval; // to access the NamedValue that stores the result
-
- // initialize call count and error count
- this->results_.call_count (0);
- this->results_.error_count (0);
- this->results_.iterations (opt->loop_count ());
-
- // initialize parameters for the test
- if (this->test_object_->init_parameters (this->param_test_, env) == -1)
- {
- ACE_ERROR ((LM_ERROR,
- "(%N:%l) client.cpp - run_dii_test:"
- "init_parameters failed for opname - %s",
- opname));
- return -1;
- }
-
- // Make the calls in a loop.
- for (i = 0; i < opt->loop_count (); i++)
- {
- this->results_.call_count (this->results_.call_count () + 1);
-
- // start the timing. We measure the entire overhead of DII, including the
- // time required to create and populate the NVList
- this->results_.start_timer ();
-
- // first create the argument list and populate it
- this->orb_->create_list (3, nvlist);
- this->orb_->create_list (1, retval);
-
- // add arguments and typecode for return valueto the NVList
- if (this->test_object_->add_args (nvlist, retval, env) == -1)
- {
- this->results_.error_count (this->results_.error_count () + 1);
- env.print_exception (opname);
- ACE_ERROR ((LM_ERROR,
- "(%N:%l) client.cpp - "
- "Failed to add args in iteration %d",
- i));
- continue;
- }
-
- // create the request
- this->param_test_->_create_request (opname,
- nvlist,
- retval->item (0, env),
- req,
- 0, //CORBA::OUT_LIST_MEMORY,
- env);
- // the OUT_LIST_MEMORY is to be used when the ORB assumes that we will
- // provide the top-level storage. With 0, the returned values for ret,
- // inout, and out parameters are all owned by the ORB and hence we must
- // not free them explicitly
-
-
- if (opt->debug ())
- {
- ACE_DEBUG ((LM_DEBUG, "\n****** Before call values *****\n"));
- // this->test_object_->print_values ();
- }
-
- // Make the invocation, verify the result.
- req->invoke ();
- if (req->env ()->exception () != 0)
- {
- this->results_.error_count (this->results_.error_count () + 1);
- req->env ()->print_exception (opname);
- CORBA::release (req);
- continue;
- }
-
- if (opt->debug ())
- {
- ACE_DEBUG ((LM_DEBUG, "\n****** After call values *****\n"));
- this->test_object_->print_values ();
- }
- // now check if the values returned are as expected
- if (!this->test_object_->check_validity (req))
- {
- this->results_.error_count (this->results_.error_count () + 1);
- ACE_ERROR ((LM_ERROR,
- "(%N:%l) client.cpp - "
- "Invalid results in run_dii_test in iteration %d",
- i));
- CORBA::release (req);
- continue;
- }
- // release the request
- CORBA::release (req);
-
- // stop the this->results_.
- this->results_.stop_timer ();
-
- // reset parameters for the test
- this->test_object_->reset_parameters ();
-
- } // for loop
-
- // print statistics
- this->results_.print_stats (opname);
- return this->results_.error_count ()? -1:0;
-
- return 0;
-}
-
-
-#endif /* CLIENT_CPP */