diff options
| author | Robert Gemmell <robbie@apache.org> | 2014-04-05 15:29:34 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2014-04-05 15:29:34 +0000 |
| commit | 841b355f8e858ff59aae42e20208782298063a0c (patch) | |
| tree | 4a757e629bf8decd02970bfb074b43b4f120a8f2 /qpid/java | |
| parent | 499a9094360a438d8c79f2da7db5ae151f902b06 (diff) | |
| download | qpid-python-841b355f8e858ff59aae42e20208782298063a0c.tar.gz | |
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 <andymacbean@gmail.com>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1585105 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
2 files changed, 21 insertions, 19 deletions
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java index 84017b6850..8555d9c751 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java @@ -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 QpidBrokerTestCase { 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 QpidBrokerTestCase { 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 QpidBrokerTestCase 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; + } + } } diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java index 2eccab102b..0be1f69948 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java @@ -179,8 +179,9 @@ public class ConnectionLoggingTest extends AbstractTestLogging 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); |
