mirror of https://github.com/apache/jmeter.git
Bug 63055 Don't rename SampleResult Label when test is running in Functional mode or property subresults.disable_renaming=true.
Implemented by Artem Fedorov (artem.fedorov at blazemeter.com) and contributed by BlazeMeter.
This closes #439
Bugzilla Id: 63055
git-svn-id: https://svn.apache.org/repos/asf/jmeter/trunk@1852943 13f79535-47bb-0310-9956-ffa450edef68
Former-commit-id: 1a40450242
This commit is contained in:
parent
bb1476ba08
commit
926f9e882a
|
|
@ -576,6 +576,11 @@ sampleresult.timestamp.start=true
|
|||
# Set this to <= 0 to disable the background thread
|
||||
#sampleresult.nanoThreadSleep=5000
|
||||
|
||||
# Since version 5.0 JMeter has a new SubResult Naming Policy which numbers subresults by default
|
||||
# This property if set to true discards renaming policy. This can be required if you're using JMeter for functional testing.
|
||||
# Defaults to: false
|
||||
#subresults.disable_renaming=false
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Upgrade property
|
||||
#---------------------------------------------------------------------------
|
||||
|
|
@ -1320,3 +1325,11 @@ jmeter.reportgenerator.apdex_tolerated_threshold=1500
|
|||
# Switch that allows using Local documentation opened in JMeter GUI
|
||||
# By default we use Online documentation opened in Browser
|
||||
#help.local=false
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Documentation generation
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# Path to XSL file used to generate Schematic View of Test Plan
|
||||
# When empty, JMeter will use the embedded one in src/core/org/apache/jmeter/gui/action/schematic.xsl
|
||||
#docgeneration.schematic_xsl=
|
||||
|
|
@ -32,6 +32,7 @@ import java.util.concurrent.TimeUnit;
|
|||
|
||||
import org.apache.jmeter.assertions.AssertionResult;
|
||||
import org.apache.jmeter.gui.Searchable;
|
||||
import org.apache.jmeter.testelement.TestPlan;
|
||||
import org.apache.jmeter.threads.JMeterContext.TestLogicalAction;
|
||||
import org.apache.jmeter.util.JMeterUtils;
|
||||
import org.apache.jorphan.util.JOrphanUtils;
|
||||
|
|
@ -96,7 +97,9 @@ public class SampleResult implements Serializable, Cloneable, Searchable {
|
|||
* @see #setDataType(java.lang.String)
|
||||
*/
|
||||
public static final String BINARY = "bin"; // $NON-NLS-1$
|
||||
|
||||
|
||||
private static final boolean DISABLE_SUBRESULTS_RENAMING = JMeterUtils.getPropDefault("subresults.disable_renaming", false);
|
||||
|
||||
// List of types that are known to be binary
|
||||
private static final String[] BINARY_TYPES = {
|
||||
"image/", //$NON-NLS-1$
|
||||
|
|
@ -614,8 +617,17 @@ public class SampleResult implements Serializable, Cloneable, Searchable {
|
|||
* the {@link SampleResult} to be added
|
||||
*/
|
||||
public void addSubResult(SampleResult subResult) {
|
||||
addSubResult(subResult, true);
|
||||
addSubResult(subResult, isRenameSampleLabel());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if TestPlan is in functional mode or property subresults.disable_renaming is true
|
||||
* @see https://bz.apache.org/bugzilla/show_bug.cgi?id=63055
|
||||
*/
|
||||
protected final boolean isRenameSampleLabel() {
|
||||
return !(TestPlan.getFunctionalMode() || DISABLE_SUBRESULTS_RENAMING);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a subresult and adjust the parent byte count and end-time.
|
||||
*
|
||||
|
|
@ -652,7 +664,7 @@ public class SampleResult implements Serializable, Cloneable, Searchable {
|
|||
* the {@link SampleResult} to be added
|
||||
*/
|
||||
public void addRawSubResult(SampleResult subResult){
|
||||
storeSubResult(subResult, true);
|
||||
storeSubResult(subResult, isRenameSampleLabel());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -676,7 +688,7 @@ public class SampleResult implements Serializable, Cloneable, Searchable {
|
|||
* the {@link SampleResult} to be added
|
||||
*/
|
||||
public void storeSubResult(SampleResult subResult) {
|
||||
storeSubResult(subResult, true);
|
||||
storeSubResult(subResult, isRenameSampleLabel());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import static org.junit.Assert.assertTrue;
|
|||
import static org.junit.Assert.fail;
|
||||
|
||||
import org.apache.jmeter.junit.JMeterTestCase;
|
||||
import org.apache.jmeter.testelement.TestPlan;
|
||||
import org.apache.jmeter.util.Calculator;
|
||||
import org.apache.jmeter.util.LogRecordingDelegatingLogger;
|
||||
import org.apache.jorphan.test.JMeterSerialTest;
|
||||
|
|
@ -344,5 +345,31 @@ public class TestSampleResult implements JMeterSerialTest {
|
|||
Thread.sleep(ms);
|
||||
return System.currentTimeMillis() - start;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCompareSampleLabels() {
|
||||
final boolean prevValue = TestPlan.getFunctionalMode();
|
||||
TestPlan plan = new TestPlan();
|
||||
plan.setFunctionalMode(true);
|
||||
try {
|
||||
SampleResult result = new SampleResult();
|
||||
result.setStartTime(System.currentTimeMillis());
|
||||
result.setSampleLabel("parent label");
|
||||
|
||||
SampleResult subResult = new SampleResult();
|
||||
subResult.setStartTime(System.currentTimeMillis());
|
||||
subResult.setSampleLabel("subResult label");
|
||||
|
||||
result.addSubResult(subResult);
|
||||
assertEquals("subResult label", subResult.getSampleLabel());
|
||||
|
||||
plan.setFunctionalMode(false);
|
||||
subResult.setSampleLabel("parent label");
|
||||
result.addRawSubResult(subResult);
|
||||
assertEquals("parent label-0", subResult.getSampleLabel());
|
||||
} finally {
|
||||
plan.setFunctionalMode(prevValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -100,6 +100,7 @@ containing a fix to this issue, we decided to remove it. If you still needed, yo
|
|||
<ul>
|
||||
<li><bug>62934</bug>Add compatibility for JDBC drivers that do not support QueryTimeout </li>
|
||||
<li><bug>62935</bug>Pass custom <code>mail.*</code> properties to Mail Reader Sampler. Implemented by Artem Fedorov (artem.fedorov at blazemeter.com) and contributed by BlazeMeter.</li>
|
||||
<li><bug>63055</bug>Don't rename SampleResult Label when test is running in Functional mode or property <code>subresults.disable_renaming=true</code>. Implemented by Artem Fedorov (artem.fedorov at blazemeter.com) and contributed by BlazeMeter.</li>
|
||||
</ul>
|
||||
|
||||
<h3>Controllers</h3>
|
||||
|
|
|
|||
|
|
@ -732,6 +732,11 @@ JMETER-SERVER</source>
|
|||
Set this to a value less than zero to disable the background thread.<br/>
|
||||
Defaults to: <code>5000</code>
|
||||
</property>
|
||||
<property name="subresults.disable_renaming">
|
||||
Since version 5.0 JMeter has a new SubResult Naming Policy which numbers subresults by default<br/>
|
||||
This property if set to <code>true</code> discards renaming policy. This can be required if you're using JMeter for functional testing.<br/>
|
||||
Defaults to: <code>false</code>
|
||||
</property>
|
||||
</properties>
|
||||
</section>
|
||||
<section name="§-num;.17 Upgrade" anchor="upgrade">
|
||||
|
|
|
|||
Loading…
Reference in New Issue