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.moua...@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>

Reply via email to