Author: sebb Date: Thu Jan 21 18:02:20 2010 New Revision: 901805 URL: http://svn.apache.org/viewvc?rev=901805&view=rev Log: Better reporting of XPath errors
Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java?rev=901805&r1=901804&r2=901805&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java (original) +++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java Thu Jan 21 18:02:20 2010 @@ -128,18 +128,27 @@ previousResult.addAssertionResult(ass); previousResult.setSuccessful(false); } catch (ParserConfigurationException e) {// Should not happen - final String errrorMessage = "error on ("+getXPathQuery()+")"; + final String errrorMessage = "ParserConfigurationException while processing ("+getXPathQuery()+")"; log.error(errrorMessage,e); throw new JMeterError(errrorMessage,e); } catch (SAXException e) {// Can happen for bad input document - log.warn("error on ("+getXPathQuery()+")"+e.getLocalizedMessage()); + log.warn("SAXException while processing ("+getXPathQuery()+") "+e.getLocalizedMessage()); + addAssertionFailure(previousResult, e, false); // Should this also fail the sample? } catch (TransformerException e) {// Can happen for incorrect XPath expression - log.warn("error on ("+getXPathQuery()+")"+e.getLocalizedMessage()); + log.warn("TransformerException while processing ("+getXPathQuery()+") "+e.getLocalizedMessage()); + addAssertionFailure(previousResult, e, false); } catch (TidyException e) { - AssertionResult ass = new AssertionResult("TidyException"); // $NON-NLS-1$ - ass.setFailure(true); - ass.setFailureMessage(e.getLocalizedMessage()); - previousResult.addAssertionResult(ass); + addAssertionFailure(previousResult, e, true); // fail the sample + } + } + + private void addAssertionFailure(final SampleResult previousResult, + final Throwable thrown, final boolean setFailed) { + AssertionResult ass = new AssertionResult(thrown.getClass().getSimpleName()); // $NON-NLS-1$ + ass.setFailure(true); + ass.setFailureMessage(getXPathQuery()+" => "+thrown.getLocalizedMessage()); + previousResult.addAssertionResult(ass); + if (setFailed){ previousResult.setSuccessful(false); } } --------------------------------------------------------------------- To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org