You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2012/07/17 16:09:54 UTC
svn commit: r1362503 -
/qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/
Author: kwall
Date: Tue Jul 17 14:09:54 2012
New Revision: 1362503
URL: http://svn.apache.org/viewvc?rev=1362503&view=rev
Log:
QPID-4103: [Java Performance Tests] modified test so that its success is no longer dependent on the order of the attributes in json2.js's JSON strings (this order varies between JDK 1.6 and 1.7, which caused a Jenkins test failure).
Applied patch from Philip Harvey <ph...@philharveyonline.com>.
Added:
qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/ConfigReaderTest-test-config.js
- copied, changed from r1362502, qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/test-config.js
qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest-expected-json.json
qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest-test-config.js
- copied, changed from r1362502, qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/test-config.js
Removed:
qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/test-config.js
Modified:
qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/ConfigReaderTest.java
qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest.java
Copied: qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/ConfigReaderTest-test-config.js (from r1362502, qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/test-config.js)
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/ConfigReaderTest-test-config.js?p2=qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/ConfigReaderTest-test-config.js&p1=qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/test-config.js&r1=1362502&r2=1362503&rev=1362503&view=diff
==============================================================================
(empty)
Modified: qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/ConfigReaderTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/ConfigReaderTest.java?rev=1362503&r1=1362502&r2=1362503&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/ConfigReaderTest.java (original)
+++ qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/ConfigReaderTest.java Tue Jul 17 14:09:54 2012
@@ -111,7 +111,7 @@ public class ConfigReaderTest extends Te
public void testReadsJS() throws Exception
{
ConfigReader configReader = new ConfigReader();
- String path = getClass().getClassLoader().getResource("org/apache/qpid/disttest/controller/config/test-config.js").toURI().getPath();
+ String path = getClass().getResource("ConfigReaderTest-test-config.js").getPath();
_config = configReader.getConfigFromFile(path);
List<TestConfig> testConfigs = _config.getTestConfigs();
assertEquals("Unexpected number of tests", 2, testConfigs.size());
Added: qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest-expected-json.json
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest-expected-json.json?rev=1362503&view=auto
==============================================================================
--- qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest-expected-json.json (added)
+++ qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest-expected-json.json Tue Jul 17 14:09:54 2012
@@ -0,0 +1,94 @@
+{
+ "_tests":[
+ {
+ "_queues":[
+ {
+ "_name":"Json-Queue-Name"
+ }
+ ],
+ "_clients":[
+ {
+ "_connections":[
+ {
+ "_name":"connection1",
+ "_sessions":[
+ {
+ "_acknowledgeMode":"0",
+ "_sessionName":"session1",
+ "_consumers":[
+
+ ]
+ }
+ ]
+ }
+ ],
+ "_name":"repeatingClient0"
+ },
+ {
+ "_connections":[
+ {
+ "_name":"connection1",
+ "_sessions":[
+ {
+ "_acknowledgeMode":"0",
+ "_sessionName":"session1",
+ "_consumers":[
+
+ ]
+ }
+ ]
+ }
+ ],
+ "_name":"repeatingClient1"
+ }
+ ],
+ "_iterationNumber":0,
+ "_name":"Test 1"
+ },
+ {
+ "_queues":[
+ {
+ "_name":"Json-Queue-Name"
+ }
+ ],
+ "_clients":[
+ {
+ "_connections":[
+ {
+ "_name":"connection1",
+ "_sessions":[
+ {
+ "_acknowledgeMode":"1",
+ "_sessionName":"session1",
+ "_consumers":[
+
+ ]
+ }
+ ]
+ }
+ ],
+ "_name":"repeatingClient0"
+ },
+ {
+ "_connections":[
+ {
+ "_name":"connection1",
+ "_sessions":[
+ {
+ "_acknowledgeMode":"1",
+ "_sessionName":"session1",
+ "_consumers":[
+
+ ]
+ }
+ ]
+ }
+ ],
+ "_name":"repeatingClient1"
+ }
+ ],
+ "_iterationNumber":1,
+ "_name":"Test 1"
+ }
+ ]
+}
\ No newline at end of file
Copied: qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest-test-config.js (from r1362502, qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/test-config.js)
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest-test-config.js?p2=qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest-test-config.js&p1=qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/test-config.js&r1=1362502&r2=1362503&rev=1362503&view=diff
==============================================================================
(empty)
Modified: qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest.java?rev=1362503&r1=1362502&r2=1362503&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest.java (original)
+++ qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest.java Tue Jul 17 14:09:54 2012
@@ -20,29 +20,47 @@
*/
package org.apache.qpid.disttest.controller.config;
+import java.io.File;
+import java.util.TreeMap;
+
+import org.apache.qpid.util.FileUtils;
+
import junit.framework.TestCase;
+import com.google.gson.Gson;
+
public class JavaScriptConfigEvaluatorTest extends TestCase
{
public void testEvaluateJavaScript() throws Exception
{
- String path = getClass().getClassLoader().getResource("org/apache/qpid/disttest/controller/config/test-config.js")
- .toURI().getPath();
+ String jsFilePath = getClass().getResource("JavaScriptConfigEvaluatorTest-test-config.js").getPath();
+
+ String rawConfig = new JavaScriptConfigEvaluator().evaluateJavaScript(jsFilePath);
+
+ String config = formatForComparison(rawConfig);
+ assertTrue(config.contains("\"_iterationNumber\":1"));
- String config = new JavaScriptConfigEvaluator().evaluateJavaScript(path);
+ File expectedJsonFile = new File(getClass().getResource("JavaScriptConfigEvaluatorTest-expected-json.json").getPath());
+ String rawExpected = FileUtils.readFileAsString(expectedJsonFile);
- String expected = "{\"_tests\":[{\"_queues\":[{\"_name\":\"Json-Queue-Name\"}],\"_clients\":"
- + "[{\"_connections\":[{\"_name\":\"connection1\",\"_sessions\":[{\"_acknowledgeMode\":\"0\","
- + "\"_sessionName\":\"session1\",\"_consumers\":[]}]}],\"_name\":\"repeatingClient0\"},"
- + "{\"_connections\":[{\"_name\":\"connection1\",\"_sessions\":[{\"_acknowledgeMode\":\"0\","
- + "\"_sessionName\":\"session1\",\"_consumers\":[]}]}],\"_name\":\"repeatingClient1\"}]"
- + ",\"_iterationNumber\":0,\"_name\":\"Test 1\"},{\"_queues\":[{\"_name\":\"Json-Queue-Name\"}],"
- + "\"_clients\":[{\"_connections\":[{\"_name\":\"connection1\",\"_sessions\":"
- + "[{\"_acknowledgeMode\":\"1\",\"_sessionName\":\"session1\",\"_consumers\":[]}]}],"
- + "\"_name\":\"repeatingClient0\"},{\"_connections\":[{\"_name\":\"connection1\",\"_sessions\":"
- + "[{\"_acknowledgeMode\":\"1\",\"_sessionName\":\"session1\",\"_consumers\":[]}]}],"
- + "\"_name\":\"repeatingClient1\"}],\"_iterationNumber\":1,\"_name\":\"Test 1\"}]}";
+ String expected = formatForComparison(rawExpected);
assertEquals("Unexpected configuration", expected, config);
}
+
+ /**
+ * Does an unmarshall-then-marshall on the supplied JSON string so that
+ * we can compare the output when testing for equivalent JSON strings,
+ * ignoring ordering of attributes.
+ */
+ private String formatForComparison(String jsonStringIn)
+ {
+ Gson gson = new Gson();
+
+ @SuppressWarnings("rawtypes")
+ TreeMap configObj = gson.fromJson(jsonStringIn, TreeMap.class);
+
+ String jsonStringOut = gson.toJson(configObj);
+ return jsonStringOut;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org