ASF Bugzilla – Attachment 37073 Details for
Bug 64196
Recurse into sub samplers more deeply when checking assertions
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Recurse deepr into subsamplers for assertion checks
0001-Recurse-into-sub-samplers-more-deeply.patch (text/plain), 3.32 KB, created by
Felix Schumacher
on 2020-03-08 14:48:37 UTC
(
hide
)
Description:
Recurse deepr into subsamplers for assertion checks
Filename:
MIME Type:
Creator:
Felix Schumacher
Created:
2020-03-08 14:48:37 UTC
Size:
3.32 KB
patch
obsolete
>From c4714992c979288f2698dc371dd15c0e211df577 Mon Sep 17 00:00:00 2001 >From: Felix Schumacher <felix.schumacher@internetallee.de> >Date: Sun, 8 Mar 2020 15:26:25 +0100 >Subject: [PATCH] Recurse into sub samplers more deeply > >--- > .../apache/jmeter/threads/JMeterThread.java | 38 +++++++++++-------- > 1 file changed, 23 insertions(+), 15 deletions(-) > >diff --git a/src/core/src/main/java/org/apache/jmeter/threads/JMeterThread.java b/src/core/src/main/java/org/apache/jmeter/threads/JMeterThread.java >index b730df8ec8..af8e8bf201 100644 >--- a/src/core/src/main/java/org/apache/jmeter/threads/JMeterThread.java >+++ b/src/core/src/main/java/org/apache/jmeter/threads/JMeterThread.java >@@ -879,21 +879,7 @@ public class JMeterThread implements Runnable, Interruptible { > } > if (scopedAssertion.isScopeChildren(scope) > || scopedAssertion.isScopeAll(scope)) { >- SampleResult[] children = parent.getSubResults(); >- boolean childError = false; >- for (SampleResult childSampleResult : children) { >- processAssertion(childSampleResult, assertion); >- if (!childSampleResult.isSuccessful()) { >- childError = true; >- } >- } >- // If parent is OK, but child failed, add a message and flag the parent as failed >- if (childError && parent.isSuccessful()) { >- AssertionResult assertionResult = new AssertionResult(((AbstractTestElement) assertion).getName()); >- assertionResult.setResultForFailure("One or more sub-samples failed"); >- parent.addAssertionResult(assertionResult); >- parent.setSuccessful(false); >- } >+ recurseAssertionChecks(parent, assertion, 3); > } > } else { > processAssertion(parent, assertion); >@@ -902,6 +888,28 @@ public class JMeterThread implements Runnable, Interruptible { > threadContext.getVariables().put(LAST_SAMPLE_OK, Boolean.toString(parent.isSuccessful())); > } > >+ private void recurseAssertionChecks(SampleResult parent, Assertion assertion, int level) { >+ if (level < 0) { >+ return; >+ } >+ SampleResult[] children = parent.getSubResults(); >+ boolean childError = false; >+ for (SampleResult childSampleResult : children) { >+ processAssertion(childSampleResult, assertion); >+ recurseAssertionChecks(childSampleResult, assertion, level - 1); >+ if (!childSampleResult.isSuccessful()) { >+ childError = true; >+ } >+ } >+ // If parent is OK, but child failed, add a message and flag the parent as failed >+ if (childError && parent.isSuccessful()) { >+ AssertionResult assertionResult = new AssertionResult(((AbstractTestElement) assertion).getName()); >+ assertionResult.setResultForFailure("One or more sub-samples failed"); >+ parent.addAssertionResult(assertionResult); >+ parent.setSuccessful(false); >+ } >+ } >+ > private void processAssertion(SampleResult result, Assertion assertion) { > AssertionResult assertionResult; > try { >-- >2.17.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 64196
:
37069
|
37070
|
37071
|
37072
| 37073 |
37074
|
37075