You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kg...@apache.org on 2011/10/06 22:04:55 UTC

svn commit: r1179802 [4/4] - in /qpid/branches/qpid-3346/qpid: ./ cpp/bindings/qpid/ruby/ cpp/bindings/qpid/ruby/ext/ cpp/bindings/qpid/ruby/ext/cqpid/ cpp/bindings/qpid/ruby/lib/qpid/ cpp/docs/api/ cpp/docs/man/ cpp/examples/old_api/tradedemo/ cpp/inc...

Modified: qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactionTimeoutTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactionTimeoutTest.java?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactionTimeoutTest.java (original)
+++ qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactionTimeoutTest.java Thu Oct  6 20:04:48 2011
@@ -30,152 +30,125 @@ package org.apache.qpid.test.unit.transa
  */
 public class TransactionTimeoutTest extends TransactionTimeoutTestCase
 {
-    public void testProducerIdle() throws Exception
+
+    protected void configure() throws Exception
     {
-        try
+        // Setup housekeeping every second
+        setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".housekeeping.checkPeriod", "100");
+
+        if (getName().contains("ProducerIdle"))
         {
-            sleep(2.0f);
-    
-            _psession.commit();
+            setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.openWarn", "0");
+            setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.openClose", "0");
+            setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.idleWarn", "500");
+            setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.idleClose", "1500");
         }
-        catch (Exception e)
+        else if (getName().contains("ProducerOpen"))
         {
-            fail("Should have succeeded");
+            setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.openWarn", "1000");
+            setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.openClose", "2000");
+            setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.idleWarn", "0");
+            setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.idleClose", "0");
         }
-        
-        assertTrue("Listener should not have received exception", _caught.getCount() == 1);
-        
-        monitor(0, 0);
-    }
-    
-    public void testProducerIdleCommit() throws Exception
-    {
-        try
+        else
         {
-            send(5, 0);
-            
-            sleep(2.0f);
-    
-            _psession.commit();
-            fail("should fail");
+            setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.openWarn", "1000");
+            setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.openClose", "2000");
+            setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.idleWarn", "500");
+            setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.idleClose", "1000");
         }
-        catch (Exception e)
-        {
-            _exception = e;
-        }
-        
-        monitor(5, 0);
-        
-        check(IDLE);
     }
-    
-    public void testProducerOpenCommit() throws Exception
+
+    public void testProducerIdle() throws Exception
     {
-        try
-        {
-            send(6, 0.5f);
-    
-            _psession.commit();
-            fail("should fail");
-        }
-        catch (Exception e)
-        {
-            _exception = e;
-        }
-        
-        monitor(0, 10);
-        
-        check(OPEN);
+        sleep(2.0f);
+
+        _psession.commit();
+
+        assertEquals("Listener should not have received exception", 0, getNumberOfDeliveredExceptions());
+
+        monitor(0, 0);
     }
-    
-    public void testProducerIdleCommitTwice() throws Exception
+
+    public void testProducerIdleCommit() throws Exception
     {
+        send(5, 0);
+        // Idle for more than idleClose to generate idle-warns and cause a close.
+        sleep(2.0f);
+
         try
         {
-            send(5, 0);
-            
-            sleep(1.0f);
-            
-            _psession.commit();
-            
-            send(5, 0);
-            
-            sleep(2.0f);
-    
             _psession.commit();
-            fail("should fail");
+            fail("Exception not thrown");
         }
         catch (Exception e)
         {
             _exception = e;
         }
-        
+
         monitor(10, 0);
-        
+
         check(IDLE);
     }
-    
-    public void testProducerOpenCommitTwice() throws Exception
+
+    public void testProducerIdleCommitTwice() throws Exception
     {
+        send(5, 0);
+        // Idle for less than idleClose to generate idle-warns
+        sleep(1.0f);
+
+        _psession.commit();
+
+        send(5, 0);
+        // Now idle for more than idleClose to generate more idle-warns and cause a close.
+        sleep(2.0f);
+
         try
         {
-            send(5, 0);
-            
-            sleep(1.0f);
-            
-            _psession.commit();
-            
-            send(6, 0.5f);
-    
             _psession.commit();
-            fail("should fail");
+            fail("Exception not thrown");
         }
         catch (Exception e)
         {
             _exception = e;
         }
-        
-        // the presistent store generates more idle messages?
-        monitor(isBrokerStorePersistent() ? 10 : 5, 10);
-        
-        check(OPEN);
+
+        monitor(15, 0);
+
+        check(IDLE);
     }
-    
+
     public void testProducerIdleRollback() throws Exception
     {
+        send(5, 0);
+        // Now idle for more than idleClose to generate more idle-warns and cause a close.
+        sleep(2.0f);
         try
         {
-            send(5, 0);
-            
-            sleep(2.0f);
-    
             _psession.rollback();
-            fail("should fail");
+            fail("Exception not thrown");
         }
         catch (Exception e)
         {
             _exception = e;
         }
-        
-        monitor(5, 0);
-        
+
+        monitor(10, 0);
+
         check(IDLE);
     }
-    
+
     public void testProducerIdleRollbackTwice() throws Exception
     {
+        send(5, 0);
+        // Idle for less than idleClose to generate idle-warns
+        sleep(1.0f);
+        _psession.rollback();
+        send(5, 0);
+        // Now idle for more than idleClose to generate more idle-warns and cause a close.
+        sleep(2.0f);
         try
         {
-            send(5, 0);
-            
-            sleep(1.0f);
-            
-            _psession.rollback();
-            
-            send(5, 0);
-            
-            sleep(2.0f);
-    
             _psession.rollback();
             fail("should fail");
         }
@@ -183,153 +156,153 @@ public class TransactionTimeoutTest exte
         {
             _exception = e;
         }
-        
-        monitor(10, 0);
+
+        monitor(15, 0);
         
         check(IDLE);
     }
-    
-    public void testConsumerCommitClose() throws Exception
+
+    public void testProducerOpenCommit() throws Exception
     {
         try
         {
-            send(1, 0);
-    
+            // Sleep between sends to cause open warns and then cause a close.
+            send(6, 0.5f);
             _psession.commit();
-    
-            expect(1, 0);
-            
-            _csession.commit();
-            
-            sleep(3.0f);
-    
-            _csession.close();
+            fail("Exception not thrown");
         }
         catch (Exception e)
         {
-            fail("should have succeeded: " + e.getMessage());
+            _exception = e;
         }
-        
-        assertTrue("Listener should not have received exception", _caught.getCount() == 1);
-        
-        monitor(0, 0);
+
+        monitor(0, 10);
+
+        check(OPEN);
     }
     
-    public void testConsumerIdleReceiveCommit() throws Exception
+    public void testProducerOpenCommitTwice() throws Exception
     {
+        send(5, 0);
+        sleep(1.0f);
+        _psession.commit();
+
         try
         {
-            send(1, 0);
-    
+            // Now sleep between sends to cause open warns and then cause a close.
+            send(6, 0.5f);
             _psession.commit();
-    
-            sleep(2.0f);
-            
-            expect(1, 0);
-            
-            sleep(2.0f);
-    
-            _csession.commit();
+            fail("Exception not thrown");
         }
         catch (Exception e)
         {
-            fail("Should have succeeded");
+            _exception = e;
         }
+
+        monitor(0, 10);
         
-        assertTrue("Listener should not have received exception", _caught.getCount() == 1);
-        
+        check(OPEN);
+    }
+
+    public void testConsumerCommitClose() throws Exception
+    {
+        send(1, 0);
+
+        _psession.commit();
+
+        expect(1, 0);
+
+        _csession.commit();
+
+        sleep(3.0f);
+
+        _csession.close();
+
+        assertEquals("Listener should not have received exception", 0, getNumberOfDeliveredExceptions());
+
         monitor(0, 0);
     }
     
+    public void testConsumerIdleReceiveCommit() throws Exception
+    {
+        send(1, 0);
+
+        _psession.commit();
+
+        sleep(2.0f);
+
+        expect(1, 0);
+
+        sleep(2.0f);
+
+        _csession.commit();
+
+        assertEquals("Listener should not have received exception", 0, getNumberOfDeliveredExceptions());
+
+        monitor(0, 0);
+    }
+
     public void testConsumerIdleCommit() throws Exception
     {
-        try
-        {
-            send(1, 0);
-    
-            _psession.commit();
-    
-            expect(1, 0);
-            
-            sleep(2.0f);
-    
-            _csession.commit();
-        }
-        catch (Exception e)
-        {
-            fail("Should have succeeded");
-        }
-        
-        assertTrue("Listener should not have received exception", _caught.getCount() == 1);
-        
+        send(1, 0);
+
+        _psession.commit();
+
+        expect(1, 0);
+
+        sleep(2.0f);
+
+        _csession.commit();
+
+        assertEquals("Listener should not have received exception", 0, getNumberOfDeliveredExceptions());
+
         monitor(0, 0);
     }
     
     public void testConsumerIdleRollback() throws Exception
     {
-        try
-        {
-            send(1, 0);
-    
-            _psession.commit();
-            
-            expect(1, 0);
-            
-            sleep(2.0f);
-    
-            _csession.rollback();
-        }
-        catch (Exception e)
-        {
-            fail("Should have succeeded");
-        }
-        
-        assertTrue("Listener should not have received exception", _caught.getCount() == 1);
-        
+        send(1, 0);
+
+        _psession.commit();
+
+        expect(1, 0);
+
+        sleep(2.0f);
+
+        _csession.rollback();
+
+        assertEquals("Listener should not have received exception", 0, getNumberOfDeliveredExceptions());
+
         monitor(0, 0);
     }
-    
+
     public void testConsumerOpenCommit() throws Exception
     {
-        try
-        {
-            send(1, 0);
-    
-            _psession.commit();
-            
-            sleep(3.0f);
-    
-            _csession.commit();
-        }
-        catch (Exception e)
-        {
-            fail("Should have succeeded");
-        }
-        
-        assertTrue("Listener should not have received exception", _caught.getCount() == 1);
-        
+        send(1, 0);
+
+        _psession.commit();
+
+        sleep(3.0f);
+
+        _csession.commit();
+
+        assertEquals("Listener should not have received exception", 0, getNumberOfDeliveredExceptions());
+
         monitor(0, 0);
     }
     
     public void testConsumerOpenRollback() throws Exception
     {
-        try
-        {
-            send(1, 0);
-    
-            _psession.commit();
-    
-            sleep(3.0f);
-    
-            _csession.rollback();
-        }
-        catch (Exception e)
-        {
-            fail("Should have succeeded");
-        }
-        
-        assertTrue("Listener should not have received exception", _caught.getCount() == 1);
+        send(1, 0);
         
+        _psession.commit();
+
+        sleep(3.0f);
+
+        _csession.rollback();
+
+        assertEquals("Listener should not have received exception", 0, getNumberOfDeliveredExceptions());
+
         monitor(0, 0);
     }
 }

Modified: qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactionTimeoutTestCase.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactionTimeoutTestCase.java?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactionTimeoutTestCase.java (original)
+++ qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactionTimeoutTestCase.java Thu Oct  6 20:04:48 2011
@@ -23,6 +23,7 @@ package org.apache.qpid.test.unit.transa
 import java.util.List;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import javax.jms.DeliveryMode;
 import javax.jms.ExceptionListener;
@@ -49,7 +50,7 @@ import org.apache.qpid.util.LogMonitor;
 /**
  * The {@link TestCase} for transaction timeout testing.
  */
-public class TransactionTimeoutTestCase extends QpidBrokerTestCase implements ExceptionListener
+public abstract class TransactionTimeoutTestCase extends QpidBrokerTestCase implements ExceptionListener
 {
     public static final String VIRTUALHOST = "test";
     public static final String TEXT = "0123456789abcdefghiforgettherest";
@@ -64,31 +65,16 @@ public class TransactionTimeoutTestCase 
     protected Queue _queue;
     protected MessageConsumer _consumer;
     protected MessageProducer _producer;
-    protected CountDownLatch _caught = new CountDownLatch(1);
+    private CountDownLatch _exceptionLatch = new CountDownLatch(1);
+    protected AtomicInteger _exceptionCount = new AtomicInteger(0);
     protected String _message;
     protected Exception _exception;
     protected AMQConstant _code;
-    
-    protected void configure() throws Exception
-    {
-        // Setup housekeeping every second
-        setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".housekeeping.checkPeriod", "100");
-        
-        /*
-         * Set transaction timout properties. The XML in the virtualhosts configuration is as follows:
-         * 
-         *  <transactionTimeout>
-         *      <openWarn>1000</openWarn>
-         *      <openClose>2000</openClose>
-         *      <idleWarn>500</idleWarn>
-         *      <idleClose>1500</idleClose>
-         *  </transactionTimeout>
-         */
-        setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.openWarn", "1000");
-        setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.openClose", "2000");
-        setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.idleWarn", "500");
-        setConfigurationProperty("virtualhosts.virtualhost." + VIRTUALHOST + ".transactionTimeout.idleClose", "1000");
-    }
+
+    /**
+     * Subclasses must implement this to configure transaction timeout parameters.
+     */
+    protected abstract void configure() throws Exception;
         
     protected void setUp() throws Exception
     {
@@ -233,7 +219,7 @@ public class TransactionTimeoutTestCase 
      */
     protected void check(String reason)throws InterruptedException
     {
-        assertTrue("Should have caught exception in listener", _caught.await(1, TimeUnit.SECONDS));
+        assertTrue("Should have caught exception in listener", _exceptionLatch.await(1, TimeUnit.SECONDS));
         assertNotNull("Should have thrown exception to client", _exception);
         assertTrue("Exception message should contain '" + reason + "': " + _message, _message.contains(reason + " transaction timed out"));
         assertNotNull("Exception should have an error code", _code);
@@ -243,11 +229,18 @@ public class TransactionTimeoutTestCase 
     /** @see javax.jms.ExceptionListener#onException(javax.jms.JMSException) */
     public void onException(JMSException jmse)
     {
-        _caught.countDown();
+        _exceptionLatch.countDown();
+        _exceptionCount.incrementAndGet();
+
         _message = jmse.getLinkedException().getMessage();
         if (jmse.getLinkedException() instanceof AMQException)
         {
             _code = ((AMQException) jmse.getLinkedException()).getErrorCode();
         }
     }
+
+    protected int getNumberOfDeliveredExceptions()
+    {
+        return _exceptionCount.get();
+    }
 }

Modified: qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java (original)
+++ qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java Thu Oct  6 20:04:48 2011
@@ -52,7 +52,6 @@ import javax.naming.NamingException;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.XMLConfiguration;
 import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
 import org.apache.qpid.AMQException;
 import org.apache.qpid.client.AMQConnectionFactory;
@@ -115,7 +114,6 @@ public class QpidBrokerTestCase extends 
     private static final String BROKER_LANGUAGE = "broker.language";
     private static final String BROKER_TYPE = "broker.type";
     private static final String BROKER_COMMAND = "broker.command";
-    private static final String BROKER_CLEAN = "broker.clean";
     private static final String BROKER_CLEAN_BETWEEN_TESTS = "broker.clean.between.tests";
     private static final String BROKER_EXISTING_QPID_WORK = "broker.existing.qpid.work";
     private static final String BROKER_VERSION = "broker.version";
@@ -143,10 +141,9 @@ public class QpidBrokerTestCase extends 
     protected String _brokerLanguage = System.getProperty(BROKER_LANGUAGE, JAVA);
     protected BrokerType _brokerType = BrokerType.valueOf(System.getProperty(BROKER_TYPE, "").toUpperCase());
     protected String _brokerCommand = System.getProperty(BROKER_COMMAND);
-    private String _brokerClean = System.getProperty(BROKER_CLEAN, null);
     private Boolean _brokerCleanBetweenTests = Boolean.getBoolean(BROKER_CLEAN_BETWEEN_TESTS);
     private final AmqpProtocolVersion _brokerVersion = AmqpProtocolVersion.valueOf(System.getProperty(BROKER_VERSION, ""));
-    protected String _output = System.getProperty(TEST_OUTPUT);
+    protected String _output = System.getProperty(TEST_OUTPUT, System.getProperty("java.io.tmpdir"));
     protected Boolean _brokerPersistent = Boolean.getBoolean(BROKER_PERSITENT);
     private String _brokerProtocolExcludes = System.getProperty(BROKER_PROTOCOL_EXCLUDES);
 
@@ -217,8 +214,13 @@ public class QpidBrokerTestCase extends 
         if (redirected)
         {
             _outputFile = new File(String.format("%s/TEST-%s.out", _output, qname));
-            out = new PrintStream(_outputFile);
+            out = new PrintStream(new FileOutputStream(_outputFile), true);
             err = new PrintStream(String.format("%s/TEST-%s.err", _output, qname));
+
+            // This is relying on behaviour specific to log4j 1.2.12.   If we were to upgrade to 1.2.13 or
+            // beyond we must change either code (or config) to ensure that ConsoleAppender#setFollow
+            // is set to true otherwise log4j logging will not respect the following reassignment.
+
             System.setOut(out);
             System.setErr(err);
 
@@ -259,14 +261,9 @@ public class QpidBrokerTestCase extends 
 
             if(_brokerCleanBetweenTests)
             {
-            	try
-            	{
-            		cleanBroker();
-            	}
-            	catch (Exception e)
-            	{
-            		_logger.error("exception cleaning up broker", e);
-            	}
+                final String qpidWork = System.getProperty("QPID_WORK");
+                cleanBrokerWork(qpidWork);
+                createBrokerWork(qpidWork);
             }
 
             _logger.info("==========  stop " + getTestName() + " ==========");
@@ -298,11 +295,11 @@ public class QpidBrokerTestCase extends 
         String existingQpidWorkPath = System.getProperty(BROKER_EXISTING_QPID_WORK);
         if(existingQpidWorkPath != null && !existingQpidWorkPath.equals(""))
         {
-            cleanBroker();
 
+            String qpidWork = getQpidWork(_brokerType, getPort());
             File existing = new File(existingQpidWorkPath);
-            File qpidWork = new File(getQpidWork(_brokerType, getPort()));
-            FileUtils.copyRecursive(existing, qpidWork);
+            cleanBrokerWork(qpidWork);
+            FileUtils.copyRecursive(existing, new File(qpidWork));
         }
 
         startBroker();
@@ -494,25 +491,22 @@ public class QpidBrokerTestCase extends 
         }
         else if (!_brokerType.equals(BrokerType.EXTERNAL))
         {
+            // Add the port to QPID_WORK to ensure unique working dirs for multi broker tests
+            final String qpidWork = getQpidWork(_brokerType, port);
             String cmd = getBrokerCommand(port);
             _logger.info("starting external broker: " + cmd);
             ProcessBuilder pb = new ProcessBuilder(cmd.split("\\s+"));
             pb.redirectErrorStream(true);
-
             Map<String, String> env = pb.environment();
-
             String qpidHome = System.getProperty(QPID_HOME);
             env.put(QPID_HOME, qpidHome);
-
             //Augment Path with bin directory in QPID_HOME.
             env.put("PATH", env.get("PATH").concat(File.pathSeparator + qpidHome + "/bin"));
 
             //Add the test name to the broker run.
             // DON'T change PNAME, qpid.stop needs this value.
             env.put("QPID_PNAME", "-DPNAME=QPBRKR -DTNAME=\"" + getTestName() + "\"");
-            // Add the port to QPID_WORK to ensure unique working dirs for multi broker tests
-            env.put("QPID_WORK", getQpidWork(_brokerType, port));
-
+            env.put("QPID_WORK", qpidWork);
 
             // Use the environment variable to set amqj.logging.level for the broker
             // The value used is a 'server' value in the test configuration to
@@ -563,6 +557,10 @@ public class QpidBrokerTestCase extends 
                     env.put("QPID_OPTS", QPID_OPTS);
                 }
             }
+
+            // cpp broker requires that the work directory is created
+            createBrokerWork(qpidWork);
+
             Process process = pb.start();;
 
             Piper p = new Piper(process.getInputStream(),
@@ -577,7 +575,7 @@ public class QpidBrokerTestCase extends 
                 _logger.info("broker failed to become ready (" + p.ready + "):" + p.getStopLine());
                 //Ensure broker has stopped
                 process.destroy();
-                cleanBroker();
+                cleanBrokerWork(qpidWork);
                 throw new RuntimeException("broker failed to become ready:"
                                            + p.getStopLine());
             }
@@ -587,7 +585,7 @@ public class QpidBrokerTestCase extends 
                 //test that the broker is still running and hasn't exited unexpectedly
                 int exit = process.exitValue();
                 _logger.info("broker aborted: " + exit);
-                cleanBroker();
+                cleanBrokerWork(qpidWork);
                 throw new RuntimeException("broker aborted: " + exit);
             }
             catch (IllegalThreadStateException e)
@@ -655,21 +653,28 @@ public class QpidBrokerTestCase extends 
 
     public String getTestConfigFile()
     {
-        String path = _output == null ? System.getProperty("java.io.tmpdir") : _output;
-        return path + "/" + getTestQueueName() + "-config.xml";
+        return _output + "/" + getTestQueueName() + "-config.xml";
     }
 
     public String getTestVirtualhostsFile()
     {
-        String path = _output == null ? System.getProperty("java.io.tmpdir") : _output;
-        return path + "/" + getTestQueueName() + "-virtualhosts.xml";
+        return _output + "/" + getTestQueueName() + "-virtualhosts.xml";
+    }
+
+    private String relativeToQpidHome(String file)
+    {
+        return file.replace(System.getProperty(QPID_HOME,"QPID_HOME") + "/","");
     }
 
     protected void saveTestConfiguration() throws ConfigurationException
     {
-        // Specifiy the test config file
+        // Specify the test config file
         String testConfig = getTestConfigFile();
-        setSystemProperty("test.config", testConfig);
+        String relative = relativeToQpidHome(testConfig);
+
+        setSystemProperty("test.config", relative);
+        _logger.info("Set test.config property to: " + relative);
+        _logger.info("Saving test virtualhosts file at: " + testConfig);
 
         // Create the file if configuration does not exist
         if (_testConfiguration.isEmpty())
@@ -681,9 +686,13 @@ public class QpidBrokerTestCase extends 
 
     protected void saveTestVirtualhosts() throws ConfigurationException
     {
-        // Specifiy the test virtualhosts file
+        // Specify the test virtualhosts file
         String testVirtualhosts = getTestVirtualhostsFile();
-        setSystemProperty("test.virtualhosts", testVirtualhosts);
+        String relative = relativeToQpidHome(testVirtualhosts);
+
+        setSystemProperty("test.virtualhosts", relative);
+        _logger.info("Set test.virtualhosts property to: " + relative);
+        _logger.info("Saving test virtualhosts file at: " + testVirtualhosts);
 
         // Create the file if configuration does not exist
         if (_testVirtualhosts.isEmpty())
@@ -693,30 +702,33 @@ public class QpidBrokerTestCase extends 
         _testVirtualhosts.save(testVirtualhosts);
     }
 
-    public void cleanBroker()
+    protected void cleanBrokerWork(final String qpidWork)
     {
-        if (_brokerClean != null)
+        if (qpidWork != null)
         {
-            _logger.info("clean: " + _brokerClean);
+            _logger.info("Cleaning broker work dir: " + qpidWork);
 
-            try
+            File file = new File(qpidWork);
+            if (file.exists())
             {
-                ProcessBuilder pb = new ProcessBuilder(_brokerClean.split("\\s+"));
-                pb.redirectErrorStream(true);
-                Process clean = pb.start();
-                new Piper(clean.getInputStream(),_brokerOutputStream).start();
-
-                clean.waitFor();
-
-                _logger.info("clean exited: " + clean.exitValue());
-            }
-            catch (IOException e)
-            {
-                throw new RuntimeException(e);
+                final boolean success = FileUtils.delete(file, true);
+                if(!success)
+                {
+                    throw new RuntimeException("Failed to recursively delete beneath : " + file);
+                }
             }
-            catch (InterruptedException e)
+        }
+    }
+
+    protected void createBrokerWork(final String qpidWork)
+    {
+        if (qpidWork != null)
+        {
+            final File dir = new File(qpidWork);
+            dir.mkdirs();
+            if (!dir.isDirectory())
             {
-                throw new RuntimeException(e);
+                throw new RuntimeException("Failed to created Qpid work directory : " + qpidWork);
             }
         }
     }
@@ -730,7 +742,7 @@ public class QpidBrokerTestCase extends 
     {
         port = getPort(port);
 
-        _logger.info("stopping broker: " + getBrokerCommand(port));
+        _logger.info("stopping broker on port : " + port);
         BrokerHolder broker = _brokers.remove(port);
         broker.shutdown();
     }
@@ -906,7 +918,7 @@ public class QpidBrokerTestCase extends 
     }
 
     /**
-     * Add an environtmen variable for the external broker environment
+     * Add an environment variable for the external broker environment
      *
      * @param property the property to set
      * @param value    the value to set it to
@@ -990,9 +1002,9 @@ public class QpidBrokerTestCase extends 
      * Get the default connection factory for the currently used broker
      * Default factory is "local"
      *
-     * @return A conection factory
+     * @return A connection factory
      *
-     * @throws Exception if there is an error getting the tactory
+     * @throws Exception if there is an error getting the factory
      */
     public AMQConnectionFactory getConnectionFactory() throws NamingException
     {
@@ -1016,7 +1028,7 @@ public class QpidBrokerTestCase extends 
      *
      * @param factoryName The factory name
      *
-     * @return A conection factory
+     * @return A connection factory
      *
      * @throws Exception if there is an error getting the tactory
      */
@@ -1054,7 +1066,7 @@ public class QpidBrokerTestCase extends 
     {
         _logger.info("get connection");
         Connection con = getConnectionFactory().createConnection(username, password);
-        //add the connection in the lis of connections
+        //add the connection in the list of connections
         _connections.add(con);
         return con;
     }
@@ -1063,7 +1075,7 @@ public class QpidBrokerTestCase extends 
     {
         _logger.info("get Connection");
         Connection con = getConnectionFactory().createConnection(username, password, id);
-        //add the connection in the lis of connections
+        //add the connection in the list of connections
         _connections.add(con);
         return con;
     }
@@ -1154,7 +1166,7 @@ public class QpidBrokerTestCase extends 
     /**
      * Send messages to the given destination.
      *
-     * If session is transacted then messages will be commited before returning
+     * If session is transacted then messages will be committed before returning
      *
      * @param session the session to use for sending
      * @param destination where to send them to
@@ -1162,7 +1174,7 @@ public class QpidBrokerTestCase extends 
      *
      * @param batchSize the batchSize in which to commit, 0 means no batching,
      * but a single commit at the end
-     * @return the sent messgse
+     * @return the sent message
      *
      * @throws Exception
      */
@@ -1175,7 +1187,7 @@ public class QpidBrokerTestCase extends 
     /**
      * Send messages to the given destination.
      *
-     * If session is transacted then messages will be commited before returning
+     * If session is transacted then messages will be committed before returning
      *
      * @param session the session to use for sending
      * @param destination where to send them to
@@ -1184,7 +1196,7 @@ public class QpidBrokerTestCase extends 
      * @param offset offset allows the INDEX value of the message to be adjusted.
      * @param batchSize the batchSize in which to commit, 0 means no batching,
      * but a single commit at the end
-     * @return the sent messgse
+     * @return the sent message
      *
      * @throws Exception
      */

Propchange: qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -3,5 +3,5 @@
 /qpid/branches/java-broker-0-10/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java:1061302-1072333
-/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java:1144319-1172654
+/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java:1144319-1179750
 /qpid/trunk/qpid/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java:796646-796653

Modified: qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java (original)
+++ qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java Thu Oct  6 20:04:48 2011
@@ -27,11 +27,9 @@ import org.apache.log4j.SimpleLayout;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
 import java.io.FileReader;
 import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.util.ArrayList;
+import java.io.LineNumberReader;
 import java.util.List;
 import java.util.LinkedList;
 
@@ -45,10 +43,12 @@ import java.util.LinkedList;
 public class LogMonitor
 {
     // The file that the log statements will be written to.
-    private File _logfile;
+    private final File _logfile;
 
     // The appender we added to the get messages
-    private FileAppender _appender;
+    private final FileAppender _appender;
+
+    private int _linesToSkip = 0;
 
     /**
      * Create a new LogMonitor that creates a new Log4j Appender and monitors
@@ -78,6 +78,7 @@ public class LogMonitor
         if (file != null && file.exists())
         {
             _logfile = file;
+            _appender = null;
         }
         else
         {
@@ -99,13 +100,13 @@ public class LogMonitor
      * @param wait    the time in ms to wait for the message to occur
      * @return true if the message was found
      *
-     * @throws java.io.FileNotFoundException if the Log file can nolonger be found
+     * @throws java.io.FileNotFoundException if the Log file can no longer be found
      * @throws IOException                   thrown when reading the log file
      */
     public List<String> waitAndFindMatches(String message, long wait)
             throws FileNotFoundException, IOException
     {
-        if (waitForMessage(message, wait, true))
+        if (waitForMessage(message, wait))
         {
             return findMatches(message);
         }
@@ -116,7 +117,9 @@ public class LogMonitor
     }
 
     /**
-     * Checks the log for instances of the search string.
+     * Checks the log for instances of the search string. If the caller
+     * has previously called {@link #markDiscardPoint()}, lines up until the discard
+     * point are not considered.
      *
      * The pattern parameter can take any valid argument used in String.contains()
      *
@@ -130,66 +133,99 @@ public class LogMonitor
      */
     public List<String> findMatches(String pattern) throws IOException
     {
-        return FileUtils.searchFile(_logfile, pattern);
+
+        List<String> results = new LinkedList<String>();
+
+        LineNumberReader reader = new LineNumberReader(new FileReader(_logfile));
+        try
+        {
+            while (reader.ready())
+            {
+                String line = reader.readLine();
+                if (reader.getLineNumber()  > _linesToSkip && line.contains(pattern))
+                {
+                    results.add(line);
+                }
+            }
+        }
+        finally
+        {
+            reader.close();
+        }
+
+        return results;
     }
 
     /**
-     * Checks the log file for a given message to appear.
+     * Checks the log file for a given message to appear.  If the caller
+     * has previously called {@link #markDiscardPoint()}, lines up until the discard
+     * point are not considered.
      *
      * @param message the message to wait for in the log
      * @param wait    the time in ms to wait for the message to occur
-     *
-     * @param printFileOnFailure should we print the contents that have been
-     * read if we fail ot find the message.
      * @return true if the message was found
      *
-     * @throws java.io.FileNotFoundException if the Log file can nolonger be found
+     * @throws java.io.FileNotFoundException if the Log file can no longer be found
      * @throws IOException                   thrown when reading the log file
      */
-    public boolean waitForMessage(String message, long wait, boolean printFileOnFailure)
+    public boolean waitForMessage(String message, long wait)
             throws FileNotFoundException, IOException
     {
         // Loop through alerts until we're done or wait ms seconds have passed,
         // just in case the logfile takes a while to flush.
-        BufferedReader reader = new BufferedReader(new FileReader(_logfile));
-        boolean found = false;
-        long endtime = System.currentTimeMillis() + wait;
-        ArrayList<String> contents = new ArrayList<String>();
-        while (!found && System.currentTimeMillis() < endtime)
+        LineNumberReader reader = null;
+        try
         {
-            while (reader.ready())
+            reader = new LineNumberReader(new FileReader(_logfile));
+
+            boolean found = false;
+            long endtime = System.currentTimeMillis() + wait;
+            while (!found && System.currentTimeMillis() < endtime)
             {
-                String line = reader.readLine();
-                contents.add(line);
-                if (line.contains(message))
+                boolean ready = true;
+                while (ready = reader.ready())
                 {
-                    found = true;
+                    String line = reader.readLine();
+
+                    if (reader.getLineNumber() > _linesToSkip)
+                    {
+                        if (line.contains(message))
+                        {
+                            found = true;
+                            break;
+                        }
+                    }
+                }
+                if (!ready)
+                {
+                    try
+                    {
+                        Thread.sleep(50);
+                    }
+                    catch (InterruptedException ie)
+                    {
+                        Thread.currentThread().interrupt();
+                    }
                 }
             }
+            return found;
+
         }
-        if (!found && printFileOnFailure)
+        finally
         {
-            for (String line : contents)
+            if (reader != null)
             {
-                System.out.println(line);
+                reader.close();
             }
         }
-        return found;
     }
     
-
-    public boolean waitForMessage(String message, long alertLogWaitPeriod) throws FileNotFoundException, IOException
-    {
-       return waitForMessage(message, alertLogWaitPeriod, true);
-    }
-
-
     /**
      * Read the log file in to memory as a String
      *
      * @return the current contents of the log file
      *
-     * @throws java.io.FileNotFoundException if the Log file can nolonger be found
+     * @throws java.io.FileNotFoundException if the Log file can no longer be found
      * @throws IOException                   thrown when reading the log file
      */
     public String readFile() throws FileNotFoundException, IOException
@@ -208,14 +244,37 @@ public class LogMonitor
     }
 
     /**
-     * Clears the log file and writes: 'Log Monitor Reset' at the start of the file
+     * Marks the discard point in the log file.
      *
-     * @throws java.io.FileNotFoundException if the Log file can nolonger be found
+     * @throws java.io.FileNotFoundException if the Log file can no longer be found
      * @throws IOException                   thrown if there is a problem with the log file
      */
-    public void reset() throws FileNotFoundException, IOException
+    public void markDiscardPoint() throws FileNotFoundException, IOException
+    {
+        _linesToSkip = countLinesInFile();
+    }
+
+    private int countLinesInFile() throws IOException
     {
-        new FileOutputStream(_logfile).getChannel().truncate(0);
+        int lineCount = 0;
+        BufferedReader br = null;
+        try
+        {
+            br = new BufferedReader(new FileReader(_logfile));
+            while(br.readLine() != null)
+            {
+                lineCount++;
+            }
+
+            return lineCount;
+        }
+        finally
+        {
+            if (br != null)
+            {
+                br.close();
+            }
+        }
     }
 
     /**

Modified: qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitorTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitorTest.java?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitorTest.java (original)
+++ qpid/branches/qpid-3346/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitorTest.java Thu Oct  6 20:04:48 2011
@@ -155,7 +155,7 @@ public class LogMonitorTest extends Test
 
         String notLogged = "This text was not logged";
 
-        validateLogDoesNotContainsMessage(_monitor, notLogged);
+        validateLogDoesNotContainMessage(_monitor, notLogged);
     }
 
     public void testWaitForMessage_Timeout() throws IOException
@@ -168,28 +168,27 @@ public class LogMonitorTest extends Test
 
         // Verify that we can time out waiting for a message
         assertFalse("Message was logged ",
-                    _monitor.waitForMessage(message, TIME_OUT / 2, false));
+                    _monitor.waitForMessage(message, TIME_OUT / 2));
 
         // Verify that the message did eventually get logged.
         assertTrue("Message was never logged.",
                     _monitor.waitForMessage(message, TIME_OUT));
     }
 
-    public void testReset() throws IOException
+    public void testDiscardPoint() throws IOException
     {
-        String message = getName() + ": Test Message";
-
-        Logger.getRootLogger().warn(message);
-
-        validateLogContainsMessage(_monitor, message);
+        String firstMessage = getName() + ": Test Message1";
+        Logger.getRootLogger().warn(firstMessage);
 
-        String LOG_RESET_TEXT = "Log Monitor Reset";
+        validateLogContainsMessage(_monitor, firstMessage);
 
-        validateLogDoesNotContainsMessage(_monitor, LOG_RESET_TEXT);
+        _monitor.markDiscardPoint();
 
-        _monitor.reset();
+        validateLogDoesNotContainMessage(_monitor, firstMessage);
 
-        assertEquals("", _monitor.readFile());
+        String secondMessage = getName() + ": Test Message2";
+        Logger.getRootLogger().warn(secondMessage);
+        validateLogContainsMessage(_monitor, secondMessage);
     }
 
     public void testRead() throws IOException
@@ -214,7 +213,7 @@ public class LogMonitorTest extends Test
      *
      * @throws IOException if a problems occurs
      */
-    protected void validateLogDoesNotContainsMessage(LogMonitor log, String message)
+    protected void validateLogDoesNotContainMessage(LogMonitor log, String message)
             throws IOException
     {
         List<String> results = log.findMatches(message);

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -1,3 +1,3 @@
 /qpid/branches/0.5.x-dev/qpid/java/test-profiles:931179
 /qpid/branches/qpid-2935/qpid/java/test-profiles:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles:1144319-1179750

Modified: qpid/branches/qpid-3346/qpid/java/test-profiles/CPPExcludes
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/test-profiles/CPPExcludes?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/test-profiles/CPPExcludes (original)
+++ qpid/branches/qpid-3346/qpid/java/test-profiles/CPPExcludes Thu Oct  6 20:04:48 2011
@@ -142,7 +142,6 @@ org.apache.qpid.server.failover.MessageD
 
 // These are recent test additions that are failing with the c++ broker
 // Temporarily disabling until properly investigated.
-org.apache.qpid.test.unit.publish.DirtyTransactedPublishTest#*
 org.apache.qpid.test.unit.ack.FailoverBeforeConsumingRecoverTest#*
 
 org.apache.qpid.test.client.RollbackOrderTest#testOrderingAfterRollbackOnMessage#*

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/CPPExcludes
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/010Excludes:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/010Excludes:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/CPPExcludes:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/CPPExcludes:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/CPPExcludes:1144319-1179750

Modified: qpid/branches/qpid-3346/qpid/java/test-profiles/CPPTransientExcludes
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/test-profiles/CPPTransientExcludes?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/test-profiles/CPPTransientExcludes (original)
+++ qpid/branches/qpid-3346/qpid/java/test-profiles/CPPTransientExcludes Thu Oct  6 20:04:48 2011
@@ -27,3 +27,6 @@ org.apache.qpid.test.unit.xa.TopicTest#t
 org.apache.qpid.test.unit.xa.TopicTest#testRecover
 org.apache.qpid.test.unit.xa.QueueTest#testRecover
 org.apache.qpid.test.unit.xa.QueueTest#testSendAndRecover
+
+// test requires a persistent store
+org.apache.qpid.test.unit.ack.ClientAcknowledgeTest#testClientAckWithLargeFlusherPeriod

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/Excludes
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/Excludes:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/Excludes:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/Excludes:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/Excludes:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/Excludes:1144319-1179750

Modified: qpid/branches/qpid-3346/qpid/java/test-profiles/Java010Excludes
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/test-profiles/Java010Excludes?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/test-profiles/Java010Excludes (original)
+++ qpid/branches/qpid-3346/qpid/java/test-profiles/Java010Excludes Thu Oct  6 20:04:48 2011
@@ -55,9 +55,6 @@ org.apache.qpid.server.queue.ProducerFlo
 //QPID-1950 : Commit to test this failure. This is a MINA only failure so it cannot be tested when using 010.
 org.apache.qpid.server.failover.MessageDisappearWithIOExceptionTest#*
 
-//QPID-3421: tests are failing on 0.10 test profile
-org.apache.qpid.test.unit.publish.DirtyTransactedPublishTest#*
-
 //QPID-1864: rollback with subscriptions does not work in 0-10 yet
 org.apache.qpid.test.client.RollbackOrderTest#testOrderingAfterRollbackOnMessage
 

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/JavaExcludes
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/08Excludes:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/08Excludes:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/JavaExcludes:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/JavaExcludes:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/JavaExcludes:1144319-1179750

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/JavaPre010Excludes
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/08StandaloneExcludes:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/08StandaloneExcludes:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/08StandaloneExcludes:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/JavaPre010Excludes:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/JavaPre010Excludes:1144319-1179750

Modified: qpid/branches/qpid-3346/qpid/java/test-profiles/JavaTransientExcludes
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/test-profiles/JavaTransientExcludes?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/test-profiles/JavaTransientExcludes (original)
+++ qpid/branches/qpid-3346/qpid/java/test-profiles/JavaTransientExcludes Thu Oct  6 20:04:48 2011
@@ -19,6 +19,7 @@
 
 //These tests require a persistent store
 org.apache.qpid.server.store.PersistentStoreTest#*
+org.apache.qpid.test.unit.ack.ClientAcknowledgeTest#testClientAckWithLargeFlusherPeriod
 
 org.apache.qpid.test.unit.ct.DurableSubscriberTest#*
 
@@ -30,3 +31,6 @@ org.apache.qpid.server.store.MessageStor
 org.apache.qpid.server.store.MessageStoreTest#testDurableQueueRemoval
 org.apache.qpid.server.store.MessageStoreTest#testExchangePersistence
 org.apache.qpid.server.store.MessageStoreTest#testDurableExchangeRemoval
+
+org.apache.qpid.server.store.berkeleydb.BDBMessageStoreTest#*
+org.apache.qpid.server.store.berkeleydb.BDBUpgradeTest#*

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/JavaTransientExcludes
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/08TransientExcludes:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/08TransientExcludes:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/JavaTransientExcludes:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/JavaTransientExcludes:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/JavaTransientExcludes:1144319-1179750

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/XAExcludes
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/XAExcludes:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/XAExcludes:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/XAExcludes:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/XAExcludes:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/XAExcludes:1144319-1179750

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/cpp.async.testprofile
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/cpp.async.testprofile:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/cpp.async.testprofile:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/cpp.async.testprofile:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/cpp.async.testprofile:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/cpp.async.testprofile:1144319-1179750

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/cpp.cluster.testprofile
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/cpp.cluster.testprofile:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/cpp.cluster.testprofile:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/cpp.cluster.testprofile:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/cpp.cluster.testprofile:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/cpp.cluster.testprofile:1144319-1179750

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/cpp.noprefetch.testprofile
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/cpp.noprefetch.testprofile:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/cpp.noprefetch.testprofile:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/cpp.noprefetch.testprofile:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/cpp.noprefetch.testprofile:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/cpp.noprefetch.testprofile:1144319-1179750

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/cpp.ssl.excludes
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/cpp.ssl.excludes:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/cpp.ssl.excludes:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/cpp.ssl.excludes:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/cpp.ssl.excludes:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/cpp.ssl.excludes:1144319-1179750

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/cpp.ssl.testprofile
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/cpp.ssl.testprofile:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/cpp.ssl.testprofile:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/cpp.ssl.testprofile:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/cpp.ssl.testprofile:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/cpp.ssl.testprofile:1144319-1179750

Modified: qpid/branches/qpid-3346/qpid/java/test-profiles/cpp.testprofile
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/test-profiles/cpp.testprofile?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/test-profiles/cpp.testprofile (original)
+++ qpid/branches/qpid-3346/qpid/java/test-profiles/cpp.testprofile Thu Oct  6 20:04:48 2011
@@ -33,7 +33,7 @@ broker.modules=
 broker.args=
 
 broker.type=spawned
-broker.command=${broker.executable} -p @PORT --data-dir ${build.data}/@PORT -t --auth no --no-module-dir ${broker.modules} ${broker.args}
+broker.command=${broker.executable} -p @PORT --data-dir ${project.root}/build/work/@PORT -t --auth no --no-module-dir ${broker.modules} ${broker.args}
 
 profile.excludes=CPPPrefetchExcludes CPPTransientExcludes
 test.excludes=Excludes CPPExcludes ${profile}.excludes ${profile.excludes} cpp.excludes

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/cpp.testprofile
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/cpp.testprofile:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/cpp.testprofile:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/cpp.testprofile:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/cpp.testprofile:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/cpp.testprofile:1144319-1179750

Modified: qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby-spawn.0-10.testprofile
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby-spawn.0-10.testprofile?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby-spawn.0-10.testprofile (original)
+++ qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby-spawn.0-10.testprofile Thu Oct  6 20:04:48 2011
@@ -19,12 +19,11 @@
 broker.language=java
 broker.version=v0_10
 broker.type=spawned
-broker.command=${project.root}/build/bin/qpid-server -p @PORT -m @MPORT -c @CONFIG_FILE -l ${test.profiles}/log4j-test.xml
-broker.clean=${test.profiles}/clean-dir ${build.data} ${project.root}/build/work
+broker.command=build/bin/qpid-server -p @PORT -m @MPORT -c @CONFIG_FILE -l test-profiles/log4j-test.xml
 broker.ready=BRK-1004
 broker.stopped=Exception
-broker.config=${project.root}/build/etc/config-systests-derby.xml
+broker.config=build/etc/config-systests-derby.xml
 messagestore.class.name=org.apache.qpid.server.store.DerbyMessageStore
-profile.excludes=JavaPersistentExcludes Java010Excludes
+profile.excludes=JavaPersistentExcludes JavaDerbyExcludes Java010Excludes
 broker.clean.between.tests=true
 broker.persistent=true

Modified: qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby-spawn.0-9-1.testprofile
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby-spawn.0-9-1.testprofile?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby-spawn.0-9-1.testprofile (original)
+++ qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby-spawn.0-9-1.testprofile Thu Oct  6 20:04:48 2011
@@ -19,14 +19,13 @@
 broker.version=v0_9_1
 broker.language=java
 broker.type=spawned
-broker.command=${project.root}/build/bin/qpid-server -p @PORT -m @MPORT @EXCLUDES -c @CONFIG_FILE -l ${test.profiles}/log4j-test.xml
-broker.clean=${test.profiles}/clean-dir ${build.data} ${project.root}/build/work
+broker.command=build/bin/qpid-server -p @PORT -m @MPORT @EXCLUDES -c @CONFIG_FILE -l test-profiles/log4j-test.xml
 broker.ready=BRK-1004
 broker.stopped=Exception
-broker.config=${project.root}/build/etc/config-systests-derby.xml
+broker.config=build/etc/config-systests-derby.xml
 broker.protocol.excludes=--exclude-0-10 @PORT --exclude-0-10 @SSL_PORT
 messagestore.class.name=org.apache.qpid.server.store.DerbyMessageStore
-profile.excludes=JavaPersistentExcludes JavaPre010Excludes
+profile.excludes=JavaPersistentExcludes JavaDerbyExcludes JavaPre010Excludes
 broker.clean.between.tests=true
 broker.persistent=true
 #

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby-spawn.0-9-1.testprofile
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/java-derby.testprofile:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/java-derby.testprofile:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/java-derby.testprofile:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/java-dby-spawn.0-9-1.testprofile:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/java-dby-spawn.0-9-1.testprofile:1144319-1179750

Modified: qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby.0-10.testprofile
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby.0-10.testprofile?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby.0-10.testprofile (original)
+++ qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby.0-10.testprofile Thu Oct  6 20:04:48 2011
@@ -19,12 +19,12 @@
 broker.language=java
 broker.version=v0_10
 broker.type=internal
-broker.command=${project.root}/build/bin/qpid-server -p @PORT -m @MPORT -c @CONFIG_FILE -l ${test.profiles}/log4j-test.xml
-broker.clean=${test.profiles}/clean-dir ${build.data} ${project.root}/build/work
+#broker.command only used for the second broker during failover tests in this profile
+broker.command=build/bin/qpid-server -p @PORT -m @MPORT -c @CONFIG_FILE -l test-profiles/log4j-test.xml
 broker.ready=BRK-1004
 broker.stopped=Exception
-broker.config=${project.root}/build/etc/config-systests-derby.xml
+broker.config=build/etc/config-systests-derby.xml
 messagestore.class.name=org.apache.qpid.server.store.DerbyMessageStore
-profile.excludes=JavaPersistentExcludes Java010Excludes
+profile.excludes=JavaPersistentExcludes JavaDerbyExcludes Java010Excludes
 broker.clean.between.tests=true
 broker.persistent=true

Modified: qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby.0-9-1.testprofile
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby.0-9-1.testprofile?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby.0-9-1.testprofile (original)
+++ qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby.0-9-1.testprofile Thu Oct  6 20:04:48 2011
@@ -19,14 +19,14 @@
 broker.version=v0_9_1
 broker.language=java
 broker.type=internal
-broker.command=${project.root}/build/bin/qpid-server -p @PORT -m @MPORT @EXCLUDES -c @CONFIG_FILE -l ${test.profiles}/log4j-test.xml
-broker.clean=${test.profiles}/clean-dir ${build.data} ${project.root}/build/work
+#broker.command only used for the second broker during failover tests in this profile
+broker.command=build/bin/qpid-server -p @PORT -m @MPORT @EXCLUDES -c @CONFIG_FILE -l test-profiles/log4j-test.xml
 broker.ready=BRK-1004
 broker.stopped=Exception
-broker.config=${project.root}/build/etc/config-systests-derby.xml
+broker.config=build/etc/config-systests-derby.xml
 broker.protocol.excludes=--exclude-0-10 @PORT --exclude-0-10 @SSL_PORT
 messagestore.class.name=org.apache.qpid.server.store.DerbyMessageStore
-profile.excludes=JavaPersistentExcludes JavaPre010Excludes
+profile.excludes=JavaPersistentExcludes JavaDerbyExcludes JavaPre010Excludes
 broker.clean.between.tests=true
 broker.persistent=true
 #

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/java-dby.0-9-1.testprofile
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/java-derby.testprofile:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/java-derby.testprofile:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/java-derby.testprofile:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/java-dby.0-9-1.testprofile:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/java-dby.0-9-1.testprofile:1144319-1179750

Modified: qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms-spawn.0-10.testprofile
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms-spawn.0-10.testprofile?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms-spawn.0-10.testprofile (original)
+++ qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms-spawn.0-10.testprofile Thu Oct  6 20:04:48 2011
@@ -19,8 +19,7 @@
 broker.version=v0_10
 broker.language=java
 broker.type=spawned
-broker.command=${project.root}/build/bin/qpid-server -p @PORT -m @MPORT -c @CONFIG_FILE -l ${test.profiles}/log4j-test.xml
-broker.clean=${test.profiles}/clean-dir ${build.data} ${project.root}/build/work
+broker.command=build/bin/qpid-server -p @PORT -m @MPORT -c @CONFIG_FILE -l test-profiles/log4j-test.xml
 broker.ready=BRK-1004
 broker.stopped=Exception
 #

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms-spawn.0-10.testprofile
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/java.testprofile:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/java.testprofile:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/java.testprofile:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/java-mms-spawn.0-10.testprofile:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/java-mms-spawn.0-10.testprofile:1144319-1179750

Modified: qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms-spawn.0-9-1.testprofile
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms-spawn.0-9-1.testprofile?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms-spawn.0-9-1.testprofile (original)
+++ qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms-spawn.0-9-1.testprofile Thu Oct  6 20:04:48 2011
@@ -19,8 +19,7 @@
 broker.version=v0_9_1
 broker.language=java
 broker.type=spawned
-broker.command=${project.root}/build/bin/qpid-server -p @PORT -m @MPORT @EXCLUDES -c @CONFIG_FILE -l ${test.profiles}/log4j-test.xml
-broker.clean=${test.profiles}/clean-dir ${build.data} ${project.root}/build/work
+broker.command=build/bin/qpid-server -p @PORT -m @MPORT @EXCLUDES -c @CONFIG_FILE -l test-profiles/log4j-test.xml
 broker.ready=BRK-1004
 broker.stopped=Exception
 broker.protocol.excludes=--exclude-0-10 @PORT --exclude-0-10 @SSL_PORT

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms-spawn.0-9-1.testprofile
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/java.testprofile:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/java.testprofile:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/java.testprofile:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/java-mms-spawn.0-9-1.testprofile:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/java-mms-spawn.0-9-1.testprofile:1144319-1179750

Modified: qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms.0-10.testprofile
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms.0-10.testprofile?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms.0-10.testprofile (original)
+++ qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms.0-10.testprofile Thu Oct  6 20:04:48 2011
@@ -19,8 +19,8 @@
 broker.language=java
 broker.version=v0_10
 broker.type=internal
-broker.command=${project.root}/build/bin/qpid-server -p @PORT -m @MPORT -c @CONFIG_FILE -l ${test.profiles}/log4j-test.xml
-broker.clean=${test.profiles}/clean-dir ${build.data} ${project.root}/build/work
+#broker.command only used for the second broker during failover tests in this profile
+broker.command=build/bin/qpid-server -p @PORT -m @MPORT -c @CONFIG_FILE -l test-profiles/log4j-test.xml
 broker.ready=BRK-1004
 broker.stopped=Exception
 

Modified: qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms.0-9-1.testprofile
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms.0-9-1.testprofile?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms.0-9-1.testprofile (original)
+++ qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms.0-9-1.testprofile Thu Oct  6 20:04:48 2011
@@ -20,8 +20,7 @@ broker.language=java
 broker.version=v0_9_1
 broker.type=internal
 #broker.command only used for the second broker during failover tests in this profile
-broker.command=${project.root}/build/bin/qpid-server -p @PORT -m @MPORT @EXCLUDES -c @CONFIG_FILE -l ${test.profiles}/log4j-test.xml
-broker.clean=${test.profiles}/clean-dir ${build.data} ${project.root}/build/work
+broker.command=build/bin/qpid-server -p @PORT -m @MPORT @EXCLUDES -c @CONFIG_FILE -l test-profiles/log4j-test.xml
 broker.ready=BRK-1004
 broker.stopped=Exception
 broker.protocol.excludes=--exclude-0-10 @PORT --exclude-0-10 @SSL_PORT

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/java-mms.0-9-1.testprofile
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/java.testprofile:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/java.testprofile:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/java.testprofile:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/java-mms.0-9-1.testprofile:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/java-mms.0-9-1.testprofile:1144319-1179750

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/log4j-test.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -3,4 +3,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/log4j-test.xml:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/log4j-test.xml:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/log4j-test.xml:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/log4j-test.xml:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/log4j-test.xml:1144319-1179750

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/test-provider.properties
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/test-provider.properties:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/test-provider.properties:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/test-provider.properties:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/test-provider.properties:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/test-provider.properties:1144319-1179750

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/test_resources/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/test_resources:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/test_resources:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/test_resources:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/test_resources:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/test_resources:1144319-1179750

Modified: qpid/branches/qpid-3346/qpid/java/test-profiles/testprofile.defaults
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/java/test-profiles/testprofile.defaults?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/java/test-profiles/testprofile.defaults (original)
+++ qpid/branches/qpid-3346/qpid/java/test-profiles/testprofile.defaults Thu Oct  6 20:04:48 2011
@@ -19,9 +19,8 @@
 java.naming.factory.initial=org.apache.qpid.jndi.PropertiesFileInitialContextFactory
 java.naming.provider.url=${test.profiles}/test-provider.properties
 
-broker.clean=${test.profiles}/clean-dir ${build.data} ${project.root}/build/work
 broker.ready=Listening on TCP
-broker.config=${project.root}/build/etc/config-systests.xml
+broker.config=build/etc/config-systests.xml
 messagestore.class.name=org.apache.qpid.server.store.MemoryMessageStore
 broker.protocol.excludes=
 broker.persistent=false

Propchange: qpid/branches/qpid-3346/qpid/java/test-profiles/testprofile.defaults
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/test-profiles/default.testprofile:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/test-profiles/default.testprofile:805429-821809
 /qpid/branches/qpid-2935/qpid/java/test-profiles/default.testprofile:1061302-1072333
-/qpid/trunk/qpid/java/test-profiles/testprofile.defaults:1144319-1172654
+/qpid/trunk/qpid/java/test-profiles/testprofile.defaults:1144319-1179750

Propchange: qpid/branches/qpid-3346/qpid/packaging/windows/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -4,4 +4,4 @@
 /qpid/branches/0.6-release-windows-installer/qpid/packaging/windows:926865,927233
 /qpid/branches/java-network-refactor/qpid/packaging/windows:805429-825319
 /qpid/branches/qpid-2935/qpid/packaging/windows:1061302-1072333
-/qpid/trunk/qpid/packaging/windows:1144319-1172654
+/qpid/trunk/qpid/packaging/windows:1144319-1179750

Propchange: qpid/branches/qpid-3346/qpid/python/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-network-refactor/qpid/python:805429-825319
 /qpid/branches/qmfv2/qpid/python:902858,902894
 /qpid/branches/qpid-2935/qpid/python:1061302-1072333
-/qpid/trunk/qpid/python:1144319-1172654
+/qpid/trunk/qpid/python:1144319-1179750

Propchange: qpid/branches/qpid-3346/qpid/python/examples/api/spout
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -1,4 +1,4 @@
 /qpid/branches/qmfv2/qpid/python/examples/api/spout:902858,902894
 /qpid/branches/qpid-2935/qpid/python/examples/api/spout:1061302-1072333
 /qpid/branches/qpid.rnr/python/examples/api/spout:894071-896158
-/qpid/trunk/qpid/python/examples/api/spout:1144319-1172654
+/qpid/trunk/qpid/python/examples/api/spout:1144319-1179750

Propchange: qpid/branches/qpid-3346/qpid/python/qpid/concurrency.py
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -1,4 +1,4 @@
 /qpid/branches/qmfv2/qpid/python/qpid/concurrency.py:902858,902894
 /qpid/branches/qpid-2935/qpid/python/qpid/concurrency.py:1061302-1072333
 /qpid/branches/qpid.rnr/python/qpid/concurrency.py:894071-896158
-/qpid/trunk/qpid/python/qpid/concurrency.py:1144319-1172654
+/qpid/trunk/qpid/python/qpid/concurrency.py:1144319-1179750

Propchange: qpid/branches/qpid-3346/qpid/tests/src/py/qpid_tests/broker_0_9/queue.py
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 20:04:48 2011
@@ -1,4 +1,4 @@
 /qpid/branches/qmfv2/qpid/python/tests_0-9/queue.py:902858,902894
 /qpid/branches/qpid-2935/qpid/tests/src/py/qpid_tests/broker_0_9/queue.py:1061302-1072333
 /qpid/branches/qpid.rnr/python/tests_0-9/queue.py:894071-896158
-/qpid/trunk/qpid/tests/src/py/qpid_tests/broker_0_9/queue.py:1144319-1172654
+/qpid/trunk/qpid/tests/src/py/qpid_tests/broker_0_9/queue.py:1144319-1179750

Modified: qpid/branches/qpid-3346/qpid/tools/src/py/qmf-tool
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3346/qpid/tools/src/py/qmf-tool?rev=1179802&r1=1179801&r2=1179802&view=diff
==============================================================================
--- qpid/branches/qpid-3346/qpid/tools/src/py/qmf-tool (original)
+++ qpid/branches/qpid-3346/qpid/tools/src/py/qmf-tool Thu Oct  6 20:04:48 2011
@@ -31,6 +31,100 @@ from qpid.disp   import Display
 import cqpid
 import qmf2
 
+class OptsAndArgs(object):
+
+  def __init__(self, argv):
+    self.argv = argv
+    self.usage = """qmf-tool [OPTIONS] [<broker-host>[:<port>]]"""
+    self.option_parser = optparse.OptionParser(usage=self.usage)
+    self.conn_group = optparse.OptionGroup(self.option_parser, "Connection Options")
+    self.conn_group.add_option("-u", "--user", action="store", type="string", help="User name for authentication")
+    self.conn_group.add_option("-p", "--password", action="store", type="string", help="Password for authentication")
+    self.conn_group.add_option("-t", "--transport", action="store", type="string",  help="Transport type (tcp, ssl, rdma)")
+    self.conn_group.add_option("-m", "--mechanism", action="store", type="string", help="SASL Mechanism for security")
+    self.conn_group.add_option("-s", "--service", action="store", type="string", default="qpidd", help="SASL Service name")
+    self.conn_group.add_option("--min-ssf", action="store", type="int", metavar="<n>", help="Minimum acceptable security strength factor")
+    self.conn_group.add_option("--max-ssf", action="store", type="int", metavar="<n>", help="Maximum acceptable security strength factor")
+    self.conn_group.add_option("--conn-option", action="append", default=[], metavar="<NAME=VALUE>", help="Additional connection option(s)")
+    self.option_parser.add_option_group(self.conn_group)
+
+    self.qmf_group = optparse.OptionGroup(self.option_parser, "QMF Session Options")
+    self.qmf_group.add_option("--domain", action="store", type="string", help="QMF Domain")
+    self.qmf_group.add_option("--agent-age", action="store", type="int", metavar="<n>", help="Time, in minutes, to age out non-communicating agents")
+    self.qmf_group.add_option("--qmf-option", action="append", default=[], metavar="<NAME=VALUE>", help="Additional QMF session option(s)")
+    self.option_parser.add_option_group(self.qmf_group)
+
+  def parse(self):
+    host = "localhost"
+    conn_options = []
+    qmf_options = []
+
+    options, encArgs = self.option_parser.parse_args(args=self.argv)
+    try:
+      encoding = locale.getpreferredencoding()
+      args = [a.decode(encoding) for a in encArgs]
+    except:
+      args = encArgs
+
+    if len(args) > 1:
+      host = args[1]
+
+    if options.user:
+      conn_options.append("username:'%s'" % options.user)
+    if options.password:
+      conn_options.append("password:'%s'" % options.password)
+    if options.transport:
+      conn_options.append("transport:'%s'" % options.transport)
+    if options.mechanism:
+      conn_options.append("sasl_mechanisms:'%s'" % options.mechanism)
+    if options.service:
+      conn_options.append("sasl_service:'%s'" % options.service)
+    if options.min_ssf:
+      conn_options.append("sasl_min_ssf:%d" % options.min_ssf)
+    if options.max_ssf:
+      conn_options.append("sasl_max_ssf:%d" % options.max_ssf)
+    for x in options.conn_option:
+      try:
+        key, val = x.split('=')
+        conn_options.append("%s:%s" % (key, val))
+      except:
+        raise Exception("Improperly formatted text for --conn-option: '%s'" % x)
+
+    if options.domain:
+      qmf_options.append("domain:'%s'" % options.domain)
+    if options.agent_age:
+      qmf_options.append("max-agent-age:%d" % options.agent_age)
+    for x in options.qmf_option:
+      try:
+        key, val = x.split('=')
+        qmf_options.append("%s:%s" % (key, val))
+      except:
+        raise Exception("Improperly formatted text for --qmf-option: '%s'" % x)
+
+    conn_string = '{'
+    first = True
+    for x in conn_options:
+      if first:
+        first = None
+      else:
+        conn_string += ','
+      conn_string += x
+    conn_string += '}'
+
+    qmf_string = '{'
+    first = True
+    for x in qmf_options:
+      if first:
+        first = None
+      else:
+        qmf_string += ','
+      qmf_string += x
+    qmf_string += '}'
+
+    return host, conn_string, qmf_string
+
+
+
 class Mcli(Cmd):
   """ Management Command Interpreter """
 
@@ -55,10 +149,11 @@ class Mcli(Cmd):
     print
     print "Agent Commands:"
     print "    set filter <filter-string> - Filter the list of agents"
-    print "    show filter                - Show the agent filter currently in effect"
     print "    list agents                - Print a list of the known Agents"
-    print "    show agent <item-number>   - Print detailed information about an Agent"
     print "    set default <item-number>  - Set the default agent for operations"
+    print "    show filter                - Show the agent filter currently in effect"
+    print "    show agent <item-number>   - Print detailed information about an Agent"
+    print "    show options               - Show option strings used in the QMF session"
     print
     print "Schema Commands:"
     print "    list packages                            - Print a list of packages supported by the default agent"
@@ -112,7 +207,7 @@ class Mcli(Cmd):
   def complete_show(self, text, line, begidx, endidx):
     tokens = split(line[:begidx])
     if len(tokens) == 1:
-      return [i for i in ('filter', 'agent ', 'class ') if i.startswith(text)]
+      return [i for i in ('options', 'filter', 'agent ', 'class ') if i.startswith(text)]
     return []
 
   def do_show(self, data):
@@ -175,13 +270,15 @@ class Mcli(Cmd):
 class QmfData:
   """
   """
-  def __init__(self, disp, url):
+  def __init__(self, disp, url, conn_options, qmf_options):
     self.disp = disp
     self.url = url
+    self.conn_options = conn_options
+    self.qmf_options = qmf_options
     self.agent_filter = '[]'
-    self.connection = cqpid.Connection(self.url)
+    self.connection = cqpid.Connection(self.url, self.conn_options)
     self.connection.open()
-    self.session = qmf2.ConsoleSession(self.connection)
+    self.session = qmf2.ConsoleSession(self.connection, self.qmf_options)
     self.session.setAgentFilter(self.agent_filter)
     self.session.open()
     self.lock = Lock()
@@ -239,6 +336,12 @@ class QmfData:
       print "What do you want to show?  Type 'help' for more information."
       return
 
+    if tokens[0] == 'options':
+      print "Options used in this session:"
+      print "  Connection Options : %s" % self.scrubConnOptions()
+      print "  QMF Session Options: %s" % self.qmf_options
+      return
+
     if tokens[0] == 'agent':
       self.showAgent(tokens[1:])
       return
@@ -636,32 +739,33 @@ class QmfData:
         first = None
     return result
 
-def Usage():
-  print "Usage:  qpid-tool [[<username>/<password>@]<target-host>[:<tcp-port>]]"
-  print
+  def scrubConnOptions(self):
+    pw = self.conn_options.find('password:')
+    if pw < 0:
+      return self.conn_options
+    scrubbed = self.conn_options[:pw + 9] + "***"
+    delim = self.conn_options[pw:].find(',')
+    if delim < 0:
+      delim = self.conn_options[pw:].find('}')
+    scrubbed += self.conn_options[pw + delim:]
+    return scrubbed
+
 
 #=========================================================
 # Main Program
 #=========================================================
-
-# Get host name and port if specified on the command line
-cargs = sys.argv[1:]
-_host = "localhost"
-
-if len(cargs) > 0:
-  _host = cargs[0]
-
-if _host[0] == '-':
-  Usage()
-  if _host != '-h' and _host != "--help":
-    print "qpid-tool: error: no such option:", _host
+try:
+  oa = OptsAndArgs(sys.argv)
+  host, conn_options, qmf_options = oa.parse()
+except Exception, e:
+  print "Parse Error: %s" % e
   sys.exit(1)
 
 disp = Display()
 
 # Attempt to make a connection to the target broker
 try:
-  data = QmfData(disp, _host)
+  data = QmfData(disp, host, conn_options, qmf_options)
 except Exception, e:
   if str(e).find("Exchange not found") != -1:
     print "Management not enabled on broker:  Use '-m yes' option on broker startup."



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org