[rhmessaging-commits] rhmessaging commits: r1123 - store/trunk/cpp/tests.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Fri Oct 19 15:32:15 EDT 2007


Author: cctrieloff
Date: 2007-10-19 15:32:15 -0400 (Fri, 19 Oct 2007)
New Revision: 1123

Modified:
   store/trunk/cpp/tests/OrderingTest.cpp
   store/trunk/cpp/tests/SimpleTest.cpp
   store/trunk/cpp/tests/TransactionalTest.cpp
   store/trunk/cpp/tests/TwoPhaseCommitTest.cpp
Log:
Enable Async unit tests

Modified: store/trunk/cpp/tests/OrderingTest.cpp
===================================================================
--- store/trunk/cpp/tests/OrderingTest.cpp	2007-10-19 18:27:53 UTC (rev 1122)
+++ store/trunk/cpp/tests/OrderingTest.cpp	2007-10-19 19:32:15 UTC (rev 1123)
@@ -43,8 +43,10 @@
 class OrderingTest : public CppUnit::TestCase  
 {
     CPPUNIT_TEST_SUITE(OrderingTest);
-    CPPUNIT_TEST(testBasic);
-    CPPUNIT_TEST(testCycle);
+    CPPUNIT_TEST(testBasicSync);
+    CPPUNIT_TEST(testCycleSync);
+    CPPUNIT_TEST(testBasicAsync);
+    CPPUNIT_TEST(testCycleAsync);
     CPPUNIT_TEST_SUITE_END();
 
     const string name;
@@ -57,33 +59,53 @@
 public:
     OrderingTest() : name("OrderingQueue"), counter(1) {}
 
+    void testBasicAsync()
+	{
+		testBasic(true);
+	}
+
+    void testCycleAsync()
+    {
+		testCycle(true);
+	}
+
+    void testBasicSync()
+	{
+		testBasic(false);
+	}
+
+    void testCycleSync()
+    {
+		testCycle(false);
+	}
     
-    void testBasic()
+    void testBasic(bool async = false)
     {
-        setup();
+        setup(async);
         //push on 10 messages
         for (int i = 0; i < 10; i++) push();
-        restart();
+        restart(async);
         check();
     }
 
-    void testCycle()
+    void testCycle(bool async = false)
     {
-        setup();
+        setup(async);
         //push on 10 messages:
         for (int i = 0; i < 10; i++) push();
         //pop 5:
         for (int i = 0; i < 5; i++) pop();
         //push on another 5:
         for (int i = 0; i < 5; i++) push();
-        restart();
+        restart(async);
         check();
     }
 
-    void setup()
+    void setup(bool async)
     {
         store = std::auto_ptr<BdbMessageStore>(new BdbMessageStore());
-        store->truncate();
+        if (async) store->init("/var",async);
+		store->truncate();
 
         queue = Queue::shared_ptr(new Queue(name, 0, store.get(), 0));
         FieldTable settings;
@@ -118,12 +140,13 @@
         }
     }
 
-    void restart()
+    void restart(bool async)
     {
         queue.reset();
         store.reset();
 
         store = std::auto_ptr<BdbMessageStore>(new BdbMessageStore());
+        if (async) store->init("/var",async);
         ExchangeRegistry exchanges;
         DtxManager mgr(store.get());
         RecoveryManagerImpl recoveryMgr(queues, exchanges, mgr, 0);

Modified: store/trunk/cpp/tests/SimpleTest.cpp
===================================================================
--- store/trunk/cpp/tests/SimpleTest.cpp	2007-10-19 18:27:53 UTC (rev 1122)
+++ store/trunk/cpp/tests/SimpleTest.cpp	2007-10-19 19:32:15 UTC (rev 1123)
@@ -57,19 +57,33 @@
 class SimpleTest : public CppUnit::TestCase  
 {
     CPPUNIT_TEST_SUITE(SimpleTest);
-    CPPUNIT_TEST(testCreateDelete);
-    CPPUNIT_TEST(testEmptyRecover);
-    CPPUNIT_TEST(testQueueCreate);
-    CPPUNIT_TEST(testQueueCreateWithSettings);
-    CPPUNIT_TEST(testQueueDestroy);
-    CPPUNIT_TEST(testEnqueue);
-    CPPUNIT_TEST(testDequeue);
-    CPPUNIT_TEST(testStaging);
-    CPPUNIT_TEST(testDestroyStagedMessage);
-    CPPUNIT_TEST(testDestroyEnqueuedMessage);
-    CPPUNIT_TEST(testExchangeCreateAndDestroy);
-    CPPUNIT_TEST(testExchangeBindAndUnbind);
-    CPPUNIT_TEST(testExchangeImplicitUnbind);
+    CPPUNIT_TEST(testCreateDeleteSync);
+    CPPUNIT_TEST(testEmptyRecoverSync);
+    CPPUNIT_TEST(testQueueCreateSync);
+    CPPUNIT_TEST(testQueueCreateWithSettingsSync);
+    CPPUNIT_TEST(testQueueDestroySync);
+    CPPUNIT_TEST(testEnqueueSync);
+    CPPUNIT_TEST(testDequeueSync);
+    CPPUNIT_TEST(testStagingSync);
+    CPPUNIT_TEST(testDestroyStagedMessageSync);
+    CPPUNIT_TEST(testDestroyEnqueuedMessageSync);
+    CPPUNIT_TEST(testExchangeCreateAndDestroySync);
+    CPPUNIT_TEST(testExchangeBindAndUnbindSync);
+    CPPUNIT_TEST(testExchangeImplicitUnbindSync);
+
+    CPPUNIT_TEST(testCreateDeleteAsync);
+    CPPUNIT_TEST(testEmptyRecoverAsync);
+    CPPUNIT_TEST(testQueueCreateAsync);
+    CPPUNIT_TEST(testQueueCreateWithSettingsAsync);
+    CPPUNIT_TEST(testQueueDestroyAsync);
+    CPPUNIT_TEST(testEnqueueAsync);
+    CPPUNIT_TEST(testDequeueAsync);
+    CPPUNIT_TEST(testStagingAsync);
+    CPPUNIT_TEST(testDestroyStagedMessageAsync);
+    CPPUNIT_TEST(testDestroyEnqueuedMessageAsync);
+    CPPUNIT_TEST(testExchangeCreateAndDestroyAsync);
+    CPPUNIT_TEST(testExchangeBindAndUnbindAsync);
+    CPPUNIT_TEST(testExchangeImplicitUnbindAsync);
     CPPUNIT_TEST_SUITE_END();
 
     void recover(BdbMessageStore& store, QueueRegistry& queues)
@@ -93,18 +107,26 @@
 
 public:
 
-    void testEmptyRecover()
+    void testEmptyRecoverSync() {testEmptyRecover(false);}
+    void testEmptyRecoverAsync() {testEmptyRecover(true);}
+
+    void testEmptyRecover(bool async)
     {
         BdbMessageStore store;
+        if (async) store.init("/var",async);
         store.truncate();//make sure it is empty to begin with
         QueueRegistry registry(&store);
         recover(store, registry);
         //nothing to assert, just testing it doesn't blow up
     }
 
-    void testCreateDelete()
+    void testCreateDeleteSync() {testCreateDelete(false);}
+    void testCreateDeleteAsync() {testCreateDelete(true);}
+
+    void testCreateDelete(bool async)
     {
         BdbMessageStore store;
+        if (async) store.init("/var",async);
         store.truncate();//make sure it is empty to begin with
         string name("CreateDeleteQueue");
         Queue queue(name, 0, &store, 0);
@@ -116,13 +138,16 @@
 	
     }
 
+    void testQueueCreateSync() {testQueueCreate(false);}
+    void testQueueCreateAsync() {testQueueCreate(true);}
 
-    void testQueueCreate()
+    void testQueueCreate(bool async)
     {
         uint64_t id(0);
         string name("MyDurableQueue");
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             store.truncate();//make sure it is empty to begin with
             Queue queue(name, 0, &store, 0);
             store.create(queue);
@@ -131,6 +156,7 @@
         }//db will be closed
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             QueueRegistry registry(&store);
             recover(store, registry);
             Queue::shared_ptr queue = registry.find(name);
@@ -139,12 +165,16 @@
         }
     }
 
-    void testQueueCreateWithSettings()
+    void testQueueCreateWithSettingsSync() {testQueueCreateWithSettings(false);}
+    void testQueueCreateWithSettingsAsync() {testQueueCreateWithSettings(true);}
+
+    void testQueueCreateWithSettings(bool async)
     {
         QueuePolicy policy(101, 202);
         string name("MyDurableQueue");
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             store.truncate();//make sure it is empty to begin with
             Queue queue(name, 0, &store, 0);
             FieldTable settings;
@@ -154,6 +184,7 @@
         }//db will be closed
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             QueueRegistry registry(&store);
             recover(store, registry);
             Queue::shared_ptr queue = registry.find(name);
@@ -164,11 +195,14 @@
         }
     }
 
-    void testQueueDestroy()
+    void testQueueDestroySync() {testQueueDestroy(false);}
+    void testQueueDestroyAsync() {testQueueDestroy(true);}
+    void testQueueDestroy(bool async)
     {
         string name("MyDurableQueue");
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             store.truncate();//make sure it is empty to begin with
             Queue queue(name, 0, &store, 0);
             store.create(queue);
@@ -176,13 +210,16 @@
         }//db will be closed
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             QueueRegistry registry(&store);
             recover(store, registry);
             CPPUNIT_ASSERT(!registry.find(name));
         }
     }
 
-    void testEnqueue()
+    void testEnqueueSync() {testEnqueue(false);}
+    void testEnqueueAsync() {testEnqueue(true);}
+    void testEnqueue(bool async)
     {
         //TODO: this is largely copy & paste'd from MessageTest in
         //qpid tree. ideally need some helper routines for reducing
@@ -196,6 +233,7 @@
         string data2("hijklmn");
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             store.truncate();//make sure it is empty to begin with
             Queue queue(name, 0, &store, 0);
             FieldTable settings;
@@ -214,6 +252,7 @@
         }//db will be closed
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             QueueRegistry registry(&store);
             recover(store, registry);
             Queue::shared_ptr queue = registry.find(name);
@@ -238,7 +277,9 @@
         }
     }
 
-    void testDequeue()
+    void testDequeueSync() {testDequeue(false);}
+    void testDequeueAsync() {testDequeue(true);}
+    void testDequeue(bool async)
     {
         //TODO: reduce the duplication in these tests
         string name("MyDurableQueue");
@@ -248,6 +289,7 @@
             string messageId = "MyMessage";
             string data("abcdefg");
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             store.truncate();//make sure it is empty to begin with
             Queue queue(name, 0, &store, 0);
             FieldTable settings;
@@ -262,6 +304,7 @@
         }//db will be closed
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             QueueRegistry registry(&store);
             recover(store, registry);
             Queue::shared_ptr queue = registry.find(name);
@@ -270,6 +313,8 @@
         }
     }
 
+    void testStagingSync() {testStaging();}
+    void testStagingAsync() {std::cout << std::endl << "Missing Async test!!" << std::endl << std:: flush;}
     void testStaging()
     {
         const string name("MyDurableQueue");
@@ -363,6 +408,8 @@
         }
     }
 
+    void testDestroyStagedMessageSync() {testDestroyStagedMessage();}
+    void testDestroyStagedMessageAsync() {std::cout << std::endl << "Missing Async test!!" << std::endl << std:: flush;}
     void testDestroyStagedMessage()
     {
         BdbMessageStore store;
@@ -383,6 +430,8 @@
         }
     }
 
+    void testDestroyEnqueuedMessageSync() {testDestroyEnqueuedMessage();}
+    void testDestroyEnqueuedMessageAsync() {std::cout << std::endl << "Missing Async test!!" << std::endl << std:: flush;}
     void testDestroyEnqueuedMessage()
     {
         BdbMessageStore store;
@@ -407,7 +456,9 @@
     }
 
 
-    void testExchangeCreateAndDestroy()
+    void testExchangeCreateAndDestroySync() {testExchangeCreateAndDestroy(false);}
+    void testExchangeCreateAndDestroyAsync() {testExchangeCreateAndDestroy(true);}
+    void testExchangeCreateAndDestroy(bool async)
     {
         uint64_t id(0);
         string name("MyDurableExchange");
@@ -416,6 +467,7 @@
         args.setString("a", "A");
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             store.truncate();//make sure it is empty to begin with
             ExchangeRegistry registry;
             Exchange::shared_ptr exchange = registry.declare(name, type, true, args).first;
@@ -425,6 +477,7 @@
         }//db will be closed
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             ExchangeRegistry registry;
 
             recover(store, registry);
@@ -438,6 +491,7 @@
         }
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             ExchangeRegistry registry;
 
             recover(store, registry);
@@ -451,7 +505,9 @@
         }
     }
 
-    void testExchangeBindAndUnbind()
+    void testExchangeBindAndUnbindSync() {testExchangeBindAndUnbind(false);}
+    void testExchangeBindAndUnbindAsync() {testExchangeBindAndUnbind(true);}
+    void testExchangeBindAndUnbind(bool async)
     {
         string exchangeName("MyDurableExchange");
         string queueName("MyDurableQueue");
@@ -459,6 +515,7 @@
         FieldTable args;
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             store.truncate();//make sure it is empty to begin with
             Exchange::shared_ptr exchange(new DirectExchange(exchangeName, true, args));
             Queue::shared_ptr queue(new Queue(queueName, 0, &store, 0));
@@ -469,6 +526,7 @@
         }//db will be closed
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             ExchangeRegistry exchanges;
             QueueRegistry queues;
 
@@ -482,6 +540,7 @@
         }
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             ExchangeRegistry exchanges;
             QueueRegistry queues;
 
@@ -494,7 +553,9 @@
         }
     }
 
-    void testExchangeImplicitUnbind()
+    void testExchangeImplicitUnbindSync() {testExchangeImplicitUnbind(false);}
+    void testExchangeImplicitUnbindAsync() {testExchangeImplicitUnbind(true);}
+    void testExchangeImplicitUnbind(bool async)
     {
         string exchangeName("MyDurableExchange");
         string queueName1("MyDurableQueue1");
@@ -503,6 +564,7 @@
         FieldTable args;
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             store.truncate();//make sure it is empty to begin with
             Exchange::shared_ptr exchange(new DirectExchange(exchangeName, true, args));
             Queue::shared_ptr queue1(new Queue(queueName1, 0, &store, 0));
@@ -517,6 +579,7 @@
         }//db will be closed
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             ExchangeRegistry exchanges;
             QueueRegistry queues;
 
@@ -532,6 +595,7 @@
         }
         {
             BdbMessageStore store;
+            if (async) store.init("/var",async);
             ExchangeRegistry exchanges;
             QueueRegistry queues;
 

Modified: store/trunk/cpp/tests/TransactionalTest.cpp
===================================================================
--- store/trunk/cpp/tests/TransactionalTest.cpp	2007-10-19 18:27:53 UTC (rev 1122)
+++ store/trunk/cpp/tests/TransactionalTest.cpp	2007-10-19 19:32:15 UTC (rev 1123)
@@ -41,8 +41,10 @@
 class TransactionalTest : public CppUnit::TestCase  
 {
     CPPUNIT_TEST_SUITE(TransactionalTest);
-    CPPUNIT_TEST(testCommit);
-    CPPUNIT_TEST(testAbort);
+    CPPUNIT_TEST(testCommitSync);
+    CPPUNIT_TEST(testAbortSync);
+    CPPUNIT_TEST(testCommitAsync);
+    CPPUNIT_TEST(testAbortAsync);
     CPPUNIT_TEST_SUITE_END();
 
     const string nameA;
@@ -56,41 +58,44 @@
 public:
     TransactionalTest() : nameA("queueA"), nameB("queueB"), messageId("TxnMessage") {}
 
-    
-    void testCommit()
+    void testCommitSync() {testCommit(false);}
+    void testCommitAsync()  {testCommit(true);}
+    void testCommit(bool async)
     {
-        swap(true);
+        swap(true, async);
     }
 
-    void testAbort()
+    void testAbortSync() {testAbort(false);}
+    void testAbortAsync()  {testAbort(true);}
+    void testAbort(bool async)
     {
-        swap(false);
+        swap(false, async);
     }
 
-    void swap(bool commit)
+    void swap(bool commit, bool async)
     {
-        setup();
+        setup(async);
 
         Message::shared_ptr msg = queueA->dequeue().payload;
         CPPUNIT_ASSERT(msg);
-
         //move the message from one queue to the other as a transaction
         std::auto_ptr<TransactionContext> txn = store->begin();
         queueB->enqueue(txn.get(), msg);//note: need to enqueue it first to avoid message being deleted
         queueA->dequeue(txn.get(), msg);
         if (commit) {
-            store->commit(*txn);
+           store->commit(*txn);
         } else {
             store->abort(*txn);
         }
 
-        restart();
+        restart(async);
         check(commit);
-    }
+   }
 
-    void setup()
+    void setup(bool async)
     {
         store = std::auto_ptr<BdbMessageStore>(new BdbMessageStore());
+        if (async) store->init("/var",async);
         store->truncate();
 
         //create two queues:
@@ -107,18 +112,19 @@
         queueA->deliver(msg);
     }
 
-    void restart()
+    void restart(bool async)
     {
         queueA.reset();
         queueB.reset();
         store.reset();
 
         store = std::auto_ptr<BdbMessageStore>(new BdbMessageStore());
+        if (async) store->init("/var",async);
         ExchangeRegistry exchanges;
         DtxManager mgr(store.get());
         RecoveryManagerImpl recovery(queues, exchanges, mgr, 0);
         store->recover(recovery);
-
+ 
         queueA = queues.find(nameA);
         queueB = queues.find(nameB);
     }

Modified: store/trunk/cpp/tests/TwoPhaseCommitTest.cpp
===================================================================
--- store/trunk/cpp/tests/TwoPhaseCommitTest.cpp	2007-10-19 18:27:53 UTC (rev 1122)
+++ store/trunk/cpp/tests/TwoPhaseCommitTest.cpp	2007-10-19 19:32:15 UTC (rev 1123)
@@ -41,21 +41,35 @@
 class TwoPhaseCommitTest : public CppUnit::TestCase  
 {
     CPPUNIT_TEST_SUITE(TwoPhaseCommitTest);
-    CPPUNIT_TEST(testCommitSwap);
-    CPPUNIT_TEST(testPrepareAndAbortSwap);
-    CPPUNIT_TEST(testAbortNoPrepareSwap);
+    CPPUNIT_TEST(testCommitSwapSync);
+    CPPUNIT_TEST(testPrepareAndAbortSwapSync);
+    CPPUNIT_TEST(testAbortNoPrepareSwapSync);
 
-    CPPUNIT_TEST(testCommitEnqueue);
-    CPPUNIT_TEST(testPrepareAndAbortEnqueue);
-    CPPUNIT_TEST(testAbortNoPrepareEnqueue);
+    CPPUNIT_TEST(testCommitEnqueueSync);
+    CPPUNIT_TEST(testPrepareAndAbortEnqueueSync);
+    CPPUNIT_TEST(testAbortNoPrepareEnqueueSync);
 
-    CPPUNIT_TEST(testCommitDequeue);
-    CPPUNIT_TEST(testPrepareAndAbortDequeue);
-    CPPUNIT_TEST(testAbortNoPrepareDequeue);
+    CPPUNIT_TEST(testCommitDequeueSync);
+    CPPUNIT_TEST(testPrepareAndAbortDequeueSync);
+    CPPUNIT_TEST(testAbortNoPrepareDequeueSync);
 
-    CPPUNIT_TEST(testRecoverPreparedThenCommitted);
-    CPPUNIT_TEST(testRecoverPreparedThenAborted);
+    CPPUNIT_TEST(testRecoverPreparedThenCommittedSync);
+    CPPUNIT_TEST(testRecoverPreparedThenAbortedSync);
 
+    CPPUNIT_TEST(testCommitSwapAsync);
+    CPPUNIT_TEST(testPrepareAndAbortSwapAsync);
+    CPPUNIT_TEST(testAbortNoPrepareSwapAsync);
+
+    CPPUNIT_TEST(testCommitEnqueueAsync);
+    CPPUNIT_TEST(testPrepareAndAbortEnqueueAsync);
+    CPPUNIT_TEST(testAbortNoPrepareEnqueueAsync);
+
+    CPPUNIT_TEST(testCommitDequeueAsync);
+    CPPUNIT_TEST(testPrepareAndAbortDequeueAsync);
+    CPPUNIT_TEST(testAbortNoPrepareDequeueAsync);
+
+    CPPUNIT_TEST(testRecoverPreparedThenCommittedAsync);
+    CPPUNIT_TEST(testRecoverPreparedThenAbortedAsync);
     CPPUNIT_TEST_SUITE_END();
 
     class Strategy
@@ -141,23 +155,30 @@
 	Message::shared_ptr msg1;
 	Message::shared_ptr msg2;
 	Message::shared_ptr msg4;
+	bool async;
 	
 public:
     TwoPhaseCommitTest() : nameA("queueA"), nameB("queueB") {}
 
     //swap tests:
+    void testCommitSwapSync() {async=false ; testCommitSwap();}
+    void testCommitSwapAsync() {async=true ; testCommitSwap();}
     void testCommitSwap()
     {
         Swap swap(this, "SwapMessageId");
         commit(swap);
     }
 
+    void testPrepareAndAbortSwapSync() {async=false ; testPrepareAndAbortSwap();}
+    void testPrepareAndAbortSwapAsync() {async=true ; testPrepareAndAbortSwap();}
     void testPrepareAndAbortSwap()
     {
         Swap swap(this, "SwapMessageId");
         abort(swap, true);
     }
 
+    void testAbortNoPrepareSwapSync() {async=false ; testAbortNoPrepareSwap();}
+    void testAbortNoPrepareSwapAsync() {async=true ; testAbortNoPrepareSwap();}
     void testAbortNoPrepareSwap()
     {
         Swap swap(this, "SwapMessageId");
@@ -165,18 +186,24 @@
     }
 
     //enqueue tests:
+    void testCommitEnqueueSync() {async=false ; testCommitEnqueue();}
+    void testCommitEnqueueAsync() {async=true ; testCommitEnqueue();}
     void testCommitEnqueue()
     {
         Enqueue enqueue(this);
         commit(enqueue);
     }
 
+    void testPrepareAndAbortEnqueueSync() {async=false ; testPrepareAndAbortEnqueue();}
+    void testPrepareAndAbortEnqueueAsync() {async=true ; testPrepareAndAbortEnqueue();}
     void testPrepareAndAbortEnqueue()
     {
         Enqueue enqueue(this);
         abort(enqueue, true);
     }
 
+    void testAbortNoPrepareEnqueueSync() {async=false ; testAbortNoPrepareEnqueue();}
+    void testAbortNoPrepareEnqueueAsync() {async=true ; testAbortNoPrepareEnqueue();}
     void testAbortNoPrepareEnqueue()
     {
         Enqueue enqueue(this);
@@ -184,18 +211,24 @@
     }
 
     //dequeue tests:
+    void testCommitDequeueSync() {async=false ; testCommitDequeue();}
+    void testCommitDequeueAsync() {async=true ; testCommitDequeue();}
     void testCommitDequeue()
     {
         Dequeue dequeue(this);
         commit(dequeue);
     }
 
+    void testPrepareAndAbortDequeueSync() {async=false ; testPrepareAndAbortDequeue();}
+    void testPrepareAndAbortDequeueAsync() {async=true ; testPrepareAndAbortDequeue();}
     void testPrepareAndAbortDequeue()
     {
         Dequeue dequeue(this);
         abort(dequeue, true);
     }
 
+    void testAbortNoPrepareDequeueSync() {async=false ; testAbortNoPrepareDequeue();}
+    void testAbortNoPrepareDequeueAsync() {async=true ; testAbortNoPrepareDequeue();}
     void testAbortNoPrepareDequeue()
     {
         Dequeue dequeue(this);
@@ -204,11 +237,15 @@
 
     //test recovery of prepared txn:
 
+    void testRecoverPreparedThenCommittedSync() {async=false ; testRecoverPreparedThenCommitted();}
+    void testRecoverPreparedThenCommittedAsync() {async=true ; testRecoverPreparedThenCommitted();}
     void testRecoverPreparedThenCommitted()
     {
         recoverPrepared(true);
     }
 
+    void testRecoverPreparedThenAbortedSync() {async=false ; testRecoverPreparedThenAborted();}
+    void testRecoverPreparedThenAbortedAsync() {async=true ; testRecoverPreparedThenAborted();}
     void testRecoverPreparedThenAborted()
     {
         recoverPrepared(false);
@@ -299,6 +336,7 @@
     void setup()
     {
         store = std::auto_ptr<BdbMessageStore>(new BdbMessageStore());
+        if (async) store->init("/var",async);
         store->truncate();
 
         //create two queues:
@@ -323,6 +361,7 @@
         store.reset();
 
         store = std::auto_ptr<BdbMessageStore>(new BdbMessageStore());
+        if (async) store->init("/var",async);
         ExchangeRegistry exchanges;
         dtxmgr = std::auto_ptr<DtxManager>(new DtxManager(store.get()));
         RecoveryManagerImpl recovery(queues, exchanges, *dtxmgr, 0);




More information about the rhmessaging-commits mailing list