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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun Jan 17 16:44:28 EST 2010


Author: istudens at redhat.com
Date: 2010-01-17 16:44:28 -0500 (Sun, 17 Jan 2010)
New Revision: 99508

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/ASFailureMode.java
   trunk/testsuite/src/main/org/jboss/test/jbossts/recovery/ASFailureType.java
   trunk/testsuite/src/main/org/jboss/test/jbossts/recovery/ASTestResource.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/main/org/jboss/test/jbossts/txpropagation/ejb3/TxPropagationBean.java
   trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/ejb3/TxPropagationRem.java
   trunk/testsuite/src/resources/jbossts/scripts/as-tests.xml
   trunk/testsuite/src/resources/jbossts/scripts/imports/test-config.xml
Log:
enums converted to classes, easier db configuration, ... JBQA-2604

Modified: trunk/testsuite/imports/config/tests-jts-propagation.xml
===================================================================
--- trunk/testsuite/imports/config/tests-jts-propagation.xml	2010-01-16 14:45:15 UTC (rev 99507)
+++ trunk/testsuite/imports/config/tests-jts-propagation.xml	2010-01-17 21:44:28 UTC (rev 99508)
@@ -26,6 +26,7 @@
     |    ./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. 
     -->
    <target name="tests-jts-propagation" depends="init-dependencies"
            description="Runs JBossTS JTS propagation tests">
@@ -44,6 +45,7 @@
       <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}" />
 
@@ -77,6 +79,8 @@
             <sysproperty key="jboss.home" value="${jbosstest.dist}" />
             <sysproperty key="jboss.dist" value="${jboss.dist}" />
             <sysproperty key="astest.jar.dir" value="${build.lib}" />
+            <sysproperty key="astest.jar.name" value="jts-propagation-ejb3.jar" />
+            <sysproperty key="astest.ejb2.jar.name" value="jts-propagation-ejb2.jar" />
             <sysproperty key="astest.jar.deploy.dir" value="../../lib" />
             <sysproperty key="build.reports" value="${build.reports}" />
             <sysproperty key="jbossas.startup.timeout" value="480" />
@@ -85,6 +89,7 @@
             <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 -->
             <sysproperty key="testTime" value="${jbossts.max.time}" />
@@ -153,7 +158,7 @@
         </replace>
         
         <!-- more verbose logging 
-        FIXME modify it for new transactions, i.e. for deploy/transaction-jboss-beans.xml file
+        FIXME modify it for new jbossts version, i.e. for deploy/transaction-jboss-beans.xml file
         <replace file="${jboss.dist}/server/@{conf}/conf/jbossts-properties.xml">
            <replacetoken><![CDATA[type="System" value="0x00000000"]]></replacetoken>
            <replacevalue><![CDATA[type="System" value="0xffffffff"]]></replacevalue>

Modified: trunk/testsuite/src/main/org/jboss/test/jbossts/JTSContextPropagation01/TestContextPropagation.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jbossts/JTSContextPropagation01/TestContextPropagation.java	2010-01-16 14:45:15 UTC (rev 99507)
+++ trunk/testsuite/src/main/org/jboss/test/jbossts/JTSContextPropagation01/TestContextPropagation.java	2010-01-17 21:44:28 UTC (rev 99508)
@@ -200,11 +200,11 @@
             print(existingXidsInDoubtServer0.size() + " txs in doubt in database on server0 before test run");
             print(existingXidsInDoubtServer1.size() + " txs in doubt in database on server1 before test run");
          }
-
+         
          // name of this test will be the primary key for test record in DB
          String testEntityPKServer0 = getName() + "_" + serverName0;
          String testEntityPKServer1 = getName() + "_" + serverName1;
-
+         
          // initialize databases
          TestEntity initEntityServer0 = initDatabase(serverName0, testEntityPKServer0);
          TestEntity initEntityServer1 = initDatabase(serverName1, testEntityPKServer1);
@@ -232,6 +232,7 @@
             wipeOutTxsInDoubt(serverName1, existingXidsInDoubtServer1, xidsInDoubtAfterTestServer1);
          }
 
+
          assertTrue("Propagation test failed.", result);
          assertTrue("Incorrect data in database on server0.", dbChangedServer0);
          assertTrue("Incorrect data in database on server1.", dbChangedServer1);
@@ -268,7 +269,7 @@
          String res = null;
 
          if (clientTx)
-            startTx(serverName0);
+            startTx(host0, jndiPort0);
 
          if (useEJB3)
          {
@@ -476,10 +477,10 @@
       return (TestEntityHelperRem) config.getNamingContext(serverName).lookup(TestEntityHelper.REMOTE_JNDI_NAME);
    }
 
-   protected void startTx(String serverName) throws NamingException, SystemException, NotSupportedException, SubtransactionsUnavailable, org.omg.CORBA.SystemException, InvalidName
+   protected void startTx(String host, int jndiPort) throws Exception
    {
       if (isDebug)
-         print("startTx at serverName=" + serverName + ", useOTS = " + useOTS);
+         print("startTx at host " + host + ", jndiPort " + jndiPort + " and useOTS " + useOTS);
       
       if (useOTS)
       {
@@ -488,7 +489,7 @@
       }
       else
       {
-         tx = (UserTransaction) config.getNamingContext(serverName).lookup("UserTransaction");
+         tx = (UserTransaction) EJBUtils.lookupObject(host, jndiPort, "UserTransaction");
          tx.begin();
       }
    }

Modified: trunk/testsuite/src/main/org/jboss/test/jbossts/recovery/ASFailureMode.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jbossts/recovery/ASFailureMode.java	2010-01-16 14:45:15 UTC (rev 99507)
+++ trunk/testsuite/src/main/org/jboss/test/jbossts/recovery/ASFailureMode.java	2010-01-17 21:44:28 UTC (rev 99508)
@@ -23,34 +23,160 @@
 import java.io.Serializable;
 
 /**
- * Specification of what to do when a failure is injected
+ * Specification of what to do when a failure is injected.
  */
-public enum ASFailureMode implements Serializable
+public class ASFailureMode implements Serializable
 {
-    NONE(false)
+   private static final int _NONE = 0;
+   private static final int _HALT = 1;
+   private static final int _EXIT = 2;
+   private static final int _SUSPEND = 3;
+   private static final int _XAEXCEPTION = 4;
+   private static final int _EJBEXCEPTION = 5;
+   private static final int _ROLLBACK_ONLY = 6;
+
+   private static final String _NONE_NAME = "NONE";
+   private static final String _HALT_NAME = "HALT";
+   private static final String _EXIT_NAME = "EXIT";
+   private static final String _SUSPEND_NAME = "SUSPEND";
+   private static final String _XAEXCEPTION_NAME = "XAEXCEPTION";
+   private static final String _EJBEXCEPTION_NAME = "EJBEXCEPTION";
+   private static final String _ROLLBACK_ONLY_NAME = "ROLLBACK_ONLY";
+
+   /* just for simpler transition from the enum type */
+   public static final ASFailureMode NONE = new ASFailureMode(_NONE);
+   public static final ASFailureMode HALT = new ASFailureMode(_HALT);
+   public static final ASFailureMode EXIT = new ASFailureMode(_EXIT);
+   public static final ASFailureMode SUSPEND = new ASFailureMode(_SUSPEND);
+   public static final ASFailureMode XAEXCEPTION = new ASFailureMode(_XAEXCEPTION);
+   public static final ASFailureMode EJBEXCEPTION = new ASFailureMode(_EJBEXCEPTION);
+   public static final ASFailureMode ROLLBACK_ONLY = new ASFailureMode(_ROLLBACK_ONLY);
+   
+   private int mode;
+   
+   public ASFailureMode(int mode)
+   {
+      this.mode = mode;
+   }
+
+   public boolean willTerminateVM()
+   {
+       switch (mode)
+       {
+          case _HALT:
+          case _EXIT:
+             return true;
+          default:
+             return false;
+       }
+   }
+
+   /* enum like methods */
+   public String name()
+   {
+      switch (mode)
+      {
+         case _NONE:
+            return _NONE_NAME;
+         case _HALT:
+            return _HALT_NAME;
+         case _EXIT:
+            return _EXIT_NAME;
+         case _SUSPEND:
+            return _SUSPEND_NAME;
+         case _XAEXCEPTION:
+            return _XAEXCEPTION_NAME;
+         case _EJBEXCEPTION:
+            return _EJBEXCEPTION_NAME;
+         case _ROLLBACK_ONLY:
+            return _ROLLBACK_ONLY_NAME;
+         default:
+            return "uninstantiated";
+      }
+   }
+   
+   public int ordinal()
+   {
+      return mode;
+   }
+
+   public static ASFailureMode valueOf(String mode)
+   {
+      if (_NONE_NAME.equalsIgnoreCase(mode))
+         return NONE;
+      else if (_HALT_NAME.equalsIgnoreCase(mode))
+         return HALT;
+      else if (_EXIT_NAME.equalsIgnoreCase(mode))
+         return EXIT;
+      else if (_SUSPEND_NAME.equalsIgnoreCase(mode))
+         return SUSPEND;
+      else if (_XAEXCEPTION_NAME.equalsIgnoreCase(mode))
+         return XAEXCEPTION;
+      else if (_EJBEXCEPTION_NAME.equalsIgnoreCase(mode))
+         return EJBEXCEPTION;
+      else if (_ROLLBACK_ONLY_NAME.equalsIgnoreCase(mode))
+         return ROLLBACK_ONLY;
+      else
+         throw new IllegalArgumentException("There is no such value of ASFailureMode like " + mode);
+   }
+
+   @Override
+   public int hashCode()
+   {
+      final int prime = 31;
+      int result = 1;
+      result = prime * result + mode;
+      return result;
+   }
+
+   @Override
+   public boolean equals(Object obj)
+   {
+      if (this == obj)
+         return true;
+      if (obj == null)
+         return false;
+      if (getClass() != obj.getClass())
+         return false;
+      ASFailureMode other = (ASFailureMode) obj;
+      if (mode != other.mode)
+         return false;
+      return true;
+   }
+
+   @Override
+   public String toString()
+   {
+      return name();
+   }
+   
+   
+/*   
+    NONE
     
-    ,HALT(true)     // halt the JVM
-    ,EXIT(true)     // exit the JVM
-    ,SUSP(false)    // suspend the calling thread
-    ,XAEX(false)    // fail via one of the xa exception codes
-    ,EJEX(false)   // fail via EJBException -- for using only with ASFailureType.PRE_PREPARE and SYNCH_BEFORE
-    ,RBLY(false)   // mark a transaction as rollback-only -- for using only with ASFailureType.PRE_PREPARE and SYNCH_BEFORE
+    ,HALT     // halt the JVM
+    ,EXIT     // exit the JVM
+    ,SUSPEND    // suspend the calling thread
+    ,XAEXCEPTION    // fail via one of the xa exception codes
+    ,EJBEXCEPTION   // fail via EJBException -- for using only with ASFailureType.PRE_PREPARE and SYNCH_BEFORE
+    ,ROLLBACK_ONLY   // mark a transaction as rollback-only -- for using only with ASFailureType.PRE_PREPARE and SYNCH_BEFORE
     ;
 
-    private boolean willTerminateVM;
-
-    ASFailureMode(boolean willTerminateVM)
-    {
-        this.willTerminateVM = willTerminateVM;
-    }
-
     public boolean willTerminateVM()
     {
-        return willTerminateVM;
+        switch (this)
+        {
+           case HALT:
+           case EXIT:
+              return true;
+           default:
+              return false;
+        }
     }
 
     public static ASFailureMode toEnum(String mode)
     {
         return ASFailureMode.valueOf(mode.toUpperCase());
     }
+    */
 }

Modified: trunk/testsuite/src/main/org/jboss/test/jbossts/recovery/ASFailureType.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jbossts/recovery/ASFailureType.java	2010-01-16 14:45:15 UTC (rev 99507)
+++ trunk/testsuite/src/main/org/jboss/test/jbossts/recovery/ASFailureType.java	2010-01-17 21:44:28 UTC (rev 99508)
@@ -23,10 +23,165 @@
 import java.io.Serializable;
 
 /**
- * Specification of when to inject a failure
+ * Specification of when to inject a failure.
  */
-public enum ASFailureType implements Serializable
+public class ASFailureType implements Serializable
 {
+   private static final int _NONE            = 1;
+   private static final int _PRE_PREPARE     = 2;
+   private static final int _XARES_START     = 3;
+   private static final int _XARES_END       = 4;
+   private static final int _XARES_PREPARE   = 5;
+   private static final int _XARES_ROLLBACK  = 6;
+   private static final int _XARES_COMMIT    = 7;
+   private static final int _XARES_RECOVER   = 8;
+   private static final int _XARES_FORGET    = 9;
+   private static final int _SYNCH_BEFORE    = 10;
+   private static final int _SYNCH_AFTER     = 11;
+   
+   private static final String _NONE_NAME            = "NONE";
+   private static final String _PRE_PREPARE_NAME     = "PRE_PREPARE";
+   private static final String _XARES_START_NAME     = "XARES_START";
+   private static final String _XARES_END_NAME       = "XARES_END";
+   private static final String _XARES_PREPARE_NAME   = "XARES_PREPARE";
+   private static final String _XARES_ROLLBACK_NAME  = "XARES_ROLLBACK";
+   private static final String _XARES_COMMIT_NAME    = "XARES_COMMIT";
+   private static final String _XARES_RECOVER_NAME   = "XARES_RECOVER";
+   private static final String _XARES_FORGET_NAME    = "XARES_FORGET";
+   private static final String _SYNCH_BEFORE_NAME    = "SYNCH_BEFORE";
+   private static final String _SYNCH_AFTER_NAME     = "SYNCH_AFTER";
+   
+   public static final ASFailureType NONE             = new ASFailureType(_NONE);
+   public static final ASFailureType PRE_PREPARE      = new ASFailureType(_PRE_PREPARE);
+   public static final ASFailureType XARES_START      = new ASFailureType(_XARES_START);
+   public static final ASFailureType XARES_END        = new ASFailureType(_XARES_END);
+   public static final ASFailureType XARES_PREPARE    = new ASFailureType(_XARES_PREPARE);
+   public static final ASFailureType XARES_ROLLBACK   = new ASFailureType(_XARES_ROLLBACK);
+   public static final ASFailureType XARES_COMMIT     = new ASFailureType(_XARES_COMMIT);
+   public static final ASFailureType XARES_RECOVER    = new ASFailureType(_XARES_RECOVER);
+   public static final ASFailureType XARES_FORGET     = new ASFailureType(_XARES_FORGET);
+   public static final ASFailureType SYNCH_BEFORE     = new ASFailureType(_SYNCH_BEFORE);
+   public static final ASFailureType SYNCH_AFTER      = new ASFailureType(_SYNCH_AFTER);
+   
+   private int type;
+   
+   public ASFailureType(int type)
+   {
+      this.type = type;
+   }
+
+   public boolean isXA()
+   {
+       return name().startsWith("XARES");
+   }
+
+   public boolean isSynchronization()
+   {
+       return name().startsWith("SYNCH");
+   }
+
+   public boolean isPreCommit()
+   {
+       return equals(PRE_PREPARE);
+   }
+
+   /* enum like methods */
+   public String name()
+   {
+      switch (type)
+      {
+         case _NONE:
+            return _NONE_NAME;
+         case _PRE_PREPARE:
+            return _PRE_PREPARE_NAME;
+         case _XARES_START:
+            return _XARES_START_NAME;
+         case _XARES_END:
+            return _XARES_END_NAME;
+         case _XARES_PREPARE:
+            return _XARES_PREPARE_NAME;
+         case _XARES_ROLLBACK:
+            return _XARES_ROLLBACK_NAME;
+         case _XARES_COMMIT:
+            return _XARES_COMMIT_NAME;
+         case _XARES_RECOVER:
+            return _XARES_RECOVER_NAME;
+         case _XARES_FORGET:
+            return _XARES_FORGET_NAME;
+         case _SYNCH_BEFORE:
+            return _SYNCH_BEFORE_NAME;
+         case _SYNCH_AFTER:
+            return _SYNCH_AFTER_NAME;
+         default:
+            return "uninstantiated";
+      }
+   }
+   
+   public int ordinal()
+   {
+      return type;
+   }
+
+   public static ASFailureType valueOf(String mode)
+   {
+      if (_NONE_NAME.equalsIgnoreCase(mode))
+         return NONE;
+      else if (_PRE_PREPARE_NAME.equalsIgnoreCase(mode))
+         return PRE_PREPARE;
+      else if (_XARES_START_NAME.equalsIgnoreCase(mode))
+         return XARES_START;
+      else if (_XARES_END_NAME.equalsIgnoreCase(mode))
+         return XARES_END;
+      else if (_XARES_PREPARE_NAME.equalsIgnoreCase(mode))
+         return XARES_PREPARE;
+      else if (_XARES_ROLLBACK_NAME.equalsIgnoreCase(mode))
+         return XARES_ROLLBACK;
+      else if (_XARES_COMMIT_NAME.equalsIgnoreCase(mode))
+         return XARES_COMMIT;
+      else if (_XARES_RECOVER_NAME.equalsIgnoreCase(mode))
+         return XARES_RECOVER;
+      else if (_XARES_FORGET_NAME.equalsIgnoreCase(mode))
+         return XARES_FORGET;
+      else if (_SYNCH_BEFORE_NAME.equalsIgnoreCase(mode))
+         return SYNCH_BEFORE;
+      else if (_SYNCH_AFTER_NAME.equalsIgnoreCase(mode))
+         return SYNCH_AFTER;
+      else
+         throw new IllegalArgumentException("There is no such value of ASFailureType like " + mode);
+   }
+
+   @Override
+   public int hashCode()
+   {
+      final int prime = 31;
+      int result = 1;
+      result = prime * result + type;
+      return result;
+   }
+
+   @Override
+   public boolean equals(Object obj)
+   {
+      if (this == obj)
+         return true;
+      if (obj == null)
+         return false;
+      if (getClass() != obj.getClass())
+         return false;
+      ASFailureType other = (ASFailureType) obj;
+      if (type != other.type)
+         return false;
+      return true;
+   }
+
+   @Override
+   public String toString()
+   {
+      return name();
+   }
+
+   
+/*
     NONE
 
     ,PRE_PREPARE // do something before prepare is called
@@ -62,4 +217,5 @@
     {
         return equals(PRE_PREPARE);
     }
+*/
 }

Modified: trunk/testsuite/src/main/org/jboss/test/jbossts/recovery/ASTestResource.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jbossts/recovery/ASTestResource.java	2010-01-16 14:45:15 UTC (rev 99507)
+++ trunk/testsuite/src/main/org/jboss/test/jbossts/recovery/ASTestResource.java	2010-01-17 21:44:28 UTC (rev 99508)
@@ -106,13 +106,13 @@
             System.out.println(message + " ... exiting");
             System.exit(1);
         }
-        else if (_xaFailureMode.equals(ASFailureMode.SUSP))
+        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.RBLY))
+        else if (_xaFailureMode.equals(ASFailureMode.ROLLBACK_ONLY))
         {
             System.out.println(message + " ... marking the current transaction as rollback-only");
             setRollbackOnly();
@@ -156,18 +156,18 @@
 
         if (args != null && args.length != 0)
         {
-            if (_xaFailureMode.equals(ASFailureMode.SUSP))
+            if (_xaFailureMode.equals(ASFailureMode.SUSPEND))
             {
                 _suspend = Integer.parseInt(args[0]);
             }
-            else if (_xaFailureMode.equals(ASFailureMode.XAEX))
+            else if (_xaFailureMode.equals(ASFailureMode.XAEXCEPTION))
             {
                 _xaException = xaCodeMap.get(args[0]);
 
                 if (_xaException == null)
                     _xaException = new XAException(XAException.XAER_RMFAIL);
             }
-            else if (_xaFailureMode.equals(ASFailureMode.EJEX))
+            else if (_xaFailureMode.equals(ASFailureMode.EJBEXCEPTION))
             {
                _ejbException = new EJBException(args[0]);
             }
@@ -353,6 +353,6 @@
 
     public boolean expectException()
     {
-        return _xaFailureMode.equals(ASFailureMode.XAEX);
+        return _xaFailureMode.equals(ASFailureMode.XAEXCEPTION) || _xaFailureMode.equals(ASFailureMode.EJBEXCEPTION);
     }
 }

Modified: trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/EJBUtils.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/EJBUtils.java	2010-01-16 14:45:15 UTC (rev 99507)
+++ trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/EJBUtils.java	2010-01-17 21:44:28 UTC (rev 99508)
@@ -32,6 +32,8 @@
 import org.jboss.test.jbossts.txpropagation.ejb2.TxPropagationEJB2Rem;
 import org.jboss.test.jbossts.txpropagation.ejb3.TxPropagationRem;
 
+import com.arjuna.orbportability.ORB;
+
 public class EJBUtils
 {
    private static String EJB2_JNDI_CORBA_FAC = "com.sun.jndi.cosnaming.CNCtxFactory";
@@ -46,6 +48,7 @@
    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_PKGS_SERVER = "org.jboss.naming:org.jnp.interfaces";
 
 
    
@@ -67,6 +70,11 @@
       }
    }
 
+   public static Object lookupObject(String host, int jndiPort, String name) throws Exception
+   {
+      return lookupObject(host, jndiPort, 0, name, false);
+   }
+   
    public static Object lookupObject(String host, int jndiPort, int corbaPort, String name, boolean useOTS) throws Exception
    {
       System.out.println("looking up " + name + " on host " + host);
@@ -75,8 +83,30 @@
       return ctx.lookup(name);
    }
 
+   
+   private static boolean oi = false;
+
+   /**
+    * Initialize an ORB for sending IIOP requests to another JBoss server
+    * TODO this should not be neccessary - figure out why the default orb
+    * running in the server is used
+    */
+   private static void initOrb()
+   {
+       if (!oi)
+       {
+           oi = true;
+           ORB orb = ORB.getInstance("ServerSide");
+           orb.initORB(new String[] {}, null);
+       }
+   }
+
+   
    public static Context getNamingContext(String host, int jndiPort, int corbaPort, boolean useOTS) throws NamingException, IOException
    {
+//      if (useOTS && corbaPort == 3628)
+//         initOrb();
+      
       Properties properties = new Properties();
       String url = useOTS ? EJB2_JNDI_CORBA_URL : JNDI_URL;
       String fac = useOTS ? EJB2_JNDI_CORBA_FAC : JNDI_FAC;
@@ -104,7 +134,7 @@
       if (useOTS)
          throw new UnsupportedOperationException("ejb3 does not support IIOP protocol yet");
 
-      return (TxPropagationRem) lookupEjb(host, jndiPort, corbaPort, TxPropagationRem.JNDI_NAME, TxPropagationRem.class, false);
+      return (TxPropagationRem) lookupObject(host, jndiPort, corbaPort, TxPropagationRem.JNDI_NAME, false);
    }
 
 }

Modified: trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/ORBWrapper.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/ORBWrapper.java	2010-01-16 14:45:15 UTC (rev 99507)
+++ trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/ORBWrapper.java	2010-01-17 21:44:28 UTC (rev 99508)
@@ -26,7 +26,7 @@
 import com.arjuna.orbportability.RootOA;
 
 /**
- * Simple class to start and stop an ORB for use with OTS based transactions
+ * Simple class to start and stop an ORB for use with OTS based transactions.
  */
 public class ORBWrapper
 {
@@ -36,9 +36,8 @@
    public void start() throws InvalidName
    {
       orb = com.arjuna.orbportability.ORB.getInstance("ClientSide");
-      System.err.println("orb="+orb);
       oa = com.arjuna.orbportability.OA.getRootOA(orb);
-      System.err.println("oa="+oa);
+      
       orb.initORB(new String[] {}, null);
       oa.initOA();
    }

Modified: trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/ejb3/TxPropagationBean.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/ejb3/TxPropagationBean.java	2010-01-16 14:45:15 UTC (rev 99507)
+++ trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/ejb3/TxPropagationBean.java	2010-01-17 21:44:28 UTC (rev 99508)
@@ -35,7 +35,7 @@
    private static Logger log = Logger.getLogger(TxPropagationBean.class);
 
 
-   // Dedicated for the first call of the propagation tests. 
+   // Dedicated for the first call of the propagation tests.
    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public String testXA(ASFailureSpec[] fSpecsNode, ASFailureSpec[] fSpecsRemoteNode, String testEntityPK, String testEntityPKRemoteNode, String remoteHost, boolean expectFailureOnRemoteNode, boolean useOTS, int remoteJndiPort, int remoteCorbaPort)
    {
@@ -112,5 +112,4 @@
          return xatest.startTest(tx) ? "Passed" : "Failed";
       }
    }
-
 }

Modified: trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/ejb3/TxPropagationRem.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/ejb3/TxPropagationRem.java	2010-01-16 14:45:15 UTC (rev 99507)
+++ trunk/testsuite/src/main/org/jboss/test/jbossts/txpropagation/ejb3/TxPropagationRem.java	2010-01-17 21:44:28 UTC (rev 99508)
@@ -20,10 +20,10 @@
  */
 package org.jboss.test.jbossts.txpropagation.ejb3;
 
+import javax.ejb.Remote;
+
 import org.jboss.test.jbossts.recovery.ASFailureSpec;
 
-import javax.ejb.Remote;
-
 @Remote
 public interface TxPropagationRem 
 {
@@ -49,5 +49,5 @@
      * @param testEntityPK
      * @return
      */
-    String testXA(ASFailureSpec[] fSpecsNode, String testEntityPK);
+    public String testXA(ASFailureSpec[] fSpecsNode, String testEntityPK);
 }

Modified: trunk/testsuite/src/resources/jbossts/scripts/as-tests.xml
===================================================================
--- trunk/testsuite/src/resources/jbossts/scripts/as-tests.xml	2010-01-16 14:45:15 UTC (rev 99507)
+++ trunk/testsuite/src/resources/jbossts/scripts/as-tests.xml	2010-01-17 21:44:28 UTC (rev 99508)
@@ -36,7 +36,7 @@
 
   <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-ejbX, set-transport, propag-tests-main" />
+  <target name="jts-propagation-tests-single" depends="init-propagation-tests, prepare-drivers, set-db, set-ejbX, set-transport, propag-tests-select-db" />
 
 	
   <!--
@@ -573,14 +573,7 @@
   
   <target name="init-propagation-tests">
     <property name="wipeOutTxsInDoubt" value="true" />
-    <property name="dbdriver" value="postgresql-8.3.jar"/>
-    <property name="datasource" value="postgres83-xa-ds.xml"/>
-    
     <echo message="jboss.home=${jboss.home}"/>
-    <echo message="node0=${node0}"/>
-    <echo message="node1=${node1}"/>
-    <echo message="dbdriver=${dbdriver}"/>
-    <echo message="datasource=${datasource}"/>
   </target>
 
   <target name="want-all-ejbX">
@@ -611,11 +604,17 @@
     </condition>
   </target>
 	
+  <target name="propag-tests-select-db">
+    <antcall target="call-tests-for-all-dbs"><param name="call.target" value="propag-tests-main"/></antcall>
+  </target>
+
   <target name="propag-tests-main"
-      depends="start-servers-for-jts-propagation-tests,
+      depends="hack-before-astest-run,
+               start-servers-for-jts-propagation-tests,
                propag-tests-ejb3, 
                propag-tests-ejb2,
-               stop-servers-for-jts-propagation-tests" />
+               stop-servers-for-jts-propagation-tests,
+               hack-after-astest-run" />
 	    
   <target name="propag-tests-ejb2" if="want.ejb2">
     <antcall target="propag-tests-transport"><param name="ejb3" value="false" /></antcall>
@@ -654,35 +653,41 @@
       <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="pre_prepare_suspend_long" specs1="none" rollbackExpected="true" />
-      <run-jts-propagation-test specs0="none" specs1="pre_prepare_suspend_long" 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" /-->
   </target>
 
   <target name="start-servers-for-jts-propagation-tests" unless="dont.start.server.for.astests">
+  	
+    <condition property="astest.app.jar.name" value="${astest.alternative.jar.name}">
+      <isset property="astest.alternative.jar.name"/>
+    </condition>
+    <property name="astest.app.jar.name" value="${astest.jar.name}" />
+  	
     <astest:server method="start" serverName="jts-propagation-node0" >
       <deploy from="dbdrivers/${dbdriver}" to="lib/${dbdriver}" />
       <deploy from="resources/${datasource}" to="deploy/${datasource}" />
-      <deploy from="${astest.jar.deploy.dir}/jts-propagation-ejb3.jar" to="deploy/jts-propagation-ejb3.jar" />
-      <deploy from="${astest.jar.deploy.dir}/jts-propagation-ejb2.jar" to="deploy/jts-propagation-ejb2.jar" />
+      <deploy from="${astest.jar.deploy.dir}/${astest.app.jar.name}" to="deploy/${astest.jar.name}" />
+      <deploy from="${astest.jar.deploy.dir}/${astest.ejb2.jar.name}" to="deploy/${astest.ejb2.jar.name}" />
     </astest:server>
     <astest:server method="start" serverName="jts-propagation-node1" >
       <deploy from="dbdrivers/${dbdriver}" to="lib/${dbdriver}" />
       <deploy from="resources/${datasource}" to="deploy/${datasource}" />
-      <deploy from="${astest.jar.deploy.dir}/jts-propagation-ejb3.jar" to="deploy/jts-propagation-ejb3.jar" />
-      <deploy from="${astest.jar.deploy.dir}/jts-propagation-ejb2.jar" to="deploy/jts-propagation-ejb2.jar" />
+      <deploy from="${astest.jar.deploy.dir}/${astest.app.jar.name}" to="deploy/${astest.jar.name}" />
+      <deploy from="${astest.jar.deploy.dir}/${astest.ejb2.jar.name}" to="deploy/${astest.ejb2.jar.name}" />
     </astest:server>
   </target>
   
   <target name="stop-servers-for-jts-propagation-tests" unless="dont.start.server.for.astests">
     <astest:server method="stop" serverName="jts-propagation-node1">
-      <undeploy from="deploy/jts-propagation-ejb2.jar" />
-      <undeploy from="deploy/jts-propagation-ejb3.jar" />
+      <undeploy from="deploy/${astest.ejb2.jar.name}" />
+      <undeploy from="deploy/${astest.jar.name}" />
       <undeploy from="deploy/${datasource}" />
       <undeploy from="lib/${dbdriver}" />     
     </astest:server>
     <astest:server method="stop" serverName="jts-propagation-node0">
-      <undeploy from="deploy/jts-propagation-ejb2.jar" />
-      <undeploy from="deploy/jts-propagation-ejb3.jar" />
+      <undeploy from="deploy/${astest.ejb2.jar.name}" />
+      <undeploy from="deploy/${astest.jar.name}" />
       <undeploy from="deploy/${datasource}" />
       <undeploy from="lib/${dbdriver}" />     
     </astest:server>

Modified: trunk/testsuite/src/resources/jbossts/scripts/imports/test-config.xml
===================================================================
--- trunk/testsuite/src/resources/jbossts/scripts/imports/test-config.xml	2010-01-16 14:45:15 UTC (rev 99507)
+++ trunk/testsuite/src/resources/jbossts/scripts/imports/test-config.xml	2010-01-17 21:44:28 UTC (rev 99508)
@@ -42,18 +42,15 @@
     - server can be changed via the server.binding.name and server.binding.location properties.
     -->
   <astest:config javaHome="${env.JAVA_HOME}" debug="false">
-     <spec name= "prepare_ex" mode="XAEX" type="XARES_PREPARE" modeArg="XAER_RMFAIL" />
+     <spec name= "none" mode="NONE" type="NONE" />
+     <spec name= "prepare_ex" mode="XAEXCEPTION" type="XARES_PREPARE" modeArg="XAER_RMFAIL" />
      <spec name= "prepare_halt" mode="HALT" type="XARES_PREPARE" />
      <spec name= "commit_halt" mode="HALT" type="XARES_COMMIT" />
-     <spec name= "none" mode="NONE" type="NONE" />
-     <spec name= "prepare_ex_rollback" mode="XAEX" type="XARES_PREPARE" modeArg="XA_RBROLLBACK" />
-     <spec name= "pre_prepare_rollbackonly" mode="RBLY" type="PRE_PREPARE" />
-     <spec name= "pre_prepare_ejbexception" mode="EJEX" type="PRE_PREPARE" modeArg="ejb exception before commit" />
-     <spec name= "synch_before_rollbackonly" mode="RBLY" type="SYNCH_BEFORE" />
-     <spec name= "pre_prepare_suspend_short" mode="SUSP" type="PRE_PREPARE" modeArg="100000" />
-     <spec name= "pre_prepare_suspend_long" mode="SUSP" type="PRE_PREPARE" modeArg="200000" />
-     <spec name= "synch_before_suspend_short" mode="SUSP" type="SYNCH_BEFORE" modeArg="100000" />
-     <spec name= "synch_before_suspend_long" mode="SUSP" type="SYNCH_BEFORE" modeArg="200000" />
+     <spec name= "prepare_ex_rollback" mode="XAEXCEPTION" type="XARES_PREPARE" modeArg="XA_RBROLLBACK" />
+     <spec name= "pre_prepare_rollbackonly" mode="ROLLBACK_ONLY" type="PRE_PREPARE" />
+     <spec name= "pre_prepare_ejbexception" mode="EJBEXCEPTION" type="PRE_PREPARE" modeArg="ejb exception before commit" />
+     <spec name= "synch_before_rollbackonly" mode="ROLLBACK_ONLY" type="SYNCH_BEFORE" />
+     <spec name= "pre_prepare_suspend" mode="SUSPEND" type="PRE_PREPARE" modeArg="100000" />
 
       <!--
          Profiles for JBossAS Testsuite integration




More information about the jboss-cvs-commits mailing list