diff options
Diffstat (limited to 'TAO/orbsvcs/tests/Concurrency/CC_tests.cpp')
-rw-r--r-- | TAO/orbsvcs/tests/Concurrency/CC_tests.cpp | 373 |
1 files changed, 0 insertions, 373 deletions
diff --git a/TAO/orbsvcs/tests/Concurrency/CC_tests.cpp b/TAO/orbsvcs/tests/Concurrency/CC_tests.cpp deleted file mode 100644 index d0319efdd0b..00000000000 --- a/TAO/orbsvcs/tests/Concurrency/CC_tests.cpp +++ /dev/null @@ -1,373 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/tests/Concurrency -// -// = FILENAME -// CC_tests.h -// -// = DESCRIPTION -// This class implements a number of test objects to test the -// concurrency service. -// -// = AUTHORS -// Torben Worm <tworm@cs.wustl.edu> -// -// ============================================================================ - -#include "CC_tests.h" - -ACE_RCSID(Concurrency, CC_tests, "$Id$") - -CC_Test::CC_Test (CC_naming_service *ns) - : result (CC_FAIL), - naming_service_ (ns) -{ -} - -CC_Test::~CC_Test (void) -{ -} - -CosConcurrencyControl::LockSet_ptr -CC_Test::create_lock_set (void) -{ - // Create the lock set and return an obj ref corresponding to the - // key. - CosConcurrencyControl::LockSet_ptr lock_set(0); - - TAO_TRY - { - lock_set = - this->naming_service_->get_lock_set_factory ()->create (TAO_TRY_ENV); - TAO_CHECK_ENV; - - if (CORBA::is_nil (lock_set)) - ACE_ERROR_RETURN ((LM_ERROR, - "null lock set objref returned by factory\n"), - 0); - } - TAO_CATCHANY - { - TAO_TRY_ENV.print_exception ("CC_Client::create_lock_set"); - return 0; - } - TAO_ENDTRY; - return lock_set; -} - -char * -CC_Test::get_lock_mode_name (CosConcurrencyControl::lock_mode mode) -{ - if (mode==CosConcurrencyControl::read) - return "read"; - - if (mode==CosConcurrencyControl::write) - return "write"; - - if (mode==CosConcurrencyControl::upgrade) - return "upgrade"; - - if (mode==CosConcurrencyControl::intention_read) - return "intension_read"; - - if (mode==CosConcurrencyControl::intention_write) - return "intension_write"; - - return "unknown lock mode"; -} - -// ================================ -// Here the tests start. - -Test_Single_Lock_With_Mode::Test_Single_Lock_With_Mode (CC_naming_service *naming_service, - CosConcurrencyControl::lock_mode mode) - : CC_Test (naming_service), - mode_ (mode) -{ -} - -Test_Single_Lock_With_Mode::~Test_Single_Lock_With_Mode (void) -{ -} - -int -Test_Single_Lock_With_Mode::run (int times_to_run) -{ - CORBA::Boolean lock_not_held; - - CosConcurrencyControl::LockSet_ptr cc_lock_set_ = create_lock_set (); - - TAO_TRY - { - cc_lock_set_->lock (mode_, TAO_TRY_ENV); - TAO_CHECK_ENV; - ACE_DEBUG ((LM_DEBUG, - "%s lock set\n", - get_lock_mode_name (mode_))); - - lock_not_held = cc_lock_set_->try_lock (mode_, - TAO_TRY_ENV); - TAO_CHECK_ENV; - - if (lock_not_held) - { - ACE_DEBUG ((LM_DEBUG, - "%s lock not held\n", - get_lock_mode_name (mode_))); - return CC_FAIL; - } - else - ACE_DEBUG ((LM_DEBUG, - "%s lock held\n", - get_lock_mode_name (mode_))); - - cc_lock_set_->unlock (mode_, - TAO_TRY_ENV); - ACE_DEBUG ((LM_DEBUG, - "%s lock released\n", - get_lock_mode_name (mode_))); - - lock_not_held = cc_lock_set_->try_lock (mode_, - TAO_TRY_ENV); - TAO_CHECK_ENV; - - if (lock_not_held) - ACE_DEBUG ((LM_DEBUG, - "%s lock not held\n", - get_lock_mode_name (mode_))); - else - { - ACE_DEBUG ((LM_DEBUG, - "%s lock held\n", - get_lock_mode_name (mode_))); - return CC_FAIL; - } - - } - TAO_CATCHANY - { - TAO_TRY_ENV.print_exception ("Test_Single_Lock_With_Mode::run"); - return CC_FAIL; - } - TAO_ENDTRY; - - CORBA::release (cc_lock_set_); - - return CC_SUCCESS; -} - -// ================================ - -Test_Setup_LockSet::Test_Setup_LockSet (CC_naming_service *naming_service, - char *name) - : CC_Test (naming_service), - my_name_ (name) -{ -} - -Test_Setup_LockSet::~Test_Setup_LockSet (void) -{ -} - -int -Test_Setup_LockSet::run (int times_to_run) -{ - TAO_TRY - { - CosConcurrencyControl::LockSet_ptr cc_lock_set_ = - create_lock_set (); - this->naming_service_->bind_name (my_name_, cc_lock_set_, - TAO_TRY_ENV); - TAO_CHECK_ENV; - - ACE_DEBUG ((LM_DEBUG, - "Name bound\n")); - - cc_lock_set_->lock (CosConcurrencyControl::read, - TAO_TRY_ENV); - TAO_CHECK_ENV; - - ACE_DEBUG ((LM_DEBUG, - "Read lock set\n")); - } - TAO_CATCHANY - { - TAO_TRY_ENV.print_exception ("Test_Against_Other_LockSet::run"); - return CC_FAIL; - } - TAO_ENDTRY; - - return CC_SUCCESS; -} - -// ================================ - -Test_Use_Already_Created_LockSet:: -Test_Use_Already_Created_LockSet (CC_naming_service *naming_service, - char *name) - : CC_Test (naming_service), - my_name_ (name) -{ -} - -Test_Use_Already_Created_LockSet::~Test_Use_Already_Created_LockSet (void) -{ -} - -int -Test_Use_Already_Created_LockSet::run (int times_to_run) -{ - TAO_TRY - { - CORBA::Object_var ccls_obj = - this->naming_service_->get_obj_from_name ("", - my_name_, - TAO_TRY_ENV); - TAO_CHECK_ENV; - - CosConcurrencyControl::LockSet_var ccls = - CosConcurrencyControl::LockSet::_narrow (ccls_obj.in (), - TAO_TRY_ENV); - TAO_CHECK_ENV; - - ccls->lock (CosConcurrencyControl::read, - TAO_TRY_ENV); - TAO_CHECK_ENV; - - } - TAO_CATCHANY - { - TAO_TRY_ENV.print_exception ("Test_Against_Other_LockSet::run"); - return CC_FAIL; - } - TAO_ENDTRY; - - return CC_SUCCESS; -} - -// ================================ - -Test_Unlock_Already_Created_LockSet:: -Test_Unlock_Already_Created_LockSet (CC_naming_service *naming_service, - char *name) - : CC_Test (naming_service), - my_name_ (name) -{ -} - -Test_Unlock_Already_Created_LockSet::~Test_Unlock_Already_Created_LockSet (void) -{ -} - -int -Test_Unlock_Already_Created_LockSet::run (int times_to_run) -{ - TAO_TRY - { - CORBA::Object_var ccls_obj = - this->naming_service_->get_obj_from_name ("", my_name_, - TAO_TRY_ENV); - TAO_CHECK_ENV; - - CosConcurrencyControl::LockSet_var ccls = - CosConcurrencyControl::LockSet::_narrow (ccls_obj.in (), - TAO_TRY_ENV); - TAO_CHECK_ENV; - - ccls->unlock (CosConcurrencyControl::read, - TAO_TRY_ENV); - } - TAO_CATCHANY - { - TAO_TRY_ENV.print_exception ("Test_Unlock_Already_Created_LockSet::run"); - return CC_FAIL; - } - TAO_ENDTRY; - - return CC_SUCCESS; -} - -// ================================ - -Test_Release_Not_Held_Lock::Test_Release_Not_Held_Lock (CC_naming_service *naming_service, - CosConcurrencyControl::lock_mode mode) - : CC_Test (naming_service), - mode_ (mode) -{ -} - -Test_Release_Not_Held_Lock::~Test_Release_Not_Held_Lock (void) -{ -} - -int -Test_Release_Not_Held_Lock::run (int times_to_run) -{ - CORBA::Boolean lock_not_held; - - // Create the lock set - CosConcurrencyControl::LockSet_ptr cc_lock_set_ = create_lock_set (); - - TAO_TRY - { - // lock the lock - cc_lock_set_->lock (mode_, TAO_TRY_ENV); - ACE_DEBUG ((LM_DEBUG, - "%s lock set\n", - get_lock_mode_name (mode_))); - - // check to see if the lock is held - lock_not_held = cc_lock_set_->try_lock (mode_, - TAO_TRY_ENV); - - if (lock_not_held) - { - ACE_DEBUG ((LM_DEBUG, - "%s lock not held\n", - get_lock_mode_name (mode_))); - return CC_FAIL; - } - else - ACE_DEBUG ((LM_DEBUG, - "%s lock held\n", - get_lock_mode_name (mode_))); - - // release the lock - cc_lock_set_->unlock (mode_, - TAO_TRY_ENV); - ACE_DEBUG ((LM_DEBUG, - "%s lock released\n", - get_lock_mode_name (mode_))); - - // release the lock again. this should raise an exception - cc_lock_set_->unlock (mode_, - TAO_TRY_ENV); - - ACE_DEBUG ((LM_DEBUG, - "attemptet to release %s lock\n", - get_lock_mode_name (mode_))); - - TAO_CHECK_ENV; - } - TAO_CATCH(CosConcurrencyControl::LockNotHeld, userex) - { - // We should end here - ACE_UNUSED_ARG (userex); - ACE_DEBUG((LM_DEBUG, "CosConcurrencyControl::LockNotHeld\n")); - return CC_SUCCESS; - } - - TAO_CATCHANY - { - TAO_TRY_ENV.print_exception ("Test_Release_Not_Held_Lock::run"); - return CC_FAIL; - } - TAO_ENDTRY; - - CORBA::release (cc_lock_set_); - - return CC_FAIL; -} |