jmeter-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pmoua...@apache.org
Subject svn commit: r1759062 - in /jmeter/trunk: bin/ src/components/org/apache/jmeter/validation/ src/core/org/apache/jmeter/gui/action/ xdocs/ xdocs/usermanual/
Date Sat, 03 Sep 2016 09:24:08 GMT
Author: pmouawad
Date: Sat Sep  3 09:24:08 2016
New Revision: 1759062

URL: http://svn.apache.org/viewvc?rev=1759062&view=rev
Log:
Bug 60082 - Validation mode : Be able to force Throughput Controller to run as if it was set
to 100%
Bugzilla Id: 60082

Added:
    jmeter/trunk/src/components/org/apache/jmeter/validation/
    jmeter/trunk/src/components/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java
  (with props)
Modified:
    jmeter/trunk/bin/jmeter.properties
    jmeter/trunk/src/core/org/apache/jmeter/gui/action/Start.java
    jmeter/trunk/xdocs/changes.xml
    jmeter/trunk/xdocs/usermanual/component_reference.xml

Modified: jmeter/trunk/bin/jmeter.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/jmeter.properties?rev=1759062&r1=1759061&r2=1759062&view=diff
==============================================================================
--- jmeter/trunk/bin/jmeter.properties (original)
+++ jmeter/trunk/bin/jmeter.properties Sat Sep  3 09:24:08 2016
@@ -1232,7 +1232,7 @@ system.properties=system.properties
 # It runs validation without timers, with 1 thread, 1 iteration and Startup Delay set to
0
 # You can implement your own policy that must extend org.apache.jmeter.engine.TreeCloner
 # JMeter will instantiate it and use it to create the Tree used to run validation on Thread
Group
-#testplan_validation.tree_cloner_class=org.apache.jmeter.gui.action.validation.TreeClonerForValidation
+#testplan_validation.tree_cloner_class=org.apache.jmeter.validation.ComponentTreeClonerForValidation
 
 # Number of threads to use to validate a Thread Group
 #testplan_validation.nb_threads_per_thread_group=1
@@ -1242,3 +1242,7 @@ system.properties=system.properties
 
 # Number of iterations to use to validate a Thread Group
 #testplan_validation.number_iterations=1
+
+# Force throuput controllers that work in percentage mode to be a 100%
+# Disabled by default
+#testplan_validation.tpc_force_100_pct=false
\ No newline at end of file

Added: jmeter/trunk/src/components/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java?rev=1759062&view=auto
==============================================================================
--- jmeter/trunk/src/components/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java
(added)
+++ jmeter/trunk/src/components/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java
Sat Sep  3 09:24:08 2016
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.validation;
+
+import org.apache.jmeter.control.ThroughputController;
+import org.apache.jmeter.gui.action.validation.TreeClonerForValidation;
+import org.apache.jmeter.util.JMeterUtils;
+
+/**
+ * Clones the test tree, modifying throughput controller percentage
+ * @since 3.1
+ */
+public class ComponentTreeClonerForValidation extends TreeClonerForValidation {
+    
+    /**
+     * For 100% on ThroughputController
+     */
+    protected static final boolean VALIDATION_TPC_FORCE_100_PERCENT = JMeterUtils.getPropDefault("testplan_validation.tpc_force_100_pct",
false); //$NON-NLS-1$
+
+    public ComponentTreeClonerForValidation() {
+        this(false);
+    }
+
+    public ComponentTreeClonerForValidation(boolean honourNoThreadClone) {
+        super(honourNoThreadClone);
+    }
+
+    /**
+     * @see org.apache.jmeter.engine.TreeCloner#addNodeToTree(java.lang.Object)
+     */
+    @Override
+    protected Object addNodeToTree(Object node) {
+        Object clonedNode = super.addNodeToTree(node);
+        if (VALIDATION_TPC_FORCE_100_PERCENT && clonedNode instanceof ThroughputController)
{
+            ThroughputController tc = (ThroughputController) clonedNode;
+            if(tc.getStyle() == ThroughputController.BYPERCENT) {
+                tc.setPercentThroughput(100);
+            }
+        }
+        return clonedNode;
+    }
+}

Propchange: jmeter/trunk/src/components/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/action/Start.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/action/Start.java?rev=1759062&r1=1759061&r2=1759062&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/gui/action/Start.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/gui/action/Start.java Sat Sep  3 09:24:08 2016
@@ -71,7 +71,7 @@ public class Start extends AbstractActio
      */
     private static final String CLONER_FOR_VALIDATION_CLASS_NAME = 
             JMeterUtils.getPropDefault(VALIDATION_CLONER_CLASS_PROPERTY_NAME, //$NON-NLS-1$

-                    TreeClonerForValidation.class.getName());
+                    "org.apache.jmeter.validation.ComponentTreeClonerForValidation");
 
     static {
         commands.add(ActionNames.ACTION_START);

Modified: jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1759062&r1=1759061&r2=1759062&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
+++ jmeter/trunk/xdocs/changes.xml [utf-8] Sat Sep  3 09:24:08 2016
@@ -94,6 +94,7 @@ Summary
 <ul>
     <li><bug>59351</bug>Improve log/error/message for IncludeController.
Partly contributed by Antonio Gomes Rodrigues (ra0077 at gmail.com)</li>
     <li><bug>60023</bug>ThroughputController : Make "Percent Executions"
and global the default values. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
+    <li><bug>60082</bug>Validation mode : Be able to force Throughput Controller
to run as if it was set to 100%</li>
 </ul>
 
 <h3>Listeners</h3>

Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1759062&r1=1759061&r2=1759062&view=diff
==============================================================================
--- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jmeter/trunk/xdocs/usermanual/component_reference.xml Sat Sep  3 09:24:08 2016
@@ -6171,11 +6171,12 @@ Since JMeter 3.0, you can run a selectio
 
 <b>Validation Mode:</b><br></br>
 This mode enables rapid validation of a Thread Group by running it with 1 thread, 1 iteration,
no timers and no <code>Startup delay</code> set to 0.
-The 3 first properties can be modified by setting in user.properties:
+Behaviour can be modified with some properties by setting in user.properties:
 <ul>
 <li><code>testplan_validation.nb_threads_per_thread_group</code> : Number
of threads to use to validate a Thread Group, by default 1</li>
 <li><code>testplan_validation.ignore_timers</code> : Ignore timers when
validating the thread group of plan, by default 1</li>
 <li><code>testplan_validation.number_iterations</code> : Number of iterations
to use to validate a Thread Group</li>
+<li><code>testplan_validation.tpc_force_100_pct</code> : Wether to force
Throughput Controller in percentage mode to run as if percentage was 100%. Defaults to false</li>
 </ul> 
 </p>
 



Mime
View raw message