You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by vl...@apache.org on 2019/05/27 09:44:00 UTC
svn commit: r1860116 - in /jmeter/trunk/test/src/org/apache/jmeter:
assertions/TestJSONPathAssertion.java config/TestRandomVariableConfig.java
extractor/TestXPathExtractor.java
Author: vladimirsitnikov
Date: Mon May 27 09:43:59 2019
New Revision: 1860116
URL: http://svn.apache.org/viewvc?rev=1860116&view=rev
Log:
Enforce Locale.US for tests that verify numeric processing (e.g. 0.42)
Modified:
jmeter/trunk/test/src/org/apache/jmeter/assertions/TestJSONPathAssertion.java
jmeter/trunk/test/src/org/apache/jmeter/config/TestRandomVariableConfig.java
jmeter/trunk/test/src/org/apache/jmeter/extractor/TestXPathExtractor.java
Modified: jmeter/trunk/test/src/org/apache/jmeter/assertions/TestJSONPathAssertion.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/assertions/TestJSONPathAssertion.java?rev=1860116&r1=1860115&r2=1860116&view=diff
==============================================================================
--- jmeter/trunk/test/src/org/apache/jmeter/assertions/TestJSONPathAssertion.java (original)
+++ jmeter/trunk/test/src/org/apache/jmeter/assertions/TestJSONPathAssertion.java Mon May 27 09:43:59 2019
@@ -19,6 +19,8 @@ package org.apache.jmeter.assertions;
import static org.junit.Assert.assertEquals;
+import java.util.Locale;
+
import org.apache.jmeter.samplers.SampleResult;
import org.junit.Test;
@@ -367,19 +369,26 @@ public class TestJSONPathAssertion {
@Test
public void testGetResultFloat() {
- SampleResult samplerResult = new SampleResult();
-
- samplerResult.setResponseData("{\"myval\": [{\"test\":0.0000123456789}]}".getBytes());
-
- JSONPathAssertion instance = new JSONPathAssertion();
- instance.setJsonPath("$.myval[*].test");
- instance.setJsonValidationBool(true);
- instance.setIsRegex(false);
- instance.setExpectedValue("0.0000123456789");
-
- AssertionResult expResult = new AssertionResult("");
- AssertionResult result = instance.getResult(samplerResult);
- assertEquals(expResult.getName(), result.getName());
- assertEquals(false, result.isFailure());
+ Locale prevLocale = Locale.getDefault();
+ try {
+ // 0.0000123456789 is locale-dependent
+ Locale.setDefault(Locale.US);
+ SampleResult samplerResult = new SampleResult();
+
+ samplerResult.setResponseData("{\"myval\": [{\"test\":0.0000123456789}]}".getBytes());
+
+ JSONPathAssertion instance = new JSONPathAssertion();
+ instance.setJsonPath("$.myval[*].test");
+ instance.setJsonValidationBool(true);
+ instance.setIsRegex(false);
+ instance.setExpectedValue("0.0000123456789");
+
+ AssertionResult expResult = new AssertionResult("");
+ AssertionResult result = instance.getResult(samplerResult);
+ assertEquals(expResult.getName(), result.getName());
+ assertEquals(false, result.isFailure());
+ } finally {
+ Locale.setDefault(prevLocale);
+ }
}
}
Modified: jmeter/trunk/test/src/org/apache/jmeter/config/TestRandomVariableConfig.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/config/TestRandomVariableConfig.java?rev=1860116&r1=1860115&r2=1860116&view=diff
==============================================================================
--- jmeter/trunk/test/src/org/apache/jmeter/config/TestRandomVariableConfig.java (original)
+++ jmeter/trunk/test/src/org/apache/jmeter/config/TestRandomVariableConfig.java Mon May 27 09:43:59 2019
@@ -22,6 +22,8 @@
package org.apache.jmeter.config;
+import java.util.Locale;
+
import org.apache.jmeter.junit.JMeterTestCase;
import org.apache.jmeter.threads.JMeterContext;
import org.apache.jmeter.threads.JMeterContextService;
@@ -65,14 +67,20 @@ public class TestRandomVariableConfig ex
@Test
public void testRandomWithFormat() throws Exception {
- config.setMinimumValue(MAX_VALUE);
- config.setMaximumValue(MAX_VALUE);
- config.setOutputFormat("000.00");
- config.iterationStart(null);
- String value = threadVars.get(RANDOM_VAR_NAME);
- Assert.assertNotNull(threadVars.get(RANDOM_VAR_NAME));
- Assert.assertEquals("010.00", value);
-
+ // 010.00 requires explicit locale
+ Locale prevLocale = Locale.getDefault();
+ try {
+ Locale.setDefault(Locale.US);
+ config.setMinimumValue(MAX_VALUE);
+ config.setMaximumValue(MAX_VALUE);
+ config.setOutputFormat("000.00");
+ config.iterationStart(null);
+ String value = threadVars.get(RANDOM_VAR_NAME);
+ Assert.assertNotNull(threadVars.get(RANDOM_VAR_NAME));
+ Assert.assertEquals("010.00", value);
+ } finally {
+ Locale.setDefault(prevLocale);
+ }
}
@Test
Modified: jmeter/trunk/test/src/org/apache/jmeter/extractor/TestXPathExtractor.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/extractor/TestXPathExtractor.java?rev=1860116&r1=1860115&r2=1860116&view=diff
==============================================================================
--- jmeter/trunk/test/src/org/apache/jmeter/extractor/TestXPathExtractor.java (original)
+++ jmeter/trunk/test/src/org/apache/jmeter/extractor/TestXPathExtractor.java Mon May 27 09:43:59 2019
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertNull;
import java.io.UnsupportedEncodingException;
+import java.util.Locale;
import org.apache.commons.lang3.StringUtils;
import org.apache.jmeter.samplers.SampleResult;
@@ -273,14 +274,21 @@ public class TestXPathExtractor {
@Test
public void testInvalidXpath() throws Exception {
- extractor.setXPathQuery("<");
- extractor.process();
- assertEquals(1, result.getAssertionResults().length);
- assertEquals(extractor.getName(), result.getAssertionResults()[0].getName());
- org.junit.Assert.assertTrue(result.getAssertionResults()[0].
- getFailureMessage().contains("A location path was expected, but the following token was encountered"));
- assertEquals("Default", vars.get(VAL_NAME));
- assertEquals("0", vars.get(VAL_NAME_NR));
+ Locale prevLocale = Locale.getDefault();
+ try {
+ // The test fails in other locales for some reason
+ Locale.setDefault(Locale.US);
+ extractor.setXPathQuery("<");
+ extractor.process();
+ assertEquals(1, result.getAssertionResults().length);
+ assertEquals(extractor.getName(), result.getAssertionResults()[0].getName());
+ Assert.assertTrue(result.getAssertionResults()[0].
+ getFailureMessage().contains("A location path was expected, but the following token was encountered"));
+ assertEquals("Default", vars.get(VAL_NAME));
+ assertEquals("0", vars.get(VAL_NAME_NR));
+ } finally {
+ Locale.setDefault(prevLocale);
+ }
}
@Test