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]
