You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2010/02/05 12:00:45 UTC

svn commit: r906898 - in /qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid: management/jmx/ server/ server/logging/ server/queue/ util/

Author: ritchiem
Date: Fri Feb  5 11:00:45 2010
New Revision: 906898

URL: http://svn.apache.org/viewvc?rev=906898&view=rev
Log:
QPID-2059 : Updated test to try and wait for the subscriber message to appear in the log file.

QPID-2059 : One of the main causes of SubscriptionLoggingTest failing was that the aynchronous broker call preceding the log scraping would not always have time to complete the logging to file.

So I have added a waitAndFindMessages method that will attempt to retreive the required string for a set period of time. If it is found then it will perform the findMessages as before. I have updated the LoggingTests to use this method first. This will ensure that we have a more sophoiticated wait that just adding Thread.sleep()s to the tests.

QPID-2059 : Being even more explicit in some of the Logging tests as the previous update caused a sinle ExchangeLoggingTest failure. Updated tests where I can to explicitly wait for a message ID they are testing for. Then used a findMatches with the more general match. i.e. wait for QUE-1001 but find all QUE- messages.

merged changes from 0.5.x r 906559,906459,905600


Modified:
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/ManagementActorLoggingTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/BrokerStartupTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AlertingTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/BindingLoggingTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/BrokerLoggingTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ChannelLoggingTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/DerbyMessageStoreLoggingTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/DurableQueueLoggingTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ExchangeLoggingTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ManagementLoggingTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/MemoryMessageStoreLoggingTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/QueueLoggingTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/SubscriptionLoggingTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/VirtualHostLoggingTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/ProducerFlowControlTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitorTest.java

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/ManagementActorLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/ManagementActorLoggingTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/ManagementActorLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/ManagementActorLoggingTest.java Fri Feb  5 11:00:45 2010
@@ -88,7 +88,7 @@
      */
     public void testJMXManagementConsoleConnection() throws IOException
     {
-        List<String> results = _monitor.findMatches("MNG-1007");
+        List<String> results = _monitor.waitAndFindMatches("MNG-1007", DEFAULT_LOG_WAIT);
 
         assertEquals("Unexpected Management Connection count", 1, results.size());
 
@@ -107,7 +107,7 @@
 
         _jmxUtils.close();
 
-        results = _monitor.findMatches("MNG-1008");
+        results = _monitor.waitAndFindMatches("MNG-1008", DEFAULT_LOG_WAIT);
 
         assertEquals("Unexpected Management Connection count", 1, results.size());
 
@@ -168,7 +168,7 @@
                    exceptionReceived.await(2, TimeUnit.SECONDS));
 
         //Validate results
-        List<String> results = _monitor.findMatches("CON-1002");
+        List<String> results = _monitor.waitAndFindMatches("CON-1002", DEFAULT_LOG_WAIT);
 
         assertEquals("Unexpected Connection Close count", 1, results.size());
     }
@@ -203,7 +203,7 @@
         // Validate
 
         //1 - ID is correct
-        List<String> results = _monitor.findMatches("EXH-1001");
+        List<String> results = _monitor.waitAndFindMatches("EXH-1001", DEFAULT_LOG_WAIT);
 
         assertEquals("More than one exchange creation found", 1, results.size());
 
@@ -227,7 +227,7 @@
         // Validate
 
         //1 - ID is correct
-        List<String> results = _monitor.findMatches("EXH-1001");
+        List<String> results = _monitor.waitAndFindMatches("EXH-1001", DEFAULT_LOG_WAIT);
 
         assertEquals("More than one exchange creation found", 1, results.size());
 
@@ -252,7 +252,7 @@
         // Validate
 
         //1 - ID is correct
-        List<String> results = _monitor.findMatches("EXH-1001");
+        List<String> results = _monitor.waitAndFindMatches("EXH-1001", DEFAULT_LOG_WAIT);
 
         assertEquals("More than one exchange creation found", 1, results.size());
 
@@ -277,7 +277,7 @@
         // Validate
 
         //1 - ID is correct
-        List<String> results = _monitor.findMatches("EXH-1001");
+        List<String> results = _monitor.waitAndFindMatches("EXH-1001", DEFAULT_LOG_WAIT);
 
         assertEquals("More than one exchange creation found", 1, results.size());
 
@@ -320,7 +320,7 @@
 
         // Validate
 
-        List<String> results = _monitor.findMatches("QUE-1001");
+        List<String> results = _monitor.waitAndFindMatches("QUE-1001", DEFAULT_LOG_WAIT);
 
         assertEquals("More than one queue creation found", 1, results.size());
 
@@ -365,7 +365,7 @@
 
         managedBroker.deleteQueue(getName());
 
-        List<String> results = _monitor.findMatches("QUE-1002");
+        List<String> results = _monitor.waitAndFindMatches("QUE-1002", DEFAULT_LOG_WAIT);
 
         assertEquals("More than one queue deletion found", 1, results.size());
 
@@ -411,7 +411,7 @@
 
         managedExchange.createNewBinding(getName(), getName());
 
-        List<String> results = _monitor.findMatches("BND-1001");
+        List<String> results = _monitor.waitAndFindMatches("BND-1001", DEFAULT_LOG_WAIT);
 
         assertEquals("More than one bind creation found", 1, results.size());
 
@@ -438,7 +438,7 @@
 
         managedExchange.createNewBinding(getName(), getName());
 
-        List<String> results = _monitor.findMatches("BND-1001");
+        List<String> results = _monitor.waitAndFindMatches("BND-1001", DEFAULT_LOG_WAIT);
 
         assertEquals("More than one bind creation found", 1, results.size());
 
@@ -465,7 +465,7 @@
 
         managedExchange.createNewBinding(getName(), getName());
 
-        List<String> results = _monitor.findMatches("BND-1001");
+        List<String> results = _monitor.waitAndFindMatches("BND-1001", DEFAULT_LOG_WAIT);
 
         assertEquals("More than one bind creation found", 1, results.size());
 
@@ -512,7 +512,7 @@
 
         managedBroker.unregisterExchange(getName());
 
-        List<String> results = _monitor.findMatches("EXH-1002");
+        List<String> results = _monitor.waitAndFindMatches("EXH-1002", DEFAULT_LOG_WAIT);
 
         assertEquals("More than one exchange deletion found", 1, results.size());
 

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/BrokerStartupTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/BrokerStartupTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/BrokerStartupTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/BrokerStartupTest.java Fri Feb  5 11:00:45 2010
@@ -102,7 +102,7 @@
                          0, _monitor.findMatches("log4j:ERROR Could not read configuration file from URL").size());
 
             assertEquals("Logging did not error as expected",
-                         1, _monitor.findMatches("Logging configuration error: unable to read file ").size());
+                         1, _monitor.waitAndFindMatches("Logging configuration error: unable to read file ", DEFAULT_LOG_WAIT).size());
 
 
             // Perfom some action on the broker to ensure that we hit the DEBUG
@@ -120,7 +120,7 @@
 
             assertEquals(COUNT,drainQueue(queue));
 
-            List<String> results = _monitor.findMatches("DEBUG");
+            List<String> results = _monitor.waitAndFindMatches("DEBUG", DEFAULT_LOG_WAIT);
             try
             {
                 // Validation

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java Fri Feb  5 11:00:45 2010
@@ -32,6 +32,7 @@
 
 public class AbstractTestLogging extends QpidTestCase
 {
+    public static final long DEFAULT_LOG_WAIT = 2000;
     protected LogMonitor _monitor;
 
     @Override

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AlertingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AlertingTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AlertingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AlertingTest.java Fri Feb  5 11:00:45 2010
@@ -47,13 +47,6 @@
 
     public void setUp() throws Exception
     {
-        // set QPID_WORK to be [QPID_WORK|io.tmpdir]/<testName>
-        // This ensures that each of these tests operate independantly.
-        setSystemProperty("QPID_WORK",
-                          System.getProperty("QPID_WORK",
-                                             System.getProperty("java.io.tmpdir"))
-                          + File.separator + getName());
-
         // Update the configuration to make our virtualhost Persistent.
         makeVirtualHostPersistent(VIRTUALHOST);
 

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/BindingLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/BindingLoggingTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/BindingLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/BindingLoggingTest.java Fri Feb  5 11:00:45 2010
@@ -104,7 +104,7 @@
     {
         _session.createConsumer(_queue).close();
 
-        List<String> results = _monitor.findMatches(BND_PREFIX);
+        List<String> results = _monitor.waitAndFindMatches(BND_PREFIX, DEFAULT_LOG_WAIT);
 
         // We will have two binds as we bind all queues to the default exchange
         assertEquals("Result set larger than expected.", 2, results.size());
@@ -141,7 +141,7 @@
 
         _session.createDurableSubscriber(_topic, getName(), SELECTOR, false).close();
 
-        List<String> results = _monitor.findMatches(BND_PREFIX);
+        List<String> results = _monitor.waitAndFindMatches(BND_PREFIX, DEFAULT_LOG_WAIT);
 
         // We will have two binds as we bind all queues to the default exchange
         assertEquals("Result set larger than expected.", 2, results.size());
@@ -212,7 +212,7 @@
         // and so unbind.
         _session.createConsumer(_session.createTemporaryQueue()).close();
 
-        List<String> results = _monitor.findMatches(BND_PREFIX);
+        List<String> results = _monitor.waitAndFindMatches(BND_PREFIX, DEFAULT_LOG_WAIT);
 
         // We will have two binds as we bind all queues to the default exchange
         assertEquals("Result not as expected." + results, 4, results.size());

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/BrokerLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/BrokerLoggingTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/BrokerLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/BrokerLoggingTest.java Fri Feb  5 11:00:45 2010
@@ -47,6 +47,8 @@
  */
 public class BrokerLoggingTest extends AbstractTestLogging
 {
+    private static final String BRK_LOG_PREFIX = "BRK-";
+
     public void setUp() throws Exception
     {
         // We either do this here or have a null check in tearDown.
@@ -79,6 +81,8 @@
      */
     public void testBrokerStartupConfiguration() throws Exception
     {
+        String TESTID="BRK-1006";
+
         // This logging startup code only occurs when you run a Java broker,
         // that broker must be started via Main so not an InVM broker.
         if (isJavaBroker() && isExternalBroker())
@@ -91,7 +95,10 @@
 
             String configFilePath = _configFile.toString();
 
-            List<String> results = _monitor.findMatches("BRK-");
+            // Ensure we wait for TESTID to be logged
+            _monitor.waitAndFindMatches(TESTID, DEFAULT_LOG_WAIT);
+
+            List<String> results = _monitor.waitAndFindMatches(BRK_LOG_PREFIX, DEFAULT_LOG_WAIT);
             try
             {
                 // Validation
@@ -101,10 +108,10 @@
                 String log = getLog(results.get(0));
 
                 //1
-                validateMessageID("BRK-1006", log);
+                validateMessageID(TESTID, log);
 
                 //2
-                results = _monitor.findMatches("BRK-1006");
+                results = _monitor.findMatches(TESTID);
                 assertEquals("More than one configuration message found.",
                              1, results.size());
 
@@ -170,7 +177,10 @@
             // Ensure broker has fully started up.
             getConnection();
 
-            List<String> results = _monitor.findMatches("BRK-");
+            // Ensure we wait for TESTID to be logged
+            _monitor.waitAndFindMatches(TESTID, DEFAULT_LOG_WAIT);
+
+            List<String> results = _monitor.waitAndFindMatches(BRK_LOG_PREFIX, DEFAULT_LOG_WAIT);
             try
             {
                 // Validation
@@ -268,7 +278,10 @@
             // Ensure broker has fully started up.
             getConnection();
 
-            List<String> results = _monitor.findMatches("BRK-");
+            // Ensure we wait for TESTID to be logged
+            _monitor.waitAndFindMatches(TESTID, DEFAULT_LOG_WAIT);
+
+            List<String> results = _monitor.waitAndFindMatches(BRK_LOG_PREFIX, DEFAULT_LOG_WAIT);
             try
             {
                 // Validation
@@ -353,8 +366,14 @@
 
             // Now we can create the monitor as _outputFile will now be defined
             _monitor = new LogMonitor(_outputFile);
+            
+            // Ensure we wait for TESTID to be logged
+            _monitor.waitAndFindMatches(TESTID, DEFAULT_LOG_WAIT);
+
+            // Retrieve all BRK- log messages so we can check for an erroneous
+            // BRK-1002 message.
+            List<String> results = _monitor.findMatches(BRK_LOG_PREFIX);
 
-            List<String> results = _monitor.findMatches("BRK-");
             try
             {
                 // Validation
@@ -437,7 +456,12 @@
             // Ensure broker has fully started up.
             getConnection();
 
-            List<String> results = _monitor.findMatches("BRK-");
+            // Ensure we wait for TESTID to be logged
+            _monitor.waitAndFindMatches(TESTID, DEFAULT_LOG_WAIT);
+
+            // Retrieve all BRK- log messages so we can check for an erroneous
+            // BRK-1002 message.
+            List<String> results = _monitor.findMatches(BRK_LOG_PREFIX);
             try
             {
                 // Validation
@@ -537,7 +561,12 @@
             // Ensure broker has fully started up.
             getConnection();
 
-            List<String> results = _monitor.findMatches("BRK-");
+            // Ensure we wait for TESTID to be logged
+            _monitor.waitAndFindMatches(TESTID, DEFAULT_LOG_WAIT);
+
+            // Retrieve all BRK- log messages so we can check for an erroneous
+            // BRK-1002 message.
+            List<String> results = _monitor.findMatches(BRK_LOG_PREFIX);
             try
             {
                 // Validation
@@ -630,8 +659,12 @@
 
             //Ensure the broker has fully started up.
             getConnection();
+            // Ensure we wait for TESTID to be logged
+            _monitor.waitAndFindMatches(TESTID, DEFAULT_LOG_WAIT);
 
-            List<String> results = _monitor.findMatches("BRK-");
+            // Retrieve all BRK- log messages so we can check for an erroneous
+            // BRK-1001 message.
+            List<String> results = _monitor.findMatches(BRK_LOG_PREFIX);
             try
             {
                 // Validation
@@ -645,7 +678,7 @@
                     assertFalse("More broker log statements present after ready message", validation);
                     String log = getLog(rawLog);
 
-                    // Ensure we do not have a BRK-1002 message
+                    // Ensure we do not have a BRK-1001 message
                     if (!getMessageID(log).equals(TESTID))
                     {
                         if (getMessageID(log).equals("BRK-1001"))
@@ -720,7 +753,7 @@
             //Give broker time to shutdown and flush log
             checkSocketClosed(getPort());
 
-            List<String> results = _monitor.findMatches("BRK-");
+            List<String> results = _monitor.waitAndFindMatches(BRK_LOG_PREFIX, DEFAULT_LOG_WAIT);
             try
             {
                 // Validation
@@ -828,7 +861,7 @@
             //Give broker time to shutdown and flush log
             checkSocketClosed(getPort());
 
-            List<String> results = _monitor.findMatches(TESTID);
+            List<String> results = _monitor.waitAndFindMatches(TESTID, DEFAULT_LOG_WAIT);
             try
             {
                 // Validation
@@ -910,7 +943,9 @@
             // Ensure the broker has shutdown before retreving results
             checkSocketClosed(getPort());
 
-            List<String> results = _monitor.findMatches("BRK-");
+            _monitor.waitAndFindMatches(TESTID, DEFAULT_LOG_WAIT);
+
+            List<String> results = _monitor.waitAndFindMatches(BRK_LOG_PREFIX, DEFAULT_LOG_WAIT);
             try
             {
                 // Validation

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ChannelLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ChannelLoggingTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ChannelLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ChannelLoggingTest.java Fri Feb  5 11:00:45 2010
@@ -26,24 +26,14 @@
 import javax.jms.MessageConsumer;
 import javax.jms.Queue;
 import javax.jms.Session;
-import java.io.File;
 import java.util.List;
 
 public class ChannelLoggingTest extends AbstractTestLogging
 {
     private static final String CHANNEL_PREFIX = "CHN-";
 
-    public void setUp() throws Exception
-    {
-        // set QPID_WORK to be [QPID_WORK|io.tmpdir]/<testName>
-        setSystemProperty("QPID_WORK",
-                          System.getProperty("QPID_WORK",
-                                             System.getProperty("java.io.tmpdir"))
-                          + File.separator + getName());
-
-        //Start the broker
-        super.setUp();
-    }
+    // No explicit startup configuration is required for this test
+    // so no setUp() method
 
     /**
      * Description:
@@ -74,6 +64,9 @@
         // Test that calling session.close gives us the expected output
         ((AMQConnection)connection).createSession(false, Session.AUTO_ACKNOWLEDGE,PREFETCH);
 
+        // Wait to ensure that the CHN-1004 message is logged
+        _monitor.waitForMessage("CHN-1004", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(CHANNEL_PREFIX);
 
         // Validation
@@ -129,13 +122,16 @@
 
         connection.start();
 
+        // Wait to ensure that the CHN-1002 message is logged
+        _monitor.waitForMessage("CHN-1002", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(CHANNEL_PREFIX);
 
         assertTrue("No CHN messages logged", results.size() > 0);
 
         // The last channel message should be:
         //
-        // INFO - MESSAGE [con:0(guest@anonymous(4205299)/test)/ch:1] [con:0(guest@anonymous(4205299)/test)/ch:1] CHN-1002 : Flow Off
+        // INFO - MESSAGE [con:0(guest@anonymous(4205299)/test)/ch:1] [con:0(guest@anonymous(4205299)/test)/ch:1] CHN-1002 : Flow Stopped
 
         // Verify
         int resultSize = results.size();
@@ -183,22 +179,30 @@
         //Call receive to send the Flow On message
         consumer.receiveNoWait();
 
+        //Wait for up to 2 seconds for message to appear
+        // ignore response as we will use the findMatches afterwards just
+        // incase it did take more than 2 seconds to log.
+        _monitor.waitForMessage(CHANNEL_PREFIX, 2000);
+
+        // Wait to ensure that the CHN-1002 message is logged
+        _monitor.waitForMessage("CHN-1002", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(CHANNEL_PREFIX);
 
         assertTrue("No CHN messages logged", results.size() > 0);
 
-        // The last two channel messages should be:
+        // The last two channel messages(before the close) should be:
         //
-        // INFO - MESSAGE [con:0(guest@anonymous(4205299)/test)/ch:1] [con:0(guest@anonymous(4205299)/test)/ch:1] CHN-1002 : Flow On
+        // INFO [qpid.message] MESSAGE [con:1(guest@/127.0.0.1:49869/test)/ch:1] [con:1(guest@/127.0.0.1:49869/test)/ch:1] CHN-1002 : Flow Stopped
+        // INFO [qpid.message] MESSAGE [con:1(guest@/127.0.0.1:49869/test)/ch:1] [con:1(guest@/127.0.0.1:49869/test)/ch:1] CHN-1002 : Flow Started
 
-        // Verify
 
+        // Verify the last channel msg is Started.
         int resultSize = results.size();
         String log = getLog(results.get(resultSize - 1));
 
         validateMessageID("CHN-1002", log);
         assertEquals("Message should be Flow Started", "Flow Started", getMessageString(fromMessage(log)));
-
     }
 
     /**
@@ -232,6 +236,9 @@
         // Close the connection to verify the created session closing is logged.
         connection.close();
 
+        // Wait to ensure that the CHN-1003 message is logged
+        _monitor.waitForMessage("CHN-1003", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(CHANNEL_PREFIX);
 
         assertTrue("No CHN messages logged", results.size() > 0);
@@ -279,16 +286,14 @@
         // Create a session and then close it
         connection.createSession(false, Session.AUTO_ACKNOWLEDGE).close();
 
+        // Wait to ensure that the CHN-1003 message is logged
+        _monitor.waitForMessage("CHN-1003", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(CHANNEL_PREFIX);
 
         assertTrue("No CHN messages logged", results.size() > 0);
 
-        // The last two channel messages should be:
-        //
-        // INFO - MESSAGE [con:0(guest@anonymous(4205299)/test)/ch:1] [con:0(guest@anonymous(4205299)/test)/ch:1] CHN-1002 : Flow On
-
         // Verify
-
         int resultSize = results.size();
         String log = getLog(results.get(resultSize - 1));
 

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java Fri Feb  5 11:00:45 2010
@@ -30,17 +30,8 @@
 {
     private static final String CONNECTION_PREFIX = "CON-";
 
-    public void setUp() throws Exception
-    {
-        // set QPID_WORK to be [QPID_WORK|io.tmpdir]/<testName>
-        setSystemProperty("QPID_WORK",
-                          System.getProperty("QPID_WORK",
-                                             System.getProperty("java.io.tmpdir"))
-                          + File.separator + getName());
-
-        //Start the broker
-        super.setUp();
-    }
+    // No explicit startup configuration is required for this test
+    // so no setUp() method
 
     /**
      * Description:
@@ -64,7 +55,7 @@
 
         Connection connection = getConnection();
 
-        List<String> results = _monitor.findMatches(CONNECTION_PREFIX);
+        List<String> results = _monitor.waitAndFindMatches(CONNECTION_PREFIX, DEFAULT_LOG_WAIT);
 
         assertTrue("No CON messages logged", results.size() > 0);        
 
@@ -155,6 +146,9 @@
         // Open and then close the conneciton
         getConnection().close();
 
+        // Wait to ensure that the desired message is logged
+        _monitor.waitForMessage("CON-1002", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(CONNECTION_PREFIX);
 
         // Validation

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/DerbyMessageStoreLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/DerbyMessageStoreLoggingTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/DerbyMessageStoreLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/DerbyMessageStoreLoggingTest.java Fri Feb  5 11:00:45 2010
@@ -91,7 +91,7 @@
 
         startBroker();
 
-        List<String> results = _monitor.findMatches(MESSAGES_STORE_PREFIX);
+        List<String> results = _monitor.waitAndFindMatches(MESSAGES_STORE_PREFIX, DEFAULT_LOG_WAIT);
 
         // Validation
 
@@ -102,7 +102,7 @@
         List<String> vhosts = configuration.getConfig().getList("virtualhosts.virtualhost.name");
 
         //Validate each vhost logs a creation
-        results = _monitor.findMatches("MST-1002");
+        results = _monitor.waitAndFindMatches("MST-1002", DEFAULT_LOG_WAIT);
 
         assertEquals("Each vhost did not close its store.", vhosts.size(), results.size());
 
@@ -154,7 +154,7 @@
 
         startBroker();
 
-        List<String> results = _monitor.findMatches(MESSAGES_STORE_PREFIX);
+        List<String> results = _monitor.waitAndFindMatches(MESSAGES_STORE_PREFIX, DEFAULT_LOG_WAIT);
 
         // Validation
 
@@ -165,7 +165,7 @@
         List<String> vhosts = configuration.getConfig().getList("virtualhosts.virtualhost.name");
 
         //Validate each vhost logs a creation
-        results = _monitor.findMatches("MST-1004");
+        results = _monitor.waitAndFindMatches("MST-1004", DEFAULT_LOG_WAIT);
 
         assertTrue("Each vhost did not close its store.", vhosts.size() <= results.size());
 
@@ -221,7 +221,7 @@
 
         startBroker();
 
-        List<String> results = _monitor.findMatches(MESSAGES_STORE_PREFIX);
+        List<String> results = _monitor.waitAndFindMatches(MESSAGES_STORE_PREFIX, DEFAULT_LOG_WAIT);
 
         // Validation
 
@@ -232,7 +232,7 @@
         List<String> vhosts = configuration.getConfig().getList("virtualhosts.virtualhost.name");
 
         //Validate each vhost logs a creation
-        results = _monitor.findMatches("MST-1006");
+        results = _monitor.waitAndFindMatches("MST-1006", DEFAULT_LOG_WAIT);
 
         assertTrue("Each vhost did not close its store.", vhosts.size() <= results.size());
 
@@ -287,7 +287,7 @@
 
         startBroker();
 
-        List<String> results = _monitor.findMatches(MESSAGES_STORE_PREFIX);
+        List<String> results = _monitor.waitAndFindMatches(MESSAGES_STORE_PREFIX, DEFAULT_LOG_WAIT);
 
         // Validation
 
@@ -298,7 +298,7 @@
         List<String> vhosts = configuration.getConfig().getList("virtualhosts.virtualhost.name");
 
         //Validate each vhost logs a creation
-        results = _monitor.findMatches("MST-1004 : Recovery Start :");
+        results = _monitor.waitAndFindMatches("MST-1004 : Recovery Start :", DEFAULT_LOG_WAIT);
 
         // We are only looking for the default queue defined in local host being
         // recovered. If other tests have made queues in test then we want to
@@ -352,7 +352,7 @@
 
         startBroker();
 
-        List<String> results = _monitor.findMatches(MESSAGES_STORE_PREFIX);
+        List<String> results = _monitor.waitAndFindMatches(MESSAGES_STORE_PREFIX, DEFAULT_LOG_WAIT);
 
         // Validation
 
@@ -363,7 +363,7 @@
         List<String> vhosts = configuration.getConfig().getList("virtualhosts.virtualhost.name");
 
         //Validate each vhost logs a creation
-        results = _monitor.findMatches("MST-1006 : Recovery Complete :");
+        results = _monitor.waitAndFindMatches("MST-1006 : Recovery Complete :", DEFAULT_LOG_WAIT);
 
         // We are only looking for the default queue defined in local host being
         // recovered. If other tests have made queues in test then we want to
@@ -494,7 +494,7 @@
 
             startBroker();
 
-            List<String> results = _monitor.findMatches(MESSAGES_STORE_PREFIX);
+            List<String> results = _monitor.waitAndFindMatches(MESSAGES_STORE_PREFIX, DEFAULT_LOG_WAIT);
 
             // Validation
 
@@ -505,7 +505,7 @@
             List<String> vhosts = configuration.getConfig().getList("virtualhosts.virtualhost.name");
 
             //Validate each vhost logs a creation
-            results = _monitor.findMatches("MST-1004 : Recovery Start : " + queueName);
+            results = _monitor.waitAndFindMatches("MST-1004 : Recovery Start : " + queueName, DEFAULT_LOG_WAIT);
 
             assertEquals("Recovered test queue not found.", 1, results.size());
 
@@ -516,7 +516,7 @@
             assertTrue("MST-1004 does end with queue '" + queueName + "':" + getMessageString(result),
                        getMessageString(result).endsWith(queueName));
 
-            results = _monitor.findMatches("MST-1005");
+            results = _monitor.waitAndFindMatches("MST-1005", DEFAULT_LOG_WAIT);
 
             assertTrue("Insufficient MST-1005 logged.", results.size()>0);
 

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/DurableQueueLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/DurableQueueLoggingTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/DurableQueueLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/DurableQueueLoggingTest.java Fri Feb  5 11:00:45 2010
@@ -94,6 +94,9 @@
         _session.createConsumer(queue);
 
         // Validation
+        // Ensure we have received the QUE log msg.
+        _monitor.waitForMessage("QUE-1001", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(QUEUE_PREFIX);
 
         // Only 1 Queue message should hav been logged
@@ -145,6 +148,9 @@
         _session.createConsumer(queue);
 
         // Validation
+        // Ensure we have received the QUE log msg.
+        _monitor.waitForMessage("QUE-1001", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(QUEUE_PREFIX);
 
         // Only 1 Queue message should hav been logged
@@ -196,6 +202,9 @@
         _session.createConsumer(queue);
 
         // Validation
+        // Ensure we have received the QUE log msg.
+        _monitor.waitForMessage("QUE-1001", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(QUEUE_PREFIX);
 
         // Only 1 Queue message should hav been logged
@@ -260,6 +269,9 @@
         _session.createConsumer(queue);
 
         // Validation
+        // Ensure we have received the QUE log msg.
+        _monitor.waitForMessage("QUE-1001", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(QUEUE_PREFIX);
 
         // Only 1 Queue message should hav been logged
@@ -325,6 +337,9 @@
         _session.createConsumer(queue);
 
         // Validation
+        // Ensure we have received the QUE log msg.
+        _monitor.waitForMessage("QUE-1001", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(QUEUE_PREFIX);
 
         // Only 1 Queue message should hav been logged

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ExchangeLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ExchangeLoggingTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ExchangeLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ExchangeLoggingTest.java Fri Feb  5 11:00:45 2010
@@ -94,6 +94,9 @@
 
         // They should all be durable
 
+        // Ensure we have received the EXH log msg.
+        _monitor.waitForMessage("EXH-1001", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(EXH_PREFIX);
 
         assertTrue("No Results found for Exchange.", results.size()>0);
@@ -131,6 +134,8 @@
         _monitor.reset();
 
         _session.createConsumer(_queue);
+        // Ensure we have received the EXH log msg.
+        _monitor.waitForMessage("EXH-1001", DEFAULT_LOG_WAIT);
 
         List<String> results = _monitor.findMatches(EXH_PREFIX);
 
@@ -180,6 +185,9 @@
 
         ((AMQConnection) _connection).getProtocolHandler().syncWrite(exchangeDeclare, ExchangeDeleteOkBody.class);
 
+        //Wait and ensure we get our last EXH-1002 msg
+        _monitor.waitForMessage("EXH-1002", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(EXH_PREFIX);
 
         assertEquals("Result set larger than expected.", 2, results.size());

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ManagementLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ManagementLoggingTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ManagementLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ManagementLoggingTest.java Fri Feb  5 11:00:45 2010
@@ -85,7 +85,11 @@
             // Now we can create the monitor as _outputFile will now be defined
             _monitor = new LogMonitor(_outputFile);
 
+            // Ensure we have received the MNG log msg.
+            _monitor.waitForMessage("MNG-1001", DEFAULT_LOG_WAIT);
+
             List<String> results = _monitor.findMatches(MNG_PREFIX);
+            
             try
             {
                 // Validation
@@ -215,7 +219,7 @@
             // Now we can create the monitor as _outputFile will now be defined
             _monitor = new LogMonitor(_outputFile);
 
-            List<String> results = _monitor.findMatches("MNG-1002");
+            List<String> results = _monitor.waitAndFindMatches("MNG-1002", DEFAULT_LOG_WAIT);
             try
             {
                 // Validation
@@ -290,7 +294,7 @@
             // Now we can create the monitor as _outputFile will now be defined
             _monitor = new LogMonitor(_outputFile);
 
-            List<String> results = _monitor.findMatches("MNG-1006");
+            List<String> results = _monitor.waitAndFindMatches("MNG-1006", DEFAULT_LOG_WAIT);
             try
             {
                 // Validation

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/MemoryMessageStoreLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/MemoryMessageStoreLoggingTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/MemoryMessageStoreLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/MemoryMessageStoreLoggingTest.java Fri Feb  5 11:00:45 2010
@@ -78,7 +78,7 @@
 
         startBroker();
 
-        List<String> results = _monitor.findMatches(MESSAGES_STORE_PREFIX);
+        List<String> results = _monitor.waitAndFindMatches(MESSAGES_STORE_PREFIX, DEFAULT_LOG_WAIT);
 
         // Validation
 
@@ -93,7 +93,7 @@
         List<String> vhosts = configuration.getConfig().getList("virtualhosts.virtualhost.name");
 
         //Validate each vhost logs a creation
-        results = _monitor.findMatches("MST-1001");
+        results = _monitor.waitAndFindMatches("MST-1001", DEFAULT_LOG_WAIT);
 
         assertEquals("Each vhost did not create a store.", vhosts.size(), results.size());
 
@@ -149,7 +149,7 @@
         //Stop the broker so we get the close messages.
         stopBroker();
 
-        List<String> results = _monitor.findMatches(MESSAGES_STORE_PREFIX);
+        List<String> results = _monitor.waitAndFindMatches(MESSAGES_STORE_PREFIX, DEFAULT_LOG_WAIT);
 
         // Validation
 
@@ -160,7 +160,7 @@
         List<String> vhosts = configuration.getConfig().getList("virtualhosts.virtualhost.name");
 
         //Validate each vhost logs a creation
-        results = _monitor.findMatches("MST-1003");
+        results = _monitor.waitAndFindMatches("MST-1003", DEFAULT_LOG_WAIT);
 
         assertEquals("Each vhost did not close its store.", vhosts.size(), results.size());
 

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/QueueLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/QueueLoggingTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/QueueLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/QueueLoggingTest.java Fri Feb  5 11:00:45 2010
@@ -94,6 +94,9 @@
         _session.close();
 
         // Validation
+        //Ensure that we wait for the QUE log message
+        _monitor.waitAndFindMatches("QUE-1002", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(QUEUE_PREFIX);
 
         // Only 1 Queue message should hav been logged
@@ -145,6 +148,9 @@
            _session.createConsumer(_session.createTemporaryQueue()).close();
 
            // Validation
+           //Ensure that we wait for the QUE log message
+           _monitor.waitAndFindMatches("QUE-1002", DEFAULT_LOG_WAIT);
+
            List<String> results = _monitor.findMatches(QUEUE_PREFIX);
 
            // Only 1 Queue message should hav been logged

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/SubscriptionLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/SubscriptionLoggingTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/SubscriptionLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/SubscriptionLoggingTest.java Fri Feb  5 11:00:45 2010
@@ -91,6 +91,9 @@
 
         //Validate
 
+        //Ensure that we wait for the SUB log message
+        _monitor.waitAndFindMatches("SUB-1001", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(SUB_PREFIX);
 
         assertEquals("Result set larger than expected.", 1, results.size());
@@ -126,10 +129,12 @@
         _session.createDurableSubscriber(_topic, getName());
 
         //Validate
+        //Ensure that we wait for the SUB log message
+        _monitor.waitAndFindMatches("SUB-1001", DEFAULT_LOG_WAIT);
 
         List<String> results = _monitor.findMatches(SUB_PREFIX);
 
-        assertEquals("Result set larger than expected.", 1, results.size());
+        assertEquals("Result set not as expected.", 1, results.size());
 
         String log = getLog(results.get(0));
 
@@ -163,6 +168,9 @@
         _session.createBrowser(_queue);
 
         //Validate
+        //Ensure that we wait for the SUB log message
+        _monitor.waitAndFindMatches("SUB-1001", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(SUB_PREFIX);
 
         assertEquals("Result set larger than expected.", 2, results.size());
@@ -207,6 +215,9 @@
 
         //Validate
 
+        //Ensure that we wait for the SUB log message
+        _monitor.waitAndFindMatches("SUB-1001", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(SUB_PREFIX);
 
         assertEquals("Result set larger than expected.", 1, results.size());
@@ -245,6 +256,9 @@
 
         //Validate
 
+        //Ensure that we wait for the SUB log message
+        _monitor.waitAndFindMatches("SUB-1001", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(SUB_PREFIX);
 
         assertEquals("Result set larger than expected.", 1, results.size());
@@ -283,6 +297,9 @@
         _session.createConsumer(_queue).close();
 
         //Validate
+        //Ensure that we wait for the SUB log message
+        _monitor.waitAndFindMatches("SUB-1002", DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(SUB_PREFIX);
 
         //3
@@ -369,7 +386,7 @@
         _session.commit();
 
         //Validate
-        List<String> results = _monitor.findMatches("SUB-1003");
+        List<String> results = _monitor.waitAndFindMatches("SUB-1003", DEFAULT_LOG_WAIT);
 
         try
         {

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/VirtualHostLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/VirtualHostLoggingTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/VirtualHostLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/VirtualHostLoggingTest.java Fri Feb  5 11:00:45 2010
@@ -59,6 +59,8 @@
      */
     public void testVirtualhostCreation() throws Exception
     {
+        //Wait for the correct VHT message to arrive.                                 
+        _monitor.waitForMessage("VHT-1001",DEFAULT_LOG_WAIT);
 
         List<String> results = _monitor.findMatches(VHT_PREFIX);
         try
@@ -112,6 +114,9 @@
     {
         stopBroker();
 
+        //Wait for the correct VHT message to arrive.
+        _monitor.waitForMessage("VHT-1002",DEFAULT_LOG_WAIT);
+
         List<String> results = _monitor.findMatches(VHT_PREFIX);
         try
         {

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/ProducerFlowControlTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/ProducerFlowControlTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/ProducerFlowControlTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/ProducerFlowControlTest.java Fri Feb  5 11:00:45 2010
@@ -160,7 +160,7 @@
         sendMessagesAsync(producer, producerSession, 5, 50L);
 
         Thread.sleep(5000);
-        List<String> results = _monitor.findMatches("QUE-1003");
+        List<String> results = _monitor.waitAndFindMatches("QUE-1003", DEFAULT_LOG_WAIT);
 
         assertEquals("Did not find correct number of QUE-1003 queue overfull messages", 1, results.size());
 
@@ -170,7 +170,7 @@
 
         while(consumer.receive(1000) != null);
 
-        results = _monitor.findMatches("QUE-1004");
+        results = _monitor.waitAndFindMatches("QUE-1004", DEFAULT_LOG_WAIT);
 
         assertEquals("Did not find correct number of QUE_UNDERFULL queue underfull messages", 1, results.size());
 
@@ -205,7 +205,7 @@
         MessageSender sender = sendMessagesAsync(producer, producerSession, 5, 50L);
 
         Thread.sleep(10000);
-        List<String> results = _monitor.findMatches("Message send delayed by");
+        List<String> results = _monitor.waitAndFindMatches("Message send delayed by", 10000);
         assertTrue("No delay messages logged by client",results.size()!=0);
         results = _monitor.findMatches("Message send failed due to timeout waiting on broker enforced flow control");
         assertEquals("Incorrect number of send failure messages logged by client",1,results.size());

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java Fri Feb  5 11:00:45 2010
@@ -33,6 +33,7 @@
 import java.io.OutputStreamWriter;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.LinkedList;
 
 /**
  * Utility to simplify the monitoring of Log4j file output
@@ -91,6 +92,30 @@
     }
 
     /**
+     * Checks the log file for a given message to appear and returns all
+     * instances of that appearance.
+     *
+     * @param message the message to wait for in the log
+     * @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 IOException                   thrown when reading the log file
+     */
+    public List<String> waitAndFindMatches(String message, long wait)
+            throws FileNotFoundException, IOException
+    {
+        if (waitForMessage(message, wait, true))
+        {
+            return findMatches(message);
+        }
+        else
+        {
+            return new LinkedList<String>();
+        }
+    }
+
+    /**
      * Checks the log for instances of the search string.
      *
      * The pattern parameter can take any valid argument used in String.contains()
@@ -114,6 +139,8 @@
      * @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

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitorTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitorTest.java?rev=906898&r1=906897&r2=906898&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitorTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitorTest.java Fri Feb  5 11:00:45 2010
@@ -224,7 +224,7 @@
         assertEquals("Incorrect result set size", 0, results.size());
     }
 
-    /**
+    /**                                                                                                                                                 
      * Validate that the LogMonitor can match the given string in the log
      *
      * @param log     The LogMonitor to check



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