You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by ms...@apache.org on 2005/08/29 23:04:12 UTC
cvs commit: jakarta-jmeter/src/components/org/apache/jmeter/assertions CompareAssertion.java
mstover1 2005/08/29 14:04:12
Modified: src/core/org/apache/jmeter/testbeans TestBeanHelper.java
src/components/org/apache/jmeter/assertions
CompareAssertion.java
Log:
the compare assertion can now take a list of regular expressions to filter out of the strings it compares
Revision Changes Path
1.5 +3 -3 jakarta-jmeter/src/core/org/apache/jmeter/testbeans/TestBeanHelper.java
Index: TestBeanHelper.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/testbeans/TestBeanHelper.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- TestBeanHelper.java 29 Aug 2005 18:48:02 -0000 1.4
+++ TestBeanHelper.java 29 Aug 2005 21:04:11 -0000 1.5
@@ -120,7 +120,7 @@
JMeterProperty propVal = iter.next();
try
{
- values.add(Converter.convert(propVal.getObjectValue(), Class.forName(type)));
+ values.add(Converter.convert(propVal.getStringValue(), Class.forName(type)));
}
catch(Exception e)
{
1.3 +26 -3 jakarta-jmeter/src/components/org/apache/jmeter/assertions/CompareAssertion.java
Index: CompareAssertion.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/assertions/CompareAssertion.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- CompareAssertion.java 29 Aug 2005 18:48:02 -0000 1.2
+++ CompareAssertion.java 29 Aug 2005 21:04:12 -0000 1.3
@@ -12,13 +12,18 @@
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.testbeans.TestBean;
import org.apache.jmeter.testelement.AbstractTestElement;
+import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;
+import org.apache.oro.text.regex.StringSubstitution;
+import org.apache.oro.text.regex.Substitution;
+import org.apache.oro.text.regex.Util;
public class CompareAssertion extends AbstractTestElement implements Assertion, TestBean, Serializable,
LoopIterationListener {
static Logger log = LoggingManager.getLoggerForClass();
transient List responses;
+ private static final Substitution emptySub = new StringSubstitution("");
transient boolean iterationDone = false;
@@ -26,7 +31,7 @@
private long compareTime = -1;
- Collection stringsToSkip;
+ Collection<String> stringsToSkip;
public CompareAssertion() {
super();
@@ -102,6 +107,7 @@
result.setFailureMessage("Unsupported Encoding Exception: " +sResult.getDataEncoding());
return;
}
+ currentContent = filterString(currentContent);
if (prevContent != null)
{
success = prevContent.equals(currentContent);
@@ -119,7 +125,7 @@
message.append(sResult.toString());
message.append("\n\n");
message.append(currentContent);
- message.append("/n/n");
+ message.append("\n\n");
message.append("==============================\n\n");
result.setFailureMessage(message.toString());
break;
@@ -130,6 +136,23 @@
}
}
+ private String filterString(String content)
+ {
+ if(stringsToSkip == null || stringsToSkip.size() == 0)
+ {
+ return content;
+ }
+ else
+ {
+ for(String regex : stringsToSkip)
+ {
+ log.info("replacing regex: " + regex);
+ content = Util.substitute(JMeterUtils.getMatcher(),JMeterUtils.getPatternCache().getPattern(regex),emptySub,content,Util.SUBSTITUTE_ALL);
+ }
+ }
+ return content;
+ }
+
/*
* (non-Javadoc)
*
@@ -189,7 +212,7 @@
* @param stringsToSkip The stringsToSkip to set.
*/
public void setStringsToSkip(Collection stringsToSkip) {
- this.stringsToSkip = stringsToSkip;
+ this.stringsToSkip = (Collection<String>)stringsToSkip;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org