diff options
Diffstat (limited to 'TAO/orbsvcs/tests/Event/Basic/Shutdown.cpp')
-rw-r--r-- | TAO/orbsvcs/tests/Event/Basic/Shutdown.cpp | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/TAO/orbsvcs/tests/Event/Basic/Shutdown.cpp b/TAO/orbsvcs/tests/Event/Basic/Shutdown.cpp new file mode 100644 index 00000000000..ea2c18a1743 --- /dev/null +++ b/TAO/orbsvcs/tests/Event/Basic/Shutdown.cpp @@ -0,0 +1,89 @@ +// $Id$ + +#include "Shutdown.h" +#include "Consumer.h" +#include "Supplier.h" + +ACE_RCSID(EC_Tests_Basic, Shutdown, "$Id$") + +int +main (int argc, char *argv []) +{ + EC_Shutdown driver; + return driver.run (argc, argv); +} + +// **************************************************************** + +EC_Shutdown::EC_Shutdown (void) + : consumer_disconnects_ (0), + supplier_disconnects_ (0) +{ +} + +void +EC_Shutdown::execute_test (ACE_ENV_SINGLE_ARG_DECL) +{ + if (this->verbose ()) + ACE_DEBUG ((LM_DEBUG, "EC_Shutdown (%P|%t) destroying EC\n")); + + this->destroy_ec (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + + if (this->verbose ()) + ACE_DEBUG ((LM_DEBUG, "EC_Shutdown (%P|%t) ec destroyed\n")); + + this->deactivate_ec (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + + if (this->verbose ()) + ACE_DEBUG ((LM_DEBUG, "EC_Shutdown (%P|%t) ec deactivated\n")); + + this->cleanup_ec (); + + if (this->verbose ()) + ACE_DEBUG ((LM_DEBUG, "EC_Shutdown (%P|%t) ec cleanup\n")); + + this->initialize_ec_impl (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + this->connect_consumers (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + this->connect_suppliers (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + if (this->verbose ()) + ACE_DEBUG ((LM_DEBUG, "EC_Shutdown (%P|%t) status reset\n")); + + // this->EC_Driver::execute_test (ACE_ENV_SINGLE_ARG_PARAMETER); +} + +void +EC_Shutdown::dump_results (void) +{ + if (this->consumer_disconnects_ != this->n_consumers_) + ACE_ERROR ((LM_ERROR, + "Unexpected number (%d) of consumers disconnected\n", + this->consumer_disconnects_)); + + if (this->supplier_disconnects_ != this->n_suppliers_) + ACE_ERROR ((LM_ERROR, + "Unexpected number (%d) of suppliers disconnected\n", + this->supplier_disconnects_)); +} + +void +EC_Shutdown::consumer_disconnect (void* cookie + ACE_ENV_ARG_DECL_NOT_USED) +{ + this->consumer_disconnects_++; + if (this->verbose ()) + ACE_DEBUG ((LM_DEBUG, "Consumer %x has been disconnected\n", cookie)); +} + +void +EC_Shutdown::supplier_disconnect (void* cookie + ACE_ENV_ARG_DECL_NOT_USED) +{ + this->supplier_disconnects_++; + if (this->verbose ()) + ACE_DEBUG ((LM_DEBUG, "Supplier %x has been disconnected\n", cookie)); +} |