[jboss-cvs] JBoss Messaging SVN: r7521 - trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jul 6 10:56:43 EDT 2009


Author: clebert.suconic at jboss.com
Date: 2009-07-06 10:56:43 -0400 (Mon, 06 Jul 2009)
New Revision: 7521

Modified:
   trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java
   trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java
Log:
Validating empty XA Transactions on Journal (to catch eventual NPEs)

Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java	2009-07-06 14:05:40 UTC (rev 7520)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java	2009-07-06 14:56:43 UTC (rev 7521)
@@ -313,7 +313,8 @@
 
       if (tx == null)
       {
-         throw new IllegalStateException("Cannot find tx " + txID);
+         tx = new TransactionHolder();
+         transactions.put(txID, tx);
       }
 
       if (tx.prepared)

Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java	2009-07-06 14:05:40 UTC (rev 7520)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java	2009-07-06 14:56:43 UTC (rev 7521)
@@ -22,9 +22,11 @@
 
 package org.jboss.messaging.tests.unit.core.journal.impl;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.jboss.messaging.core.journal.EncodingSupport;
+import org.jboss.messaging.core.journal.PreparedTransactionInfo;
 import org.jboss.messaging.core.journal.RecordInfo;
 import org.jboss.messaging.core.journal.impl.JournalImpl;
 import org.jboss.messaging.core.logging.Logger;
@@ -1665,6 +1667,42 @@
       assertEquals(1, journal.getIDMapSize());
    }
 
+   public void testEmptyPrepare() throws Exception
+   {
+      setup(2, calculateRecordSize(JournalImpl.SIZE_HEADER, getAlignment()) + calculateRecordSize(recordLength,
+                                                                                                  getAlignment()) +
+               512, true);
+      createJournal();
+      startJournal();
+      load();
+
+      EncodingSupport xid = new SimpleEncoding(10, (byte)0);
+      prepare(1, xid);
+      
+      stopJournal();
+      createJournal();
+      startJournal();
+      loadAndCheck();
+      
+      commit(1);
+      
+      xid = new SimpleEncoding(10, (byte)1);
+      prepare(2, xid);
+      
+      stopJournal();
+      createJournal();
+      startJournal();
+      loadAndCheck();
+
+      rollback(2);
+      
+      stopJournal();
+      createJournal();
+      startJournal();
+      loadAndCheck();
+
+   }
+   
    public void testPrepareNoReclaim() throws Exception
    {
       setup(2, calculateRecordSize(JournalImpl.SIZE_HEADER, getAlignment()) + calculateRecordSize(recordLength,




More information about the jboss-cvs-commits mailing list