Author: pmouawad
Date: Thu Jan 26 20:17:54 2017
New Revision: 1780469
URL: http://svn.apache.org/viewvc?rev=1780469&view=rev
Log:
Bug 60654 - Validation Feature : Be able to ignore BackendListener
Based on https://github.com/apache/jmeter/pull/258 from Maxime Chassagneux
Bugzilla Id: 60654
Added:
jmeter/trunk/src/core/org/apache/jmeter/visualizers/backend/
jmeter/trunk/src/core/org/apache/jmeter/visualizers/backend/Backend.java
(with props)
Modified:
jmeter/trunk/bin/jmeter.properties
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListener.java
jmeter/trunk/src/core/org/apache/jmeter/gui/action/validation/TreeClonerForValidation.java
jmeter/trunk/xdocs/changes.xml
jmeter/trunk/xdocs/usermanual/properties_reference.xml
Modified: jmeter/trunk/bin/jmeter.properties
URL:
http://svn.apache.org/viewvc/jmeter/trunk/bin/jmeter.properties?rev=1780469&r1=1780468&r2=1780469&view=diff
==============================================================================
--- jmeter/trunk/bin/jmeter.properties (original)
+++ jmeter/trunk/bin/jmeter.properties Thu Jan 26 20:17:54 2017
@@ -1290,6 +1290,9 @@ system.properties=system.properties
# Number of threads to use to validate a Thread Group
#testplan_validation.nb_threads_per_thread_group=1
+# Ignore BackendListener when validating the thread group of plan
+#testplan_validation.ignore_backends=true
+
# Ignore timers when validating the thread group of plan
#testplan_validation.ignore_timers=true
Modified:
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListener.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListener.java?rev=1780469&r1=1780468&r2=1780469&view=diff
==============================================================================
---
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListener.java
(original)
+++
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListener.java
Thu Jan 26 20:17:54 2017
@@ -48,7 +48,8 @@ import org.apache.log.Logger;
* @since 2.13
*/
public class BackendListener extends AbstractTestElement
- implements Serializable, SampleListener, TestStateListener, NoThreadClone,
Remoteable {
+ implements Backend, Serializable, SampleListener,
+ TestStateListener, NoThreadClone, Remoteable {
/**
*
Modified:
jmeter/trunk/src/core/org/apache/jmeter/gui/action/validation/TreeClonerForValidation.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/action/validation/TreeClonerForValidation.java?rev=1780469&r1=1780468&r2=1780469&view=diff
==============================================================================
---
jmeter/trunk/src/core/org/apache/jmeter/gui/action/validation/TreeClonerForValidation.java
(original)
+++
jmeter/trunk/src/core/org/apache/jmeter/gui/action/validation/TreeClonerForValidation.java
Thu Jan 26 20:17:54 2017
@@ -24,6 +24,7 @@ import org.apache.jmeter.threads.Abstrac
import org.apache.jmeter.threads.ThreadGroup;
import org.apache.jmeter.timers.Timer;
import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jmeter.visualizers.backend.Backend;
import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;
@@ -39,12 +40,18 @@ public class TreeClonerForValidation ext
* Number of Threads to configure when running a Thread Group during a
validation
*/
protected static final int VALIDATION_NUMBER_OF_THREADS =
JMeterUtils.getPropDefault("testplan_validation.nb_threads_per_thread_group",
1); //$NON-NLS-1$
+
/**
* Ignore or not timers during a Thread Group validation
*/
protected static final boolean VALIDATION_IGNORE_TIMERS =
JMeterUtils.getPropDefault("testplan_validation.ignore_timers", true);
//$NON-NLS-1$
/**
+ * Ignore or not Backend during a Thread Group validation
+ */
+ protected static final boolean VALIDATION_IGNORE_BACKENDS =
JMeterUtils.getPropDefault("testplan_validation.ignore_backends", true);
//$NON-NLS-1$
+
+ /**
* Number of iterations to run during a Thread Group validation
*/
protected static final int VALIDATION_ITERATIONS =
JMeterUtils.getPropDefault("testplan_validation.number_iterations", 1);
//$NON-NLS-1$
@@ -70,8 +77,9 @@ public class TreeClonerForValidation ext
*/
@Override
protected Object addNodeToTree(Object node) {
- if(VALIDATION_IGNORE_TIMERS && node instanceof Timer) {
- return node; // don't add the timer
+ if((VALIDATION_IGNORE_TIMERS && node instanceof Timer) ||
+ (VALIDATION_IGNORE_BACKENDS && node instanceof Backend)) {
+ return node; // don't add timer or backend
} else {
Object clonedNode = super.addNodeToTree(node);
if(clonedNode instanceof org.apache.jmeter.threads.ThreadGroup) {
Added: jmeter/trunk/src/core/org/apache/jmeter/visualizers/backend/Backend.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/visualizers/backend/Backend.java?rev=1780469&view=auto
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/visualizers/backend/Backend.java
(added)
+++ jmeter/trunk/src/core/org/apache/jmeter/visualizers/backend/Backend.java
Thu Jan 26 20:17:54 2017
@@ -0,0 +1,11 @@
+package org.apache.jmeter.visualizers.backend;
+
+import java.io.Serializable;
+
+/**
+ * Identifies Backend components
+ * @since 3.2
+ */
+public interface Backend extends Serializable {
+ // NOOP
+}
Propchange:
jmeter/trunk/src/core/org/apache/jmeter/visualizers/backend/Backend.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: jmeter/trunk/xdocs/changes.xml
URL:
http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1780469&r1=1780468&r2=1780469&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
+++ jmeter/trunk/xdocs/changes.xml [utf-8] Thu Jan 26 20:17:54 2017
@@ -161,6 +161,7 @@ JMeter now requires Java 8. Ensure you u
<li><bug>60595</bug>Add a SplashScreen at the start of JMeter GUI.
Contributed by Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
<li><bug>55258</bug>Drop "Close" icon from toolbar and add "New" to menu.
Partly based on contribution from Sanduni Kanishka
(https://github.com/SanduniKanishka)</li>
<li><bug>59995</bug>Allow user to change font size with 2 new menu items
and use <code>jmeter.hidpi.scale.factor</code> for scaling fonts. Contributed
by Ubik Load Pack (support at ubikloadpack.com)</li>
+ <li><bug>60654</bug>Validation Feature : Be able to ignore
BackendListener. Contributed by Maxime Chassagneux (maxime.chassagneux at
gmail.com).</li>
</ul>
<ch_section>Non-functional changes</ch_section>
Modified: jmeter/trunk/xdocs/usermanual/properties_reference.xml
URL:
http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/properties_reference.xml?rev=1780469&r1=1780468&r2=1780469&view=diff
==============================================================================
--- jmeter/trunk/xdocs/usermanual/properties_reference.xml (original)
+++ jmeter/trunk/xdocs/usermanual/properties_reference.xml Thu Jan 26 20:17:54
2017
@@ -1781,6 +1781,10 @@ log_level.org.apache.http.client=DEBUG
Ignore timers when validating the thread group of plan.<br/>
Defaults to: <code>true</code>
</property>
+<property name="testplan_validation.ignore_backends">
+ Ignore BackendListener when validating the thread group of plan.<br/>
+ Defaults to: <code>true</code>
+</property>
<property name="testplan_validation.number_iterations">
Number of iterations to use to validate a Thread Group.<br/>
Defaults to: <code>1</code>