You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2022/02/15 22:17:15 UTC

[jmeter] branch master updated: Bug 65885 - HTML Report: Error report displays wrong failure message when Response Assertion checks Ignore Status and response code is not 200

This is an automated email from the ASF dual-hosted git repository.

pmouawad pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git


The following commit(s) were added to refs/heads/master by this push:
     new 8546e23  Bug 65885 - HTML Report: Error report displays wrong failure message when Response Assertion checks Ignore Status and response code is not 200
8546e23 is described below

commit 8546e2372ac08eecc27f56a5bfc24a6c4ecc7135
Author: pmouawad <p....@ubik-ingenierie.com>
AuthorDate: Tue Feb 15 23:09:16 2022 +0100

    Bug 65885 - HTML Report: Error report displays wrong failure message
    when Response Assertion checks Ignore Status and response code is not
    200
---
 .../jmeter/report/processor/ErrorsSummaryConsumer.java      |  9 ++++++---
 .../jmeter/report/processor/ErrorsSummaryConsumerTest.java  | 13 +++++++++++--
 xdocs/changes.xml                                           |  1 +
 3 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/src/core/src/main/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumer.java
index f017573..3b8d3b5 100644
--- a/src/core/src/main/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumer.java
+++ b/src/core/src/main/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumer.java
@@ -88,17 +88,20 @@ public class ErrorsSummaryConsumer extends AbstractSummaryConsumer<Long> {
      * @return String Error key for sample
      */
     static String getErrorKey(Sample sample) {
+        if (sample.getSuccess()) {
+            return "";
+        }
         String responseCode = sample.getResponseCode();
         String responseMessage = sample.getResponseMessage();
         String key = responseCode + (!StringUtils.isEmpty(responseMessage) ?
                  "/" + escapeJson(responseMessage) : "");
+
         if (MetricUtils.isSuccessCode(responseCode) ||
-                (StringUtils.isEmpty(responseCode) &&
-                        !StringUtils.isEmpty(sample.getFailureMessage()))) {
+                StringUtils.isNotBlank(sample.getFailureMessage())) {
             key = MetricUtils.ASSERTION_FAILED;
             if (ASSERTION_RESULTS_FAILURE_MESSAGE) {
                 String msg = sample.getFailureMessage();
-                if (!StringUtils.isEmpty(msg)) {
+                if (StringUtils.isNotBlank(msg)) {
                     key = escapeJson(msg);
                 }
             }
diff --git a/src/core/src/test/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumerTest.java b/src/core/src/test/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumerTest.java
index ab43b8e..9a41be9 100644
--- a/src/core/src/test/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumerTest.java
+++ b/src/core/src/test/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumerTest.java
@@ -38,6 +38,9 @@ public class ErrorsSummaryConsumerTest {
         sample = new Sample(0, metadata, new String[] { "false", "200", "", "FailureMessage" });
         assertEquals("FailureMessage", ErrorsSummaryConsumer.getErrorKey(sample));
 
+        sample = new Sample(0, metadata, new String[] { "false", "200", "", "" });
+        assertEquals(MetricUtils.ASSERTION_FAILED, ErrorsSummaryConsumer.getErrorKey(sample));
+
         sample = new Sample(0, metadata, new String[] { "false", "200", "",
                 "Test failed: text expected to contain /<title>Some html text</title>/" });
         assertEquals("Test failed: text expected to contain /&lt;title&gt;Some html text&lt;/title&gt;/",
@@ -49,9 +52,15 @@ public class ErrorsSummaryConsumerTest {
                 ErrorsSummaryConsumer.getErrorKey(sample));
 
         sample = new Sample(0, metadata, new String[] { "true", "200", "", "" });
-        assertEquals(MetricUtils.ASSERTION_FAILED, ErrorsSummaryConsumer.getErrorKey(sample));
+        assertEquals("", ErrorsSummaryConsumer.getErrorKey(sample));
+
+        sample = new Sample(0, metadata, new String[] { "false", "403", "", "" });
+        assertEquals("403", ErrorsSummaryConsumer.getErrorKey(sample));
+
+        sample = new Sample(0, metadata, new String[] { "false", "403", "", "FailureMessage" });
+        assertEquals("FailureMessage", ErrorsSummaryConsumer.getErrorKey(sample));
 
-        sample = new Sample(0, metadata, new String[] { "false", "500", "Server Error", "FailureMessage" });
+        sample = new Sample(0, metadata, new String[] { "false", "500", "Server Error", "" });
         assertEquals("500/Server Error", ErrorsSummaryConsumer.getErrorKey(sample));
     }
 
diff --git a/xdocs/changes.xml b/xdocs/changes.xml
index 1666936..ced05b1 100644
--- a/xdocs/changes.xml
+++ b/xdocs/changes.xml
@@ -136,6 +136,7 @@ however, the profile can't be updated while the test is running.
 <h3>Report / Dashboard</h3>
 <ul>
   <li><bug>65353</bug>Make the estimator used for calculating percentiles on the dashboard configurable</li>
+  <li><bug>65885</bug>HTML Report: Error report displays wrong failure message when Response Assertion checks Ignore Status and response code is not 200</li>
 </ul>
 
 <h3>General</h3>