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 2012/11/25 16:02:36 UTC
svn commit: r1413358 - in /jmeter/trunk: src/core/org/apache/jmeter/gui/
src/core/org/apache/jmeter/reporters/
src/core/org/apache/jmeter/reporters/gui/
src/core/org/apache/jmeter/samplers/
src/core/org/apache/jmeter/testelement/ src/core/org/apache/jm...
Author: pmouawad
Date: Sun Nov 25 15:02:34 2012
New Revision: 1413358
URL: http://svn.apache.org/viewvc?rev=1413358&view=rev
Log:
Bug 54204 - Result Status Action Handler : Add start next thread loop option
Bugzilla Id: 54204
Modified:
jmeter/trunk/src/core/org/apache/jmeter/gui/OnErrorPanel.java
jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultAction.java
jmeter/trunk/src/core/org/apache/jmeter/reporters/gui/ResultActionGui.java
jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java
jmeter/trunk/src/core/org/apache/jmeter/testelement/OnErrorTestElement.java
jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java
jmeter/trunk/xdocs/changes.xml
Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/OnErrorPanel.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/OnErrorPanel.java?rev=1413358&r1=1413357&r2=1413358&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/gui/OnErrorPanel.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/gui/OnErrorPanel.java Sun Nov 25 15:02:34 2012
@@ -34,6 +34,8 @@ public class OnErrorPanel extends JPanel
// Sampler error action buttons
private JRadioButton continueBox;
+ private JRadioButton startNextThreadLoopBox;
+
private JRadioButton stopThrdBox;
private JRadioButton stopTestBox;
@@ -51,6 +53,10 @@ public class OnErrorPanel extends JPanel
continueBox.setSelected(true);
panel.add(continueBox);
+ startNextThreadLoopBox = new JRadioButton(JMeterUtils.getResString("sampler_on_error_start_next_loop")); //$NON-NLS-1$
+ group.add(startNextThreadLoopBox);
+ panel.add(startNextThreadLoopBox);
+
stopThrdBox = new JRadioButton(JMeterUtils.getResString("sampler_on_error_stop_thread")); //$NON-NLS-1$
group.add(stopThrdBox);
panel.add(stopThrdBox);
@@ -83,6 +89,7 @@ public class OnErrorPanel extends JPanel
public void configure(int errorAction) {
stopTestNowBox.setSelected(errorAction == OnErrorTestElement.ON_ERROR_STOPTEST_NOW);
+ startNextThreadLoopBox.setSelected(errorAction == OnErrorTestElement.ON_ERROR_START_NEXT_THREAD_LOOP);
stopTestBox.setSelected(errorAction == OnErrorTestElement.ON_ERROR_STOPTEST);
stopThrdBox.setSelected(errorAction == OnErrorTestElement.ON_ERROR_STOPTHREAD);
continueBox.setSelected(errorAction == OnErrorTestElement.ON_ERROR_CONTINUE);
@@ -98,6 +105,9 @@ public class OnErrorPanel extends JPanel
if (stopThrdBox.isSelected()) {
return OnErrorTestElement.ON_ERROR_STOPTHREAD;
}
+ if (startNextThreadLoopBox.isSelected()) {
+ return OnErrorTestElement.ON_ERROR_START_NEXT_THREAD_LOOP;
+ }
// Defaults to continue
return OnErrorTestElement.ON_ERROR_CONTINUE;
Modified: jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultAction.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultAction.java?rev=1413358&r1=1413357&r2=1413358&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultAction.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultAction.java Sun Nov 25 15:02:34 2012
@@ -55,6 +55,7 @@ public class ResultAction extends OnErro
*
* @see org.apache.jmeter.samplers.SampleListener#sampleOccurred(org.apache.jmeter.samplers.SampleEvent)
*/
+ @Override
public void sampleOccurred(SampleEvent e) {
SampleResult s = e.getResult();
log.debug(s.getSampleLabel() + " OK? " + s.isSuccessful());
@@ -68,12 +69,16 @@ public class ResultAction extends OnErro
if (isStopThread()) {
s.setStopThread(true);
}
+ if (isStartNextThreadLoop()) {
+ s.setStartNextThreadLoop(true);
+ }
}
}
/**
* {@inheritDoc}
*/
+ @Override
public void sampleStarted(SampleEvent e) {
// not used
}
@@ -81,6 +86,7 @@ public class ResultAction extends OnErro
/**
* {@inheritDoc}
*/
+ @Override
public void sampleStopped(SampleEvent e) {
// not used
}
Modified: jmeter/trunk/src/core/org/apache/jmeter/reporters/gui/ResultActionGui.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/reporters/gui/ResultActionGui.java?rev=1413358&r1=1413357&r2=1413358&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/reporters/gui/ResultActionGui.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/reporters/gui/ResultActionGui.java Sun Nov 25 15:02:34 2012
@@ -46,6 +46,7 @@ public class ResultActionGui extends Abs
/**
* @see org.apache.jmeter.gui.JMeterGUIComponent#getStaticLabel()
*/
+ @Override
public String getLabelResource() {
return "resultaction_title"; //$NON-NLS-1$
}
@@ -62,6 +63,7 @@ public class ResultActionGui extends Abs
/**
* @see org.apache.jmeter.gui.JMeterGUIComponent#createTestElement()
*/
+ @Override
public TestElement createTestElement() {
ResultAction resultAction = new ResultAction();
modifyTestElement(resultAction);
@@ -73,6 +75,7 @@ public class ResultActionGui extends Abs
*
* @see org.apache.jmeter.gui.JMeterGUIComponent#modifyTestElement(TestElement)
*/
+ @Override
public void modifyTestElement(TestElement te) {
super.configureTestElement(te);
((OnErrorTestElement) te).setErrorAction(errorPanel.getOnErrorSetting());
Modified: jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java?rev=1413358&r1=1413357&r2=1413358&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java Sun Nov 25 15:02:34 2012
@@ -174,6 +174,9 @@ public class SampleResult implements Ser
/** time to first response */
private long latency = 0;
+
+ /** Should thread start next iteration ? */
+ private boolean startNextThreadLoop = false;
/** Should thread terminate? */
private boolean stopThread = false;
@@ -305,6 +308,7 @@ public class SampleResult implements Ser
stopTest = res.stopTest;
stopTestNow = res.stopTestNow;
stopThread = res.stopThread;
+ startNextThreadLoop = res.startNextThreadLoop;
subResults = res.subResults; // TODO ??
success = res.success;//OK
threadName = res.threadName;//OK
@@ -1308,4 +1312,18 @@ public class SampleResult implements Ser
}
}
+
+ /**
+ * @return the startNextThreadLoop
+ */
+ public boolean isStartNextThreadLoop() {
+ return startNextThreadLoop;
+ }
+
+ /**
+ * @param startNextThreadLoop the startNextLoop to set
+ */
+ public void setStartNextThreadLoop(boolean startNextThreadLoop) {
+ this.startNextThreadLoop = startNextThreadLoop;
+ }
}
Modified: jmeter/trunk/src/core/org/apache/jmeter/testelement/OnErrorTestElement.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testelement/OnErrorTestElement.java?rev=1413358&r1=1413357&r2=1413358&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/testelement/OnErrorTestElement.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/testelement/OnErrorTestElement.java Sun Nov 25 15:02:34 2012
@@ -39,6 +39,8 @@ public abstract class OnErrorTestElement
public static final int ON_ERROR_STOPTEST_NOW = 3;
+ public static final int ON_ERROR_START_NEXT_THREAD_LOOP = 4;
+
/* Property name */
public static final String ON_ERROR_ACTION = "OnError.action";
@@ -69,4 +71,8 @@ public abstract class OnErrorTestElement
public boolean isStopTestNow() {
return getErrorAction() == ON_ERROR_STOPTEST_NOW;
}
+
+ public boolean isStartNextThreadLoop() {
+ return getErrorAction() == ON_ERROR_START_NEXT_THREAD_LOOP;
+ }
}
Modified: jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java?rev=1413358&r1=1413357&r2=1413358&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java Sun Nov 25 15:02:34 2012
@@ -454,6 +454,9 @@ public class JMeterThread implements Run
if (result.isStopTestNow() || (!result.isSuccessful() && onErrorStopTestNow)) {
stopTestNow();
}
+ if(result.isStartNextThreadLoop()) {
+ threadContext.setRestartNextLoop(true);
+ }
} else {
compiler.done(pack); // Finish up
}
Modified: jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1413358&r1=1413357&r2=1413358&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml (original)
+++ jmeter/trunk/xdocs/changes.xml Sun Nov 25 15:02:34 2012
@@ -206,6 +206,7 @@ to the elements View Results Tree, Asser
<li><bugzilla>54154</bugzilla> - HTTP Proxy Server should not force user to select the type of Sampler in HTTP Sampler Settings</li>
<li><bugzilla>54165</bugzilla> - Proxy Server: Improve rendering of target controller</li>
<li><bugzilla>46677</bugzilla> - Copying Test Elements between test plans</li>
+<li><bugzilla>54204</bugzilla> - Result Status Action Handler : Add start next thread loop option</li>
</ul>
<h2>Non-functional changes</h2>