[jboss-svn-commits] JBL Code SVN: r28965 - labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Aug 17 11:11:13 EDT 2009


Author: jhalliday
Date: 2009-08-17 11:11:13 -0400 (Mon, 17 Aug 2009)
New Revision: 28965

Modified:
   labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java
   labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/TestXAResource.java
Log:
Added test case for subordinate tx commit failure handling. JBTM-605


Modified: labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java	2009-08-17 15:02:27 UTC (rev 28964)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java	2009-08-17 15:11:13 UTC (rev 28965)
@@ -505,4 +505,29 @@
         assertEquals(javax.transaction.Status.STATUS_ROLLEDBACK, t.getStatus());
     }
 
+/*
+    @Test
+    public void testFailOnCommit() throws Exception
+    {
+        final Xid xid = new XidImple(new Uid());
+        final Transaction t = SubordinationManager.getTransactionImporter().importTransaction(xid);
+
+        final TestXAResource xaResource = new TestXAResource();
+        // provoke commit into failing with TwoPhaseOutcome.FINISH_ERROR
+        // warning: this is sensitive to the impl exception handling in
+        // XAResourceRecord.topLevelCommit
+        xaResource.setCommitException(new XAException(XAException.XA_RETRY));
+
+        t.enlistResource(xaResource);
+
+        final XATerminator xaTerminator = SubordinationManager.getXATerminator();
+
+        xaTerminator.prepare(xid);
+        xaTerminator.commit(xid, false);
+
+        //assertEquals(javax.transaction.Status.STATUS_ROLLEDBACK, t.getStatus());
+
+        assertTrue("commit should throw an exception and not get to here", false);
+    }
+*/
 }

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/TestXAResource.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/TestXAResource.java	2009-08-17 15:02:27 UTC (rev 28964)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/TestXAResource.java	2009-08-17 15:11:13 UTC (rev 28965)
@@ -38,6 +38,7 @@
     private Xid currentXid;
 
     private int prepareReturnValue = XAResource.XA_OK;
+    private XAException commitException = null;
 
     public int getPrepareReturnValue()
     {
@@ -49,6 +50,16 @@
         this.prepareReturnValue = prepareReturnValue;
     }
 
+    public XAException getCommitException()
+    {
+        return commitException;
+    }
+
+    public void setCommitException(XAException commitException)
+    {
+        this.commitException = commitException;
+    }
+
     public void commit(Xid xid, boolean b) throws XAException
     {
         System.out.println("XAResourceImpl.commit(Xid="+xid+", b="+b+")");
@@ -56,6 +67,10 @@
             System.out.println("XAResourceImpl.commit - wrong Xid!");
         }
 
+        if(commitException != null) {
+            throw commitException;
+        }
+
         currentXid = null;
     }
 



More information about the jboss-svn-commits mailing list