Author: robbie
Date: Sat Apr  5 15:29:34 2014
New Revision: 1585105

URL: http://svn.apache.org/r1585105
Log:
QPID-5048: fix parsing error in AbstractTestLogging when determining connection 
or channel id, which causes spurious failure when test ordering differs while 
running in Jenkins

Patch supplied by Andrew MacBean <[email protected]>

Modified:
    
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/ConnectionLoggingTest.java

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=1585105&r1=1585104&r2=1585105&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
 Sat Apr  5 15:29:34 2014
@@ -26,10 +26,12 @@ import org.apache.qpid.util.LogMonitor;
 
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.text.NumberFormat;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Locale;
 
 /**
  * Abstract superclass for logging test set up and utility methods.
@@ -110,15 +112,7 @@ public class AbstractTestLogging extends
         {
             end = log.length();
         }
-
-        try
-        {
-            return Integer.parseInt(log.substring(start, end));
-        }
-        catch (Exception e)
-        {
-            return -1;
-        }
+        return parseInt(log, start, end);
     }
 
     protected String fromMessage(String log)
@@ -237,14 +231,7 @@ public class AbstractTestLogging extends
     {
         int conIDStart = log.indexOf("con:") + 4;
         int conIDEnd = log.indexOf("(", conIDStart);
-        try
-        {
-            return Integer.parseInt(log.substring(conIDStart, conIDEnd));
-        }
-        catch (Exception e)
-        {
-            return -1;
-        }
+        return parseInt(log, conIDStart, conIDEnd);
     }
 
     /**
@@ -409,4 +396,18 @@ public class AbstractTestLogging extends
             System.err.println(monitor.readFile());
         }
     }
+
+    private int parseInt(final String logSubstring, final int start, final int 
end)
+    {
+        try
+        {
+            final NumberFormat format = 
NumberFormat.getInstance(Locale.getDefault());
+            final Number number = format.parse(logSubstring.substring(start, 
end));
+            return number.intValue();
+        }
+        catch (Exception e)
+        {
+            return -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=1585105&r1=1585104&r2=1585105&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
 Sat Apr  5 15:29:34 2014
@@ -179,8 +179,9 @@ public class ConnectionLoggingTest exten
         assertTrue("Message does not end with close:" + log, 
log.endsWith("Close"));
 
         // Extract connection ID to validate there is a CON-1001 messasge for 
it
-        int closeConnectionID = getConnectionID(fromSubject(log));
-        assertTrue("Could not find connection id in CLOSE", closeConnectionID 
!= -1);
+        final String logSubject = fromSubject(log);
+        int closeConnectionID = getConnectionID(logSubject);
+        assertTrue("Could not get the connection id from CLOSE message: " + 
logSubject, closeConnectionID != -1);
 
         //Previous log message should be the open
         log = getLogMessageFromEnd(results, 1);



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to