[jboss-cvs] JBossAS SVN: r101706 - in trunk/testsuite: src/main/org/jboss/test/jbossts/JTSContextPropagation01 and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Mar 2 04:44:33 EST 2010


Author: istudens at redhat.com
Date: 2010-03-02 04:44:32 -0500 (Tue, 02 Mar 2010)
New Revision: 101706

Modified:
   trunk/testsuite/imports/config/tests-jts-propagation.xml
   trunk/testsuite/src/main/org/jboss/test/jbossts/JTSContextPropagation01/TestContextPropagation.java
   trunk/testsuite/src/main/org/jboss/test/jbossts/recovery/ASTestResource.java
   trunk/testsuite/src/main/org/jboss/test/jbossts/taskdefs/TransactionLog.java
   trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/EJBUtils.java
   trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/ORBWrapper.java
   trunk/testsuite/src/resources/jbossts/scripts/as-tests.xml
Log:
finished IIOP/JRMP propagation tests, prepared integration with crash recovery tests, JBQA-2604

Modified: trunk/testsuite/imports/config/tests-jts-propagation.xml
===================================================================
--- trunk/testsuite/imports/config/tests-jts-propagation.xml	2010-03-02 09:12:15 UTC (rev 101705)
+++ trunk/testsuite/imports/config/tests-jts-propagation.xml	2010-03-02 09:44:32 UTC (rev 101706)
@@ -23,7 +23,7 @@
     |    ./build.sh tests-jts-propagation
     |     
     |  or for particular test scenario:
-    |    ./build.sh -Djbossts.ejbX={ejb2|ejb3} -Djbossts.transport={jrmp|iiop} -Djbossts.clientTx={false|true} -Djbossts.target=jts-propagation-tests-single tests-jts-propagation
+    |    ./build.sh -Djbossts.ejbX={ejb2|ejb3} -Djbossts.transport={jrmp|iiop} -Djbossts.target=jts-propagation-tests-single tests-jts-propagation
     |
     | Note: If you want to force the wiping out any txs in doubt from DB before the test you can use the property -DwipeOutTxsInDoubtBeforeTest=true. 
     | Note 2: The default database is PostgreSQL 8.3. To change this you need to set the property jbossts.db like for the crash recovery tests. 
@@ -44,7 +44,6 @@
    	
       <property name="jbossts.target" value="jts-propagation-tests" />
       <property name="jbossts.max.time" value="300000" />
-      <property name="jbossts.clientTx" value="false" />
    	  <property name="jbossts.db" value="psql_8.3" />
    	
       <run-jts-propag-test target="${jbossts.target}" />
@@ -64,13 +63,14 @@
             <classpath>
                <pathelement location="${build.lib}/jts-propagation-client.jar"/>
                <pathelement location="${ant.library.dir}/ant-launcher.jar"/>
+               <pathelement location="${jbosstest.dist}/common/lib/jboss-iiop.jar"/>
+               <fileset dir="${jbosstest.dist}/client"/>
                <fileset refid="org.apache.ant:ant:jar"/>
                <fileset refid="org.apache.ant:ant-junit:jar"/>
                <fileset refid="junit:junit:jar"/>
                <fileset refid="org.jboss.jbossas:jboss-server-manager:jar"/>
                <fileset refid="jboss.jbossts:jbossjts:jar"/>
                <fileset refid="jboss.jbossts:jbossjts-integration:jar"/>
-         	   <fileset dir="${jbosstest.dist}/client"/>
          	</classpath>
             <sysproperty key="ant.home" value="${ant.home}"/>
             <sysproperty key="ant.library.dir" value="${ant.library.dir}"/>
@@ -88,7 +88,6 @@
             <sysproperty key="wipeOutTxsInDoubtBeforeTest" value="${wipeOutTxsInDoubtBeforeTest}" />
             <sysproperty key="jbossts.ejbX" value="${jbossts.ejbX}" />
             <sysproperty key="jbossts.transport" value="${jbossts.transport}" />
-            <sysproperty key="jbossts.clientTx" value="${jbossts.clientTx}" />
             <sysproperty key="jbossts.db" value="${jbossts.db}" />
             <sysproperty key="node0" value="${node0}" />
             <sysproperty key="node1" value="${node0}" />    <!-- uses the Service Binding Manager -->
@@ -134,28 +133,49 @@
          <property name="target.server.dir" location="${jboss.dist}/server/jts-propagation-node1"/>
       </ant>
 
-      <setup-jts-propogation-crash-recovery conf="jts-propagation-node0"/>
-      <setup-jts-propogation-crash-recovery conf="jts-propagation-node1"/>
+      <setup-jts-propogation-crash-recovery conf="jts-propagation-node0" nodeIdentifier="1"/>
+      <setup-jts-propogation-crash-recovery conf="jts-propagation-node1" nodeIdentifier="2"/>
    </target>
   
 	
    <macrodef name="setup-jts-propogation-crash-recovery">
       <attribute name="conf"/>
+      <attribute name="nodeIdentifier"/>
       <sequential>
-        <!-- enable crash recovery and point it to our datasource -->
+      	<!-- put recovery datasource to the JTAEnvironmentBean section -->
         <replaceregexp file="${jboss.dist}/server/@{conf}/deploy/transaction-jboss-beans.xml" flags="s"
            match="(&lt;bean name=&quot;JTAEnvironmentBean&quot;)(.*?)(&lt;/bean&gt;)"
-           replace="\1\2@@@PUT_RECOVERY_PROPERTY_HERE@@@\3" />
+           replace="\1\2@@@PUT_RECOVERY_PROPERTY_HERE@@@\3@@@PUT_JTS_ENVIRONMENT_BEAN_HERE@@@" />
         <replace file="${jboss.dist}/server/@{conf}/deploy/transaction-jboss-beans.xml">
            <replacetoken><![CDATA[@@@PUT_RECOVERY_PROPERTY_HERE@@@]]></replacetoken>
            <replacevalue><![CDATA[
-       <property name="xaResourceRecoveryInstances">
-           <list elementClass="java.lang.String">
-               <value>com.arjuna.ats.internal.jbossatx.jta.AppServerJDBCXARecovery;jndiname=CrashRecoveryDS</value>
-           </list>
-       </property>
+        <property name="xaResourceRecoveryInstances">
+            <list elementClass="java.lang.String">
+                <value>com.arjuna.ats.internal.jbossatx.jta.AppServerJDBCXARecovery;jndiname=CrashRecoveryDS</value>
+            </list>
+        </property>
 ]]></replacevalue>
         </replace>
+        <!-- set alwaysPropagateContext=true -->
+        <replace file="${jboss.dist}/server/@{conf}/deploy/transaction-jboss-beans.xml">
+           <replacetoken><![CDATA[@@@PUT_JTS_ENVIRONMENT_BEAN_HERE@@@]]></replacetoken>
+           <replacevalue><![CDATA[
+        <bean name="JTSEnvironmentBean" class="com.arjuna.ats.jts.common.JTSEnvironmentBean">
+            <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=JTSEnvironmentBean", exposedInterface=com.arjuna.ats.jts.common.JTSEnvironmentBeanMBean.class, registerDirectly=true)</annotation>
+            <constructor factoryClass="com.arjuna.ats.jts.common.jtsPropertyManager" factoryMethod="getJTSEnvironmentBean"/>
+            <property name="alwaysPropagateContext">true</property>
+        </bean>
+]]></replacevalue>
+        </replace>
+      	<!-- set xaRecoveryNode -->
+      	<replaceregexp file="${jboss.dist}/server/@{conf}/deploy/transaction-jboss-beans.xml" flags="s"
+      	   match="(xaRecoveryNodes.*?&lt;value&gt;)\d(&lt;/value&gt;)"
+      	   replace="\1@{nodeIdentifier}\2" />
+        <!-- set nodeIdentifier -->
+      	<replaceregexp file="${jboss.dist}/server/@{conf}/deploy/transaction-jboss-beans.xml" flags="s"
+      		match="(&lt;property name=&quot;nodeIdentifier&quot;&gt;)1(&lt;/property&gt;)"
+            replace="\1@{nodeIdentifier}\2" />
+
         
         <!-- more verbose logging 
         FIXME modify it for new jbossts version, i.e. for deploy/transaction-jboss-beans.xml file

Modified: trunk/testsuite/src/main/org/jboss/test/jbossts/JTSContextPropagation01/TestContextPropagation.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jbossts/JTSContextPropagation01/TestContextPropagation.java	2010-03-02 09:12:15 UTC (rev 101705)
+++ trunk/testsuite/src/main/org/jboss/test/jbossts/JTSContextPropagation01/TestContextPropagation.java	2010-03-02 09:44:32 UTC (rev 101706)
@@ -36,7 +36,6 @@
 import org.jboss.test.jbossts.crash.TestEntityHelperRem;
 import org.jboss.remoting.CannotConnectException;
 import org.omg.CORBA.ORBPackage.InvalidName;
-import org.omg.CosTransactions.SubtransactionsUnavailable;
 import org.apache.tools.ant.BuildException;
 
 import com.arjuna.ats.jts.OTSManager;
@@ -47,9 +46,6 @@
 import java.util.Set;
 
 import javax.ejb.EJBTransactionRolledbackException;
-import javax.naming.NamingException;
-import javax.transaction.NotSupportedException;
-import javax.transaction.SystemException;
 import javax.transaction.UserTransaction;
 
 /**
@@ -61,7 +57,7 @@
 public class TestContextPropagation extends JUnitClientTest
 {
    // the longest time to wait in millis before declaring a test a failed (overridable)
-   private static final int MAX_TEST_TIME = 300000;     // 5 minutes  - allows two intervals of recovery which is 2 minutes by default
+   private static final int MAX_TEST_TIME = 5*60 * 1000;     // 5 minutes  - allows two intervals of recovery which is 2 minutes by default
 
    private boolean useOTS = false;
    private boolean useEJB3 = false;
@@ -75,7 +71,7 @@
    private String               storeDirServer0 = null;
    private String               storeDirServer1 = null;
    private String               storeImple = "com.arjuna.ats.internal.arjuna.objectstore.HashedActionStore";
-   private String               storeType = "StateManager/BasicAction/TwoPhaseCoordinator/ArjunaTransactionImple";
+   private String               storeType = "StateManager/BasicAction/TwoPhaseCoordinator/ArjunaTransactionImple.*";
    private TransactionLog       storeServer0;
    private TransactionLog       storeServer1;
    private int                  existingUidsServer0;
@@ -256,7 +252,7 @@
          storeDir = serverPath + "data/tx-object-store";
       else
          storeDir = serverPath + storeDir;
-
+      
       TransactionLog store = new TransactionLog(storeDir, storeImple);
       
       return store;
@@ -268,6 +264,9 @@
       {
          String res = null;
 
+         if (useOTS)
+            initORB();
+            
          if (clientTx)
             startTx(host0, jndiPort0);
 
@@ -281,8 +280,9 @@
             TxPropagationEJB2Rem cr = EJBUtils.lookupTxPropagationBeanEJB2(host0, jndiPort0, corbaPort0, useOTS);
             res = cr.testXA(fSpecsNode0, fSpecsNode1, testEntityPK0, testEntityPK1, host1, expectFailureNode1, useOTS, jndiPort1, corbaPort1);
          }
-
-         return "Passed".equalsIgnoreCase(res);
+         
+         // in case of commit_halt on node1 there is no thrown exception, though that we need to pass through recoverUids()
+         return "Passed".equalsIgnoreCase(res) && recoverUids();
       }
       catch (CannotConnectException e)
       {
@@ -321,8 +321,16 @@
       }
       finally 
       {
-         if (clientTx)
-            endTx();
+         try 
+         {
+            if (clientTx)
+               endTx();
+         }
+         finally
+         {
+            if (orb != null)
+               orb.stop();
+         }
       }
 
       return false;
@@ -335,7 +343,7 @@
     */
    private boolean recoverUids() throws IOException
    {
-      int retryPeriod = 60000;    // 1 minute 
+      int retryPeriod = 60 * 1000;    // 1 minute 
       int maxWait = maxTestTime;
 
       // wait for the server to start up the first time through, we will need it for later database checking
@@ -352,7 +360,7 @@
       
       if (expectFailureNode0 || expectFailureNode1)
       {
-         suspendFor(2000);   // a little waiting is needed sometimes in order to be able to start server again, 2 secs
+         suspendFor(2 * 1000);   // a little waiting is needed sometimes in order to be able to start server again, 2 secs
       
          if (expectFailureNode0)
             config.startServer(serverName0);
@@ -435,8 +443,8 @@
       TestEntityHelperRem hlp = (TestEntityHelperRem) config.getNamingContext(serverName).lookup(TestEntityHelper.REMOTE_JNDI_NAME);
 
       TestEntity initEntity = hlp.initTestEntity(entityPK);
-      if (isDebug)
-         print("TestContextPropagation#initDatabase(serverName=" + serverName + "): initEntity = " + initEntity);
+//      if (isDebug)
+//         print("TestContextPropagation#initDatabase(serverName=" + serverName + "): initEntity = " + initEntity);
 
       return initEntity;
    }
@@ -450,11 +458,11 @@
 
          if (checkedEntity != null)
          {
-            if (isDebug)
-            {
-               print("TestContextPropagation#checkDatabase(serverName=" + serverName + "): initEntity = " + initEntity);
-               print("TestContextPropagation#checkDatabase(serverName=" + serverName + "): checkedEntity = " + checkedEntity);
-            }
+//            if (isDebug)
+//            {
+//               print("TestContextPropagation#checkDatabase(serverName=" + serverName + "): initEntity = " + initEntity);
+//               print("TestContextPropagation#checkDatabase(serverName=" + serverName + "): checkedEntity = " + checkedEntity);
+//            }
 
             return (rollbackExpected) ? checkedEntity.getA() == initEntity.getA()
                   : checkedEntity.getA() != initEntity.getA();
@@ -484,7 +492,6 @@
       
       if (useOTS)
       {
-         initORB();
          OTSManager.get_current().begin();
       }
       else
@@ -502,20 +509,24 @@
       try 
       {
          if (useOTS)
-            if (rollbackExpected)
+         {
+            if (OTSManager.get_current().get_status().value() == org.omg.CosTransactions.Status._StatusMarkedRollback)
                OTSManager.get_current().rollback();
             else
                OTSManager.get_current().commit(true);
+         }
          else
-            if (rollbackExpected)
+         {
+            if (tx.getStatus() == javax.transaction.Status.STATUS_MARKED_ROLLBACK)
                tx.rollback();
             else
                tx.commit();
+         }
       }
       catch (Throwable e)
       {
-         print("User tx " + (rollbackExpected ? "rollback" : "commit") + " failure: " + e.getMessage());
-         e.printStackTrace();
+         print("User tx commit/rollback failure: " + e.getMessage());
+//         e.printStackTrace();
       } 
    }
 
@@ -620,9 +631,9 @@
 
          if (spec != null && spec.willTerminateVM())
          {
-            if ("specsNode0".equals(specKey))
+            if ("specs0".equals(specKey))
                expectFailureNode0 = true;
-            else if ("specsNode1".equals(specKey))
+            else if ("specs1".equals(specKey))
                expectFailureNode1 = true;
          }
 

Modified: trunk/testsuite/src/main/org/jboss/test/jbossts/recovery/ASTestResource.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jbossts/recovery/ASTestResource.java	2010-03-02 09:12:15 UTC (rev 101705)
+++ trunk/testsuite/src/main/org/jboss/test/jbossts/recovery/ASTestResource.java	2010-03-02 09:44:32 UTC (rev 101706)
@@ -20,6 +20,8 @@
  */
 package org.jboss.test.jbossts.recovery;
 
+import org.jboss.logging.Logger;
+
 import javax.ejb.EJBException;
 import javax.transaction.xa.XAResource;
 import javax.transaction.xa.Xid;
@@ -38,321 +40,330 @@
  */
 public class ASTestResource implements Synchronization, XAResource, Serializable
 {
-    private static final Map<String, XAException> xaCodeMap = new HashMap<String, XAException>();
+   private static Logger log = Logger.getLogger(ASTestResource.class);
 
-    private ASFailureType _xaFailureType = ASFailureType.NONE;
-    private ASFailureMode _xaFailureMode = ASFailureMode.NONE;
-    private String[] _args;
-    private int _suspend;
-    private int _recoveryAttempts = 1;
-    private XAException _xaException;
-    private EJBException _ejbException;
-    private int txTimeout = 10;
-    private Set<Xid> _xids = new HashSet<Xid>();
-    private transient boolean _isPrepared = false; // transient so it doesn't get persisted in the tx store
+   private static final Map<String, XAException> xaCodeMap = new HashMap<String, XAException>();
 
-    static
-    {
-        init();
-    }
-    
-    public ASTestResource()
-    {
-    }
+   private ASFailureType _xaFailureType = ASFailureType.NONE;
+   private ASFailureMode _xaFailureMode = ASFailureMode.NONE;
+   private String[] _args;
+   private int _suspend;
+   private int _recoveryAttempts = 1;
+   private XAException _xaException;
+   private EJBException _ejbException;
+   private int txTimeout = 10;
+   private Set<Xid> _xids = new HashSet<Xid>();
+   private transient boolean _isPrepared = false; // transient so it doesn't get persisted in the tx store
 
-    public ASTestResource(ASFailureSpec spec)
-    {
-        this();
+   static
+   {
+      init();
+   }
 
-        if (spec == null)
-            throw new IllegalArgumentException("Invalid XA resource failure injection specification");
-        
-        setFailureMode(spec.getMode(), spec.getModeArg());
-        setFailureType(spec.getType());
-        setRecoveryAttempts(spec.getRecoveryArg());
-    }
+   public ASTestResource()
+   {
+   }
 
-    public void applySpec(String message) throws XAException
-    {
-        applySpec(message, _isPrepared);
-    }
+   public ASTestResource(ASFailureSpec spec)
+   {
+      this();
 
-    public void applySpec(String message, boolean prepared) throws XAException
-    {
-        if (_xaFailureType.equals(ASFailureType.NONE) || _xaFailureMode.equals(ASFailureMode.NONE) || !prepared)
-        {
-            System.out.println(message + (_isPrepared ? " ... " : " recovery"));
-            return; // NB if !_isPrepared then we must have been called from the recovery subsystem
-        }
+      if (spec == null)
+         throw new IllegalArgumentException("Invalid XA resource failure injection specification");
 
-        System.out.println("Applying fault injection with " + _xids.size() + " active branches");
-        if (_xaException != null)
-        {
-            System.out.println(message + " ... xa error: " + _xaException.getMessage());
-            throw _xaException;
-        }
-        else if (_ejbException != null)
-        {
-           System.out.println(message + " ... ejb error: " + _ejbException.getMessage());
-           throw _ejbException;
-        }
-        else if (_xaFailureMode.equals(ASFailureMode.HALT))
-        {
-            System.out.println(message + " ... halting");
-            Runtime.getRuntime().halt(1);
-        }
-        else if (_xaFailureMode.equals(ASFailureMode.EXIT))
-        {
-            System.out.println(message + " ... exiting");
-            System.exit(1);
-        }
-        else if (_xaFailureMode.equals(ASFailureMode.SUSPEND))
-        {
-            System.out.println(message + " ... suspending for " + _suspend);
-            suspend(_suspend);
-            System.out.println(message + " ... resuming");
-        }
-        else if (_xaFailureMode.equals(ASFailureMode.ROLLBACK_ONLY))
-        {
-            System.out.println(message + " ... marking the current transaction as rollback-only");
-            setRollbackOnly();
-        }
-    }
-    
-    public String toString()
-    {
-        return _xaFailureType + ", " + _xaFailureMode + ", " + (_args != null && _args.length != 0 ? _args[0] : "");
-    }
+      setFailureMode(spec.getMode(), spec.getModeArg());
+      setFailureType(spec.getType());
+      setRecoveryAttempts(spec.getRecoveryArg());
+   }
 
-    private void suspend(int msecs)
-    {
-        try
-        {
-            Thread.sleep(msecs);
-        }
-        catch (InterruptedException e)
-        {
-            e.printStackTrace();
-        }
-    }
+   public void applySpec(String message) throws XAException
+   {
+      applySpec(message, _isPrepared);
+   }
 
-    private void setRollbackOnly()
-    {
-       try
-       {
-          Transaction tx = com.arjuna.ats.jta.TransactionManager.transactionManager().getTransaction();
-          tx.setRollbackOnly();
-       }
-       catch (Throwable e)
-       {
-          e.printStackTrace();
-       }
-    }
+   public void applySpec(String message, boolean prepared) throws XAException
+   {
+      log.info("message=" + message + ", prepared=" + prepared);
+      
+      if (_xaFailureType.equals(ASFailureType.NONE) || _xaFailureMode.equals(ASFailureMode.NONE) || !prepared)
+      {
+         System.out.println(message + (_isPrepared ? " ... " : " recovery"));
+         return; // NB if !_isPrepared then we must have been called from the recovery subsystem
+      }
 
-    public void setFailureMode(ASFailureMode mode, String ... args) throws IllegalArgumentException
-    {
-        _xaFailureMode = mode;
-        _args = args;
+      System.out.println("Applying fault injection with " + _xids.size() + " active branches");
+      if (_xaException != null)
+      {
+         System.out.println(message + " ... xa error: " + _xaException.getMessage());
+         throw _xaException;
+      }
+      else if (_ejbException != null)
+      {
+         System.out.println(message + " ... ejb error: " + _ejbException.getMessage());
+         throw _ejbException;
+      }
+      else if (_xaFailureMode.equals(ASFailureMode.HALT))
+      {
+         System.out.println(message + " ... halting");
+         Runtime.getRuntime().halt(1);
+      }
+      else if (_xaFailureMode.equals(ASFailureMode.EXIT))
+      {
+         System.out.println(message + " ... exiting");
+         System.exit(1);
+      }
+      else if (_xaFailureMode.equals(ASFailureMode.SUSPEND))
+      {
+         System.out.println(message + " ... suspending for " + _suspend);
+         suspend(_suspend);
+         System.out.println(message + " ... resuming");
+      }
+      else if (_xaFailureMode.equals(ASFailureMode.ROLLBACK_ONLY))
+      {
+         System.out.println(message + " ... marking the current transaction as rollback-only");
+         setRollbackOnly();
+      }
+   }
 
-        if (args != null && args.length != 0)
-        {
-            if (_xaFailureMode.equals(ASFailureMode.SUSPEND))
-            {
-                _suspend = Integer.parseInt(args[0]);
-            }
-            else if (_xaFailureMode.equals(ASFailureMode.XAEXCEPTION))
-            {
-                _xaException = xaCodeMap.get(args[0]);
+   public String toString()
+   {
+      return _xaFailureType + ", " + _xaFailureMode + ", " + (_args != null && _args.length != 0 ? _args[0] : "");
+   }
 
-                if (_xaException == null)
-                    _xaException = new XAException(XAException.XAER_RMFAIL);
-            }
-            else if (_xaFailureMode.equals(ASFailureMode.EJBEXCEPTION))
-            {
-               _ejbException = new EJBException(args[0]);
-            }
-        }
-    }
+   private void suspend(int msecs)
+   {
+      try
+      {
+         Thread.sleep(msecs);
+      }
+      catch (InterruptedException e)
+      {
+         e.printStackTrace();
+      }
+   }
 
-    public void setFailureType(ASFailureType type)
-    {
-        _xaFailureType = type;
-    }
+   private void setRollbackOnly()
+   {
+      try
+      {
+         Transaction tx = com.arjuna.ats.jta.TransactionManager.transactionManager().getTransaction();
+         tx.setRollbackOnly();
+      }
+      catch (Throwable e)
+      {
+         e.printStackTrace();
+      }
+   }
 
-    public ASFailureType getFailureType()
-    {
-        return _xaFailureType;
-    }
+   public void setFailureMode(ASFailureMode mode, String ... args) throws IllegalArgumentException
+   {
+      _xaFailureMode = mode;
+      _args = args;
 
-    public void setRecoveryAttempts(int _recoveryAttempts)
-    {
-        this._recoveryAttempts = _recoveryAttempts;
-    }
+      if (args != null && args.length != 0)
+      {
+         if (_xaFailureMode.equals(ASFailureMode.SUSPEND))
+         {
+            _suspend = Integer.parseInt(args[0]);
+         }
+         else if (_xaFailureMode.equals(ASFailureMode.XAEXCEPTION))
+         {
+            _xaException = xaCodeMap.get(args[0]);
 
-    // Synchronizations
+            if (_xaException == null)
+               _xaException = new XAException(XAException.XAER_RMFAIL);
+         }
+         else if (_xaFailureMode.equals(ASFailureMode.EJBEXCEPTION))
+         {
+            _ejbException = new EJBException(args[0]);
+         }
+      }
+   }
 
-    public void beforeCompletion()
-    {
-        if (_xaFailureType.equals(ASFailureType.SYNCH_BEFORE))
-            try
-            {
-                applySpec("Before completion", true);
-            }
-            catch (XAException e)
-            {
-                throw new RuntimeException(e);
-            }
-    }
+   public void setFailureType(ASFailureType type)
+   {
+      _xaFailureType = type;
+   }
 
-    public void afterCompletion(int i)
-    {
-        if (_xaFailureType.equals(ASFailureType.SYNCH_AFTER))
-            try
-            {
-                applySpec("After completion");
-            }
-            catch (XAException e)
-            {
-                throw new RuntimeException(e);
-            }
-    }
+   public ASFailureType getFailureType()
+   {
+      return _xaFailureType;
+   }
 
-    // XA Interface implementation
+   public void setRecoveryAttempts(int _recoveryAttempts)
+   {
+      this._recoveryAttempts = _recoveryAttempts;
+   }
 
-    public void commit(Xid xid, boolean b) throws XAException
-    {
-        if (_xaFailureType.equals(ASFailureType.XARES_COMMIT))
-            applySpec("xa commit");
+   // Synchronizations
 
-        _isPrepared = false;
-        _xids.remove(xid);
-    }
+   public void beforeCompletion()
+   {
+      if (_xaFailureType.equals(ASFailureType.SYNCH_BEFORE))
+         try
+      {
+            applySpec("Before completion", true);
+      }
+      catch (XAException e)
+      {
+         throw new RuntimeException(e);
+      }
+   }
 
-    public void rollback(Xid xid) throws XAException
-    {
-       if (_xaFailureType.equals(ASFailureType.XARES_ROLLBACK))
-            applySpec("xa rollback");
+   public void afterCompletion(int i)
+   {
+      if (_xaFailureType.equals(ASFailureType.SYNCH_AFTER))
+         try
+      {
+            applySpec("After completion");
+      }
+      catch (XAException e)
+      {
+         throw new RuntimeException(e);
+      }
+   }
 
-        _isPrepared = false;
-        _xids.remove(xid);
-    }
-    
-    public void end(Xid xid, int i) throws XAException
-    {
-        if (_xaFailureType.equals(ASFailureType.XARES_END))
-            applySpec("xa end");
-    }
+   // XA Interface implementation
 
-    public void forget(Xid xid) throws XAException
-    {
-        if (_xaFailureType.equals(ASFailureType.XARES_FORGET))
-            applySpec("xa forget");
+   public void commit(Xid xid, boolean b) throws XAException
+   {
+      log.fine("commit(Xid=" + xid + ", b=" + b);
+      if (_xaFailureType.equals(ASFailureType.XARES_COMMIT))
+         applySpec("xa commit");
 
-        _isPrepared = false;
-        _xids.remove(xid);
-    }
+      _isPrepared = false;
+      _xids.remove(xid);
+   }
 
-    public int getTransactionTimeout() throws XAException
-    {
-        return txTimeout;
-    }
+   public void rollback(Xid xid) throws XAException
+   {
+      log.fine("rollback(Xid=" + xid);
+      if (_xaFailureType.equals(ASFailureType.XARES_ROLLBACK))
+         applySpec("xa rollback");
 
-    public boolean isSameRM(XAResource xaResource) throws XAException
-    {
-        return false;
-    }
+      _isPrepared = false;
+      _xids.remove(xid);
+   }
 
-    public int prepare(Xid xid) throws XAException
-    {
-        _isPrepared = true;
-        
-        if (_xaFailureType.equals(ASFailureType.XARES_PREPARE))
-            applySpec("xa prepare");
+   public void end(Xid xid, int i) throws XAException
+   {
+      log.fine("end(Xid=" + xid + ", i=" + i);
+      if (_xaFailureType.equals(ASFailureType.XARES_END))
+         applySpec("xa end");
+   }
 
-        _xids.add(xid);
+   public void forget(Xid xid) throws XAException
+   {
+      if (_xaFailureType.equals(ASFailureType.XARES_FORGET))
+         applySpec("xa forget");
 
-        return XA_OK;
-    }
+      _isPrepared = false;
+      _xids.remove(xid);
+   }
 
-    public Xid[] recover(int i) throws XAException
-    {
-        if (_recoveryAttempts <= 0)
-            return _xids.toArray(new Xid[_xids.size()]);
+   public int getTransactionTimeout() throws XAException
+   {
+      return txTimeout;
+   }
 
-        _recoveryAttempts -= 1;
+   public boolean isSameRM(XAResource xaResource) throws XAException
+   {
+      return false;
+   }
 
-        if (_xaFailureType.equals(ASFailureType.XARES_RECOVER))
-            applySpec("xa recover");
+   public int prepare(Xid xid) throws XAException
+   {
+      log.fine("prepare(Xid=" + xid);
+      _isPrepared = true;
 
-        return new Xid[0];
-    }
+      if (_xaFailureType.equals(ASFailureType.XARES_PREPARE))
+         applySpec("xa prepare");
 
-    public boolean setTransactionTimeout(int txTimeout) throws XAException
-    {
-        this.txTimeout = txTimeout;
-        
-        return true;    // set was successfull
-    }
+      _xids.add(xid);
 
-    public void start(Xid xid, int i) throws XAException
-    {
-        _xids.add(xid);
+      return XA_OK;
+   }
 
-       if (_xaFailureType.equals(ASFailureType.XARES_START))
-            applySpec("xa start");
-    }
+   public Xid[] recover(int i) throws XAException
+   {
+      if (_recoveryAttempts <= 0)
+         return _xids.toArray(new Xid[_xids.size()]);
 
-    public String getEISProductName() { return "Test XAResouce";}
-    
-    public String getEISProductVersion() { return "v666.0";}
+      _recoveryAttempts -= 1;
 
-    @SuppressWarnings({"ThrowableInstanceNeverThrown"})
-    private static void init()
-    {
-        xaCodeMap.put("XA_HEURCOM", new XAException(XAException.XA_HEURCOM));
-        xaCodeMap.put("XA_HEURHAZ", new XAException(XAException.XA_HEURHAZ));
-        xaCodeMap.put("XA_HEURMIX", new XAException(XAException.XA_HEURMIX));
-        xaCodeMap.put("XA_HEURRB", new XAException(XAException.XA_HEURRB));
-        xaCodeMap.put("XA_NOMIGRATE", new XAException(XAException.XA_NOMIGRATE));
-        xaCodeMap.put("XA_RBBASE", new XAException(XAException.XA_RBBASE));
-        xaCodeMap.put("XA_RBCOMMFAIL", new XAException(XAException.XA_RBCOMMFAIL));
-        xaCodeMap.put("XA_RBDEADLOCK", new XAException(XAException.XA_RBDEADLOCK));
-        xaCodeMap.put("XA_RBEND", new XAException(XAException.XA_RBEND));
-        xaCodeMap.put("XA_RBINTEGRITY", new XAException(XAException.XA_RBINTEGRITY));
-        xaCodeMap.put("XA_RBOTHER", new XAException(XAException.XA_RBOTHER));
-        xaCodeMap.put("XA_RBPROTO", new XAException(XAException.XA_RBPROTO));
-        xaCodeMap.put("XA_RBROLLBACK", new XAException(XAException.XA_RBROLLBACK));
-        xaCodeMap.put("XA_RBTIMEOUT", new XAException(XAException.XA_RBTIMEOUT));
-        xaCodeMap.put("XA_RBTRANSIENT", new XAException(XAException.XA_RBTRANSIENT));
-        xaCodeMap.put("XA_RDONLY", new XAException(XAException.XA_RDONLY));
-        xaCodeMap.put("XA_RETRY", new XAException(XAException.XA_RETRY));
-        xaCodeMap.put("XAER_ASYNC", new XAException(XAException.XAER_ASYNC));
-        xaCodeMap.put("XAER_DUPID", new XAException(XAException.XAER_DUPID));
-        xaCodeMap.put("XAER_INVAL", new XAException(XAException.XAER_INVAL));
-        xaCodeMap.put("XAER_NOTA", new XAException(XAException.XAER_NOTA));
-        xaCodeMap.put("XAER_OUTSIDE", new XAException(XAException.XAER_OUTSIDE));
-        xaCodeMap.put("XAER_PROTO", new XAException(XAException.XAER_PROTO));
-        xaCodeMap.put("XAER_RMERR", new XAException(XAException.XAER_RMERR));
-        xaCodeMap.put("XAER_RMFAIL ", new XAException(XAException.XAER_RMFAIL));
-    }
+      if (_xaFailureType.equals(ASFailureType.XARES_RECOVER))
+         applySpec("xa recover");
 
-    public boolean isXAResource()
-    {
-        return _xaFailureType.isXA() || _xaFailureType.equals(ASFailureType.NONE);
-    }
+      return new Xid[0];
+   }
 
-    public boolean isSynchronization()
-    {
-        return _xaFailureType.isSynchronization();
-    }
+   public boolean setTransactionTimeout(int txTimeout) throws XAException
+   {
+      this.txTimeout = txTimeout;
 
-    public boolean isPreCommit()
-    {
-        return _xaFailureType.isPreCommit();
-    }
+      return true;    // set was successfull
+   }
 
-    public boolean expectException()
-    {
-        return _xaFailureMode.equals(ASFailureMode.XAEXCEPTION) || _xaFailureMode.equals(ASFailureMode.EJBEXCEPTION);
-    }
+   public void start(Xid xid, int i) throws XAException
+   {
+      log.fine("start(Xid=" + xid + ", i=" + i);
+      _xids.add(xid);
+
+      if (_xaFailureType.equals(ASFailureType.XARES_START))
+         applySpec("xa start");
+   }
+
+   public String getEISProductName() { return "Test XAResouce";}
+
+   public String getEISProductVersion() { return "v666.0";}
+
+   @SuppressWarnings({"ThrowableInstanceNeverThrown"})
+   private static void init()
+   {
+      xaCodeMap.put("XA_HEURCOM", new XAException(XAException.XA_HEURCOM));
+      xaCodeMap.put("XA_HEURHAZ", new XAException(XAException.XA_HEURHAZ));
+      xaCodeMap.put("XA_HEURMIX", new XAException(XAException.XA_HEURMIX));
+      xaCodeMap.put("XA_HEURRB", new XAException(XAException.XA_HEURRB));
+      xaCodeMap.put("XA_NOMIGRATE", new XAException(XAException.XA_NOMIGRATE));
+      xaCodeMap.put("XA_RBBASE", new XAException(XAException.XA_RBBASE));
+      xaCodeMap.put("XA_RBCOMMFAIL", new XAException(XAException.XA_RBCOMMFAIL));
+      xaCodeMap.put("XA_RBDEADLOCK", new XAException(XAException.XA_RBDEADLOCK));
+      xaCodeMap.put("XA_RBEND", new XAException(XAException.XA_RBEND));
+      xaCodeMap.put("XA_RBINTEGRITY", new XAException(XAException.XA_RBINTEGRITY));
+      xaCodeMap.put("XA_RBOTHER", new XAException(XAException.XA_RBOTHER));
+      xaCodeMap.put("XA_RBPROTO", new XAException(XAException.XA_RBPROTO));
+      xaCodeMap.put("XA_RBROLLBACK", new XAException(XAException.XA_RBROLLBACK));
+      xaCodeMap.put("XA_RBTIMEOUT", new XAException(XAException.XA_RBTIMEOUT));
+      xaCodeMap.put("XA_RBTRANSIENT", new XAException(XAException.XA_RBTRANSIENT));
+      xaCodeMap.put("XA_RDONLY", new XAException(XAException.XA_RDONLY));
+      xaCodeMap.put("XA_RETRY", new XAException(XAException.XA_RETRY));
+      xaCodeMap.put("XAER_ASYNC", new XAException(XAException.XAER_ASYNC));
+      xaCodeMap.put("XAER_DUPID", new XAException(XAException.XAER_DUPID));
+      xaCodeMap.put("XAER_INVAL", new XAException(XAException.XAER_INVAL));
+      xaCodeMap.put("XAER_NOTA", new XAException(XAException.XAER_NOTA));
+      xaCodeMap.put("XAER_OUTSIDE", new XAException(XAException.XAER_OUTSIDE));
+      xaCodeMap.put("XAER_PROTO", new XAException(XAException.XAER_PROTO));
+      xaCodeMap.put("XAER_RMERR", new XAException(XAException.XAER_RMERR));
+      xaCodeMap.put("XAER_RMFAIL ", new XAException(XAException.XAER_RMFAIL));
+   }
+
+   public boolean isXAResource()
+   {
+      return _xaFailureType.isXA() || _xaFailureType.equals(ASFailureType.NONE);
+   }
+
+   public boolean isSynchronization()
+   {
+      return _xaFailureType.isSynchronization();
+   }
+
+   public boolean isPreCommit()
+   {
+      return _xaFailureType.isPreCommit();
+   }
+
+   public boolean expectException()
+   {
+      return _xaFailureMode.equals(ASFailureMode.XAEXCEPTION) || _xaFailureMode.equals(ASFailureMode.EJBEXCEPTION);
+   }
 }

Modified: trunk/testsuite/src/main/org/jboss/test/jbossts/taskdefs/TransactionLog.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jbossts/taskdefs/TransactionLog.java	2010-03-02 09:12:15 UTC (rev 101705)
+++ trunk/testsuite/src/main/org/jboss/test/jbossts/taskdefs/TransactionLog.java	2010-03-02 09:44:32 UTC (rev 101706)
@@ -125,7 +125,7 @@
                   endOfList = true;
                else
                {
-                  if (objectType != null && !theName.equals(objectType))
+                  if (objectType != null && !theName.matches(objectType))
                      continue;
 
                   InputObjectState uids = new InputObjectState();
@@ -154,8 +154,6 @@
                           // end of uids!
                       }
                   }
-
-                  System.out.println();
                }
             }
          }

Modified: trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/EJBUtils.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/EJBUtils.java	2010-03-02 09:12:15 UTC (rev 101705)
+++ trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/EJBUtils.java	2010-03-02 09:44:32 UTC (rev 101706)
@@ -42,12 +42,14 @@
    // ORB is the implementation name of the ORB (default name is JBoss
    // - see conf/jacorb.properties property jacorb.implname)
    // the port 3528 is the IIOP port officially assigned to JBoss by IANA
-   private static String EJB2_JNDI_CORBA_URL = "corbaloc::HOST:PORT/ORB/Naming/root";
+//   private static String EJB2_JNDI_CORBA_URL = "corbaloc::HOST:PORT/ORB/Naming/root";
+   private static String EJB2_JNDI_CORBA_URL = "corbaloc::HOST:PORT/NameService";
    private static String JBOSS_ORB = "JBoss";
 
    private static String JNDI_FAC = "org.jboss.naming.NamingContextFactory";  //"org.jnp.interfaces.NamingContextFactory"
    private static String JNDI_URL = "jnp://HOST:PORT";
    private static String JNDI_PKGS = "org.jboss.naming.client:org.jnp.interfaces";
+   private static String JNDI_CORBA_PKGS = "org.jboss.iiop.naming:org.jboss.naming.client:org.jnp.interfaces";
 //   private static String JNDI_PKGS_SERVER = "org.jboss.naming:org.jnp.interfaces";
 
 
@@ -108,15 +110,23 @@
 //         initOrb();
       
       Properties properties = new Properties();
-      String url = useOTS ? EJB2_JNDI_CORBA_URL : JNDI_URL;
-      String fac = useOTS ? EJB2_JNDI_CORBA_FAC : JNDI_FAC;
+      String url  = useOTS ? EJB2_JNDI_CORBA_URL : JNDI_URL;
+      String fac  = useOTS ? EJB2_JNDI_CORBA_FAC : JNDI_FAC;
+      String pkgs = useOTS ? JNDI_CORBA_PKGS : JNDI_PKGS;
 
       url = url.replace("HOST", host).replace("ORB", JBOSS_ORB);
       url = url.replace("PORT", Integer.toString(useOTS ? corbaPort : jndiPort));
-
       System.out.println("jndi url: " + url);
+      
+      if (useOTS) {
+         org.omg.CORBA.ORB norb = org.jboss.iiop.naming.ORBInitialContextFactory.getORB();
+         if (norb != null)
+             properties.put("java.naming.corba.orb", norb); 
+         properties.put(Context.OBJECT_FACTORIES, "org.jboss.tm.iiop.client.IIOPClientUserTransactionObjectFactory");
+      }
+      
       properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, fac);
-      properties.setProperty(Context.URL_PKG_PREFIXES, JNDI_PKGS);
+      properties.setProperty(Context.URL_PKG_PREFIXES, pkgs);
       properties.setProperty(Context.PROVIDER_URL, url);
 
       return new InitialContext(properties);

Modified: trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/ORBWrapper.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/ORBWrapper.java	2010-03-02 09:12:15 UTC (rev 101705)
+++ trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/ORBWrapper.java	2010-03-02 09:44:32 UTC (rev 101706)
@@ -40,6 +40,9 @@
       
       orb.initORB(new String[] {}, null);
       oa.initOA();
+      
+      com.arjuna.ats.internal.jts.ORBManager.setORB(orb);
+      com.arjuna.ats.internal.jts.ORBManager.setPOA(oa);
    }
 
    public void stop()

Modified: trunk/testsuite/src/resources/jbossts/scripts/as-tests.xml
===================================================================
--- trunk/testsuite/src/resources/jbossts/scripts/as-tests.xml	2010-03-02 09:12:15 UTC (rev 101705)
+++ trunk/testsuite/src/resources/jbossts/scripts/as-tests.xml	2010-03-02 09:44:32 UTC (rev 101706)
@@ -27,16 +27,16 @@
     -->
   <target name="crash-tests" depends="want-all-dbs, want-all-tstypes, want-all-tsdemarc, want-all-testcases, crash-tests-single" />
   
-  <target name="crash-tests-single-db" depends="set-db, want-all-tstypes, want-all-tsdemarc, want-all-testcases, crash-tests-single" />
+  <target name="crash-tests-single-db" depends="want-all-tstypes, want-all-tsdemarc, want-all-testcases, crash-tests-single" />
 
-  <target name="crash-tests-single-db-tstype" depends="set-db, set-tstype, want-all-tsdemarc, want-all-testcases, crash-tests-single" />
+  <target name="crash-tests-single-db-tstype" depends="want-all-tsdemarc, want-all-testcases, crash-tests-single" />
   
-  <target name="crash-tests-single" depends="init, prepare-drivers, set-db, set-tstype, set-tsdemarc, set-testcase, crash-tests-tstype-jta, crash-tests-tstype-jts" />
+  <target name="crash-tests-single" depends="init, set-db, prepare-drivers, set-tstype, set-tsdemarc, set-testcase, crash-tests-tstype-jta, crash-tests-tstype-jts" />
 
 
   <target name="jts-propagation-tests" depends="want-all-ejbX, want-all-transports, jts-propagation-tests-single" />
 
-  <target name="jts-propagation-tests-single" depends="init-propagation-tests, prepare-drivers, set-db, set-ejbX, set-transport, propag-tests-select-db" />
+  <target name="jts-propagation-tests-single" depends="init-propagation-tests, set-db, prepare-drivers, set-ejbX, set-transport, propag-tests-select-db" />
 
 	
   <!--
@@ -180,7 +180,7 @@
 
   <target name="call-tests-for-psql_8.2" if="want.psql_8.2">
     <antcall target="${call.target}">
-      <param name="dbdriver" value="postgresql-8.2.jar"/>
+      <param name="dbdriver" value="${driver.name.psql_8.2}"/>
       <param name="datasource" value="postgres82-xa-ds.xml" /> 
    	  <param name="dbname" value="psql82" /> 
     </antcall>
@@ -188,7 +188,7 @@
 	
   <target name="call-tests-for-psql_8.3" if="want.psql_8.3">
     <antcall target="${call.target}">
-      <param name="dbdriver" value="postgresql-8.3.jar"/>
+      <param name="dbdriver" value="${driver.name.psql_8.3}"/>
       <param name="datasource" value="postgres83-xa-ds.xml" /> 
    	  <param name="dbname" value="psql83" /> 
     </antcall>
@@ -196,46 +196,31 @@
 
   <target name="call-tests-for-oracle_10" if="want.oracle_10">
   	<antcall target="${call.target}">
-  	  <param name="dbdriver" value="ojdbc14.jar"/>
+  	  <param name="dbdriver" value="${driver.name.oracle_10}"/>
   	  <param name="datasource" value="oracle10-xa-ds.xml" /> 
    	  <param name="dbname" value="oracle10" /> 
     </antcall>
   </target>
   	
   <target name="call-tests-for-oracle_11" if="want.oracle_11">
-    <!-- Oracle has qot different .jar for jdk 1.5 vs. 1.6 runtime -->
-    <condition property="oracle.driver" value="ojdbc6.jar">
-       <equals arg1="${java.specification.version}" arg2="1.6"/>
-    </condition>
-  	<property name="oracle.driver" value="ojdbc5.jar"/>
   	<antcall target="${call.target}">
-  	  <param name="dbdriver" value="${oracle.driver}"/>
+  	  <param name="dbdriver" value="${driver.name.oracle_11}"/>
   	  <param name="datasource" value="oracle11-xa-ds.xml" /> 
    	  <param name="dbname" value="oracle11" /> 
     </antcall>
   </target>
 
   <target name="call-tests-for-mssql_2005" if="want.mssql_2005">
-    <!-- MSSQL needs different .jar for jdk 1.5 vs. 1.6 runtime -->
-    <condition property="mssql.driver" value="sqljdbc4.jar">
-       <equals arg1="${java.specification.version}" arg2="1.6"/>
-    </condition>
-  	<property name="mssql.driver" value="sqljdbc.jar"/>
   	<antcall target="${call.target}">
-  	  <param name="dbdriver" value="${mssql.driver}"/>
+  	  <param name="dbdriver" value="${driver.name.mssql_2005}"/>
   	  <param name="datasource" value="mssql2005-xa-ds.xml" /> 
    	  <param name="dbname" value="mssql2005" /> 
     </antcall>
   </target>
 	
   <target name="call-tests-for-mssql_2008" if="want.mssql_2008">
-    <!-- MSSQL needs different .jar for jdk 1.5 vs. 1.6 runtime -->
-    <condition property="mssql.driver" value="sqljdbc4.jar">
-       <equals arg1="${java.specification.version}" arg2="1.6"/>
-    </condition>
-  	<property name="mssql.driver" value="sqljdbc.jar"/>
   	<antcall target="${call.target}">
-  	  <param name="dbdriver" value="${mssql.driver}"/>
+  	  <param name="dbdriver" value="${driver.name.mssql_2008}"/>
   	  <param name="datasource" value="mssql2008-xa-ds.xml" /> 
    	  <param name="dbname" value="mssql2008" /> 
     </antcall>
@@ -243,7 +228,7 @@
   	
   <target name="call-tests-for-mysql_5.0" if="want.mysql_5.0">
   	<antcall target="${call.target}">
-  	  <param name="dbdriver" value="mysql-connector-java-5.0.8.jar"/>
+  	  <param name="dbdriver" value="${driver.name.mysql_5.0}"/>
   	  <param name="datasource" value="mysql50-xa-ds.xml" /> 
    	  <param name="dbname" value="mysql50" /> 
     </antcall>
@@ -251,39 +236,23 @@
 	             
   <target name="call-tests-for-mysql_5.1" if="want.mysql_5.1">
   	<antcall target="${call.target}">
-  	  <param name="dbdriver" value="mysql-connector-java-5.1.7.jar"/>
+  	  <param name="dbdriver" value="${driver.name.mysql_5.1}"/>
   	  <param name="datasource" value="mysql51-xa-ds.xml" /> 
    	  <param name="dbname" value="mysql51" /> 
     </antcall>
   </target>
 
-  <target name="call-tests-for-db2_8.2" if="want.db2_8.2">
-  	<antcall target="${call.target}">
-  	  <param name="dbdriver" value="DB2_v8.2_fp14/db2jcc*.jar"/>
-  	  <param name="datasource" value="db2_82-xa-ds.xml" /> 
-   	  <param name="dbname" value="db2_82" /> 
-    </antcall>
-  </target>
-	  	
   <target name="call-tests-for-db2_9.7" if="want.db2_9.7">
   	<antcall target="${call.target}">
-  	  <param name="dbdriver" value="db2jcc.jar" />
+  	  <param name="dbdriver" value="${driver.name.db2_9.7}" />
   	  <param name="datasource" value="db2_97-xa-ds.xml" /> 
    	  <param name="dbname" value="db2_9" /> 
     </antcall>
   </target>
 	  	
-  <target name="call-tests-for-sybase_12" if="want.sybase_12">
-  	<antcall target="${call.target}">
-  	  <param name="dbdriver" value="jconn3.jar"/>
-  	  <param name="datasource" value="sybase12-xa-ds.xml" /> 
-   	  <param name="dbname" value="sybase12" /> 
-    </antcall>
-  </target>
-
   <target name="call-tests-for-sybase_15" if="want.sybase_15">
   	<antcall target="${call.target}">
-  	  <param name="dbdriver" value="jconn3.jar"/>
+  	  <param name="dbdriver" value="${driver.name.sybase_15}"/>
   	  <param name="datasource" value="sybase15-xa-ds.xml" /> 
    	  <param name="dbname" value="sybase15" /> 
     </antcall>
@@ -527,46 +496,86 @@
     <!-- set these to the location(s) of the database drivers -->
 	
 	<property name="driver.url" value="http://reports.qa.atl.jboss.com/jdbc-drivers/"/>
+    <property name="driver.name.psql_8.2" value="postgresql-8.2.jar"/>
+    <property name="driver.name.psql_8.3" value="postgresql-8.3.jar"/>
+    <property name="driver.name.sybase_15" value="jconn3.jar"/>
+    <property name="driver.name.oracle_10" value="ojdbc14.jar"/>
+    <property name="driver.name.oracle_11" value="ojdbc6.jar"/>
+    <property name="driver.name.db2_9.7" value="db2jcc.jar"/>
+    <property name="driver.name.mysql_5.0" value="mysql-connector-java-5.0.8.jar"/>
+    <property name="driver.name.mysql_5.1" value="mysql-connector-java-5.1.7.jar"/>
+    <property name="driver.name.mssql_2005" value="sqljdbc4.jar"/>
+    <property name="driver.name.mssql_2008" value="sqljdbc4.jar"/>
 	
     <target name="prepare-drivers">
-       <available file="${driver.home}" property="have.dbdrivers" value="true"/>   	
+       <available file="${driver.home}/${driver.name.oracle_10}" property="have.dbdriver.oracle_10" value="true"/>   	
+       <available file="${driver.home}/${driver.name.oracle_11}" property="have.dbdriver.oracle_11" value="true"/>      
+       <available file="${driver.home}/${driver.name.mssql_2005}" property="have.dbdriver.mssql_2005" value="true"/>      
+       <available file="${driver.home}/${driver.name.mssql_2008}" property="have.dbdriver.mssql_2008" value="true"/>      
+       <available file="${driver.home}/${driver.name.psql_8.3}" property="have.dbdriver.psql_8.3" value="true"/>      
+       <available file="${driver.home}/${driver.name.psql_8.2}" property="have.dbdriver.psql_8.2" value="true"/>      
+       <available file="${driver.home}/${driver.name.mysql_5.1}" property="have.dbdriver.mysql_5.1" value="true"/>      
+       <available file="${driver.home}/${driver.name.mysql_5.0}" property="have.dbdriver.mysql_5.0" value="true"/>      
+       <available file="${driver.home}/${driver.name.db2_9.7}" property="have.dbdriver.db2_9.7" value="true"/>      
+       <available file="${driver.home}/${driver.name.sybase_15}" property="have.dbdriver.sybase_15" value="true"/>
+       
+       <mkdir dir="${driver.home}" />
        <antcall target="get.drivers" />
     </target>
 
-    <target name="get.drivers" unless="have.dbdrivers">
-
-    	<mkdir dir="${driver.home}" />
+    <target name="get.drivers" 
+    	depends="get.driver.oracle_10, 
+    	         get.driver.oracle_11,
+                 get.driver.mssql_2005,
+    	         get.driver.mssql_2008,
+    	         get.driver.psql_8.3,
+    	         get.driver.psql_8.2,
+    	         get.driver.mysql_5.1,
+                 get.driver.mysql_5.0,
+    	         get.driver.db2_9.7,
+    	         get.driver.sybase_15" />
     	
+    <target name="get.driver.oracle_10" unless="have.dbdriver.oracle_10" if="want.oracle_10">
         <get src="${driver.url}/maven2/com/oracle/ojdbc14/10.2.0.4/ojdbc14-10.2.0.4.jar"
-             dest="${driver.home}/ojdbc14.jar"/>
-        <get src="${driver.url}/maven2/com/oracle/ojdbc5/11.1.0.7.0/ojdbc5-11.1.0.7.0.jar"
-             dest="${driver.home}/ojdbc5.jar"/>
+             dest="${driver.home}/${driver.name.oracle_10}"/>
+    </target>
+    <target name="get.driver.oracle_11" unless="have.dbdriver.oracle_11" if="want.oracle_11">
         <get src="${driver.url}/maven2/com/oracle/ojdbc6/11.1.0.7.0/ojdbc6-11.1.0.7.0.jar"
-             dest="${driver.home}/ojdbc6.jar"/>
-
-        <get src="${driver.url}/maven2/com/microsoft/sqlserver/msjdbc/2.0.1008.2/msjdbc-2.0.1008.2.jar"
-             dest="${driver.home}/sqljdbc.jar"/>
+             dest="${driver.home}/${driver.name.oracle_11}"/>
+    </target>
+    <target name="get.driver.mssql_2005" unless="have.dbdriver.mssql_2005" if="want.mssql_2005">
         <get src="${driver.url}/maven2/com/microsoft/sqlserver/msjdbc/2.0.1008.2/msjdbc-2.0.1008.2-4.jar"
-             dest="${driver.home}/sqljdbc4.jar"/>
-
+             dest="${driver.home}/${driver.name.mssql_2005}"/>
+    </target>
+    <target name="get.driver.mssql_2008" unless="have.dbdriver.mssql_2008" if="want.mssql_2008">
+        <get src="${driver.url}/maven2/com/microsoft/sqlserver/msjdbc/2.0.1008.2/msjdbc-2.0.1008.2-4.jar"
+             dest="${driver.home}/${driver.name.mssql_2008}"/>
+    </target>
+    <target name="get.driver.psql_8.3" unless="have.dbdriver.psql_8.3" if="want.psql_8.3">
         <get src="${driver.url}/maven2/postgresql/postgresql/8.3-604/postgresql-8.3-604-jdbc4.jar"
-             dest="${driver.home}/postgresql-8.3.jar"/>
+             dest="${driver.home}/${driver.name.psql_8.3}"/>
+    </target>
+    <target name="get.driver.psql_8.2" unless="have.dbdriver.psql_8.2" if="want.psql_8.2">
         <get src="${driver.url}/maven2/postgresql/postgresql/8.2-504/postgresql-8.2-504-jdbc3.jar"
-             dest="${driver.home}/postgresql-8.2.jar"/>
-
+             dest="${driver.home}/${driver.name.psql_8.2}"/>
+    </target>
+    <target name="get.driver.mysql_5.1" unless="have.dbdriver.mysql_5.1" if="want.mysql_5.1">
         <get src="${driver.url}/maven2/mysql/mysql-connector-java/5.1.7/mysql-connector-java-5.1.7.jar"
-             dest="${driver.home}/mysql-connector-java-5.1.7.jar"/>
+             dest="${driver.home}/${driver.name.mysql_5.1}"/>
+    </target>
+    <target name="get.driver.mysql_5.0" unless="have.dbdriver.mysql_5.0" if="want.mysql_5.0">
         <get src="${driver.url}/maven2/mysql/mysql-connector-java/5.0.8/mysql-connector-java-5.0.8.jar"
-             dest="${driver.home}/mysql-connector-java-5.0.8.jar"/>
-
+             dest="${driver.home}/${driver.name.mysql_5.0}"/>
+    </target>
+    <target name="get.driver.db2_9.7" unless="have.dbdriver.db2_9.7" if="want.db2_9.7">
         <get src="${driver.url}/maven2/com/ibm/db2jcc/3.1.57/db2jcc-3.1.57.jar"
-             dest="${driver.home}/db2jcc.jar"/>
+             dest="${driver.home}/${driver.name.db2_9.7}"/>
         <get src="${driver.url}/maven2/com/ibm/db2jcc_license_cu/3.1.57/db2jcc_license_cu-3.1.57.jar"
              dest="${driver.home}/db2jcc_license_cu.jar"/>
-
+    </target>
+    <target name="get.driver.sybase_15" unless="have.dbdriver.sybase_15" if="want.sybase_15">
         <get src="${driver.url}/maven2/com/sybase/jconnect/6.0.5/jconnect-6.0.5.jar"
-             dest="${driver.home}/jconn3.jar"/>
-
+             dest="${driver.home}/${driver.name.sybase_15}"/>
     </target>
 
   <!-- ===========   JTS Propagation Test  ==========  -->	
@@ -636,29 +645,47 @@
 	
   <target name="jts-propagation-tests-batch">
   	
-      <condition property="test.name.clientTx" value="clientTx-" else="">
-        <istrue value="${jbossts.clientTx}"/>
-      </condition>
       <condition property="test.name.ejbX" value="ejb3" else="ejb2">
         <istrue value="${ejb3}"/>
       </condition>
       <condition property="test.name.transport" value="iiop" else="jrmp">
         <istrue value="${ots}"/>
       </condition>
-      <property name="testname.prefix" value="${test.name.clientTx}${test.name.ejbX}-${test.name.transport}"/>
+      <property name="testname.prefix.noClientTx" value="${test.name.ejbX}-${test.name.transport}"/>
+      <property name="testname.prefix.clientTx" value="clientTx-${testname.prefix.noClientTx}"/>
 
       <!-- batch of jts propagation test scenarios -->
-      <run-jts-propagation-test specs0="none" specs1="none" rollbackExpected="false" />
-      <run-jts-propagation-test specs0="none" specs1="pre_prepare_rollbackonly" rollbackExpected="true" />
-      <run-jts-propagation-test specs0="pre_prepare_rollbackonly" specs1="none" rollbackExpected="true" />
-      <run-jts-propagation-test specs0="none" specs1="pre_prepare_ejbexception" rollbackExpected="true" />
-      <run-jts-propagation-test specs0="pre_prepare_ejbexception" specs1="none" rollbackExpected="true" />
-      <run-jts-propagation-test specs0="none" specs1="synch_before_rollbackonly" rollbackExpected="true" />
-      <run-jts-propagation-test specs0="synch_before_rollbackonly" specs1="none" rollbackExpected="true" />
-      <run-jts-propagation-test specs0="none" specs1="prepare_ex_rollback" rollbackExpected="true" />
-      <run-jts-propagation-test specs0="prepare_ex_rollback" specs1="none" rollbackExpected="true" />
-      <run-jts-propagation-test specs0="none" specs1="pre_prepare_suspend" rollbackExpected="true" />
-      <!--run-jts-propagation-test specs0="pre_prepare_suspend" specs1="none" rollbackExpected="true" /-->
+      <!-- client initiated transactions -->
+      <run-jts-propagation-test specs0="none" specs1="none" rollbackExpected="false" clientTx="true" testNamePref="${testname.prefix.clientTx}" />
+      <run-jts-propagation-test specs0="none" specs1="pre_prepare_rollbackonly" rollbackExpected="true" clientTx="true" testNamePref="${testname.prefix.clientTx}" />
+      <run-jts-propagation-test specs0="pre_prepare_rollbackonly" specs1="none" rollbackExpected="true" clientTx="true" testNamePref="${testname.prefix.clientTx}" />
+      <run-jts-propagation-test specs0="none" specs1="synch_before_rollbackonly" rollbackExpected="true" clientTx="true" testNamePref="${testname.prefix.clientTx}" />
+      <run-jts-propagation-test specs0="synch_before_rollbackonly" specs1="none" rollbackExpected="true" clientTx="true" testNamePref="${testname.prefix.clientTx}" />
+      <run-jts-propagation-test specs0="none" specs1="prepare_ex_rollback" rollbackExpected="true" clientTx="true" testNamePref="${testname.prefix.clientTx}" />
+      <run-jts-propagation-test specs0="prepare_ex_rollback" specs1="none" rollbackExpected="true" clientTx="true" testNamePref="${testname.prefix.clientTx}" />
+      <run-jts-propagation-test specs0="none" specs1="pre_prepare_suspend" rollbackExpected="true" clientTx="true" testNamePref="${testname.prefix.clientTx}" />
+      <run-jts-propagation-test specs0="pre_prepare_suspend" specs1="none" rollbackExpected="true" clientTx="true" testNamePref="${testname.prefix.clientTx}" />
+  	  
+   	  <!-- server initiated transactions -->
+      <run-jts-propagation-test specs0="none" specs1="none" rollbackExpected="false" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+      <run-jts-propagation-test specs0="none" specs1="pre_prepare_rollbackonly" rollbackExpected="true" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+      <run-jts-propagation-test specs0="pre_prepare_rollbackonly" specs1="none" rollbackExpected="true" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+      <run-jts-propagation-test specs0="none" specs1="pre_prepare_ejbexception" rollbackExpected="true" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+      <run-jts-propagation-test specs0="pre_prepare_ejbexception" specs1="none" rollbackExpected="true" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+      <run-jts-propagation-test specs0="none" specs1="synch_before_rollbackonly" rollbackExpected="true" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+      <run-jts-propagation-test specs0="synch_before_rollbackonly" specs1="none" rollbackExpected="true" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+      <run-jts-propagation-test specs0="none" specs1="prepare_ex_rollback" rollbackExpected="true" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+      <run-jts-propagation-test specs0="prepare_ex_rollback" specs1="none" rollbackExpected="true" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+      <run-jts-propagation-test specs0="none" specs1="pre_prepare_suspend" rollbackExpected="true" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+      <run-jts-propagation-test specs0="pre_prepare_suspend" specs1="none" rollbackExpected="true" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+  	  
+  	  <!-- tests integrated with crash recovery -->
+      <run-jts-propagation-test specs0="none" specs1="prepare_ex" rollbackExpected="true" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+      <run-jts-propagation-test specs0="prepare_ex" specs1="none" rollbackExpected="true" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+      <run-jts-propagation-test specs0="none" specs1="prepare_halt" rollbackExpected="true" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+      <run-jts-propagation-test specs0="prepare_halt" specs1="none" rollbackExpected="true" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+      <run-jts-propagation-test specs0="none" specs1="commit_halt" rollbackExpected="false" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
+      <run-jts-propagation-test specs0="commit_halt" specs1="none" rollbackExpected="false" clientTx="false" testNamePref="${testname.prefix.noClientTx}" />
   </target>
 
   <target name="start-servers-for-jts-propagation-tests" unless="dont.start.server.for.astests">
@@ -701,10 +728,13 @@
     <attribute name="specs0"/>
     <attribute name="specs1"/>
     <attribute name="rollbackExpected"/>
+    <attribute name="clientTx"/>
+    <attribute name="testNamePref"/>
     <sequential>
+    
     <astest:action abortOnFail="false" waitFor="10000" impl="org.jboss.test.jbossts.taskdefs.JUnitClientAction">
       <param key="testClass" value="org.jboss.test.jbossts.JTSContextPropagation01.TestContextPropagation" />
-      <param key="name" value="${testname.prefix}-@{specs0}-@{specs1}" />
+      <param key="name" value="@{testNamePref}-@{specs0}-@{specs1}" />
       <param key="specs0" value="@{specs0}" />
       <param key="specs1" value="@{specs1}" />
       <param key="ots" value="${ots}" />
@@ -713,12 +743,12 @@
       <param key="serverName1" value="jts-propagation-node1" />
       <param key="host0" value="${node0}" />
       <param key="host1" value="${node1}" />    
-      <param key="clientTx" value="${jbossts.clientTx}" />
+      <param key="clientTx" value="@{clientTx}" />
       <param key="rollbackExpected" value="@{rollbackExpected}" />
       <param key="wipeOutTxsInDoubtBeforeTest" value="${wipeOutTxsInDoubtBeforeTest}" />
       <param key="wipeOutTxsInDoubt" value="${wipeOutTxsInDoubt}" />
       <param key="debug" value="true" />
-      <param key="reportFile" value="${build.reports}/TEST-org.jboss.test.jbossts.JTSContextPropagation01.TestContextPropagation-${testname.prefix}-@{specs0}-@{specs1}.xml" />
+      <param key="reportFile" value="${build.reports}/TEST-org.jboss.test.jbossts.JTSContextPropagation01.TestContextPropagation-@{testNamePref}-@{specs0}-@{specs1}.xml" />
       <param key="testTime" value="${testTime}" />
     </astest:action>
     </sequential>




More information about the jboss-cvs-commits mailing list