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 se...@apache.org on 2005/11/22 20:40:56 UTC

svn commit: r348226 - /jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/ResponseAssertion.java

Author: sebb
Date: Tue Nov 22 11:40:43 2005
New Revision: 348226

URL: http://svn.apache.org/viewcvs?rev=348226&view=rev
Log:
Add some debug; move one time calculation out of loop

Modified:
    jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/ResponseAssertion.java

Modified: jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/ResponseAssertion.java?rev=348226&r1=348225&r2=348226&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/ResponseAssertion.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/ResponseAssertion.java Tue Nov 22 11:40:43 2005
@@ -78,7 +78,7 @@
 		}
 	};
 
-	private static PatternCacheLRU patternCache = new PatternCacheLRU(1000, new Perl5Compiler());
+	private static final PatternCacheLRU patternCache = new PatternCacheLRU(1000, new Perl5Compiler());
 
 	/***************************************************************************
 	 * !ToDo (Constructor description)
@@ -291,6 +291,15 @@
 			return result.setResultForNull();
 		}
 
+		result.setFailure(false);
+		result.setError(false);
+
+		boolean contains = isContainsType(); // do it once outside loop
+		boolean debugEnabled = log.isDebugEnabled();
+		if (debugEnabled){
+			log.debug("Type:" + (contains?"Contains":"Match") + (not? "(not)": ""));
+		}
+		
 		try {
 			// Get the Matcher for this thread
 			Perl5Matcher localMatcher = (Perl5Matcher) matcher.get();
@@ -299,22 +308,20 @@
 				String stringPattern = iter.next().getStringValue();
 				Pattern pattern = patternCache.getPattern(stringPattern, Perl5Compiler.READ_ONLY_MASK);
 				boolean found;
-				if ((CONTAINS & getTestType()) > 0) {
+				if (contains) {
 					found = localMatcher.contains(toCheck, pattern);
 				} else {
 					found = localMatcher.matches(toCheck, pattern);
 				}
 				pass = not ? !found : found;
 				if (!pass) {
+					if (debugEnabled){log.debug("Failed: "+pattern);}
 					result.setFailure(true);
 					result.setFailureMessage(getFailText(stringPattern));
 					break;
 				}
+				if (debugEnabled){log.debug("Passed: "+pattern);}
 			}
-			if (pass) {
-				result.setFailure(false);
-			}
-			result.setError(false);
 		} catch (MalformedCachePatternException e) {
 			result.setError(true);
 			result.setFailure(false);
@@ -327,9 +334,9 @@
 	 * Generate the failure reason from the TestType
 	 * 
 	 * @param stringPattern
-	 * @return the message for the assertion report TODO strings ought to be
-	 *         made resources
+	 * @return the message for the assertion report 
 	 */
+	// TODO strings should be resources
 	private String getFailText(String stringPattern) {
 		String text;
 		String what;



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org