Author: sebb Date: Thu Jun 28 17:28:48 2007 New Revision: 551742 URL: http://svn.apache.org/viewvc?view=rev&rev=551742 Log: Add test for Bug 41612 Loop nested in IF behaves erraticly
Added: jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.txt (with props) Modified: jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.csv jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.jmx jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.xml Modified: jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.csv URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.csv?view=diff&rev=551742&r1=551741&r2=551742 ============================================================================== --- jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.csv (original) +++ jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.csv Thu Jun 28 17:28:48 2007 @@ -1,4 +1,8 @@ -label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,grpThreads,allThreads,URL,Filename,Encoding -Java 1,200,OK,Thread Group 1-1,text,true,,10,1,1,null,,ISO-8859-1 -Java 1,200,OK,Thread Group 1-1,text,true,,10,1,1,null,,ISO-8859-1 -Java 1,200,OK,Thread Group 1-1,text,true,,10,1,1,null,,ISO-8859-1 +label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,grpThreads,allThreads,URL,Filename +Java 1,200,OK,Thread Group 1-1,text,true,,10,1,1,null, +Java 1,200,OK,Thread Group 1-1,text,true,,10,1,1,null, +Java 1,200,OK,Thread Group 1-1,text,true,,10,1,1,null, +If Test,200,OK,Thread Group 1-1,,true,,0,1,1,null, +Loop,200,OK,Thread Group 1-1,,true,,0,1,1,null, +Loop,200,OK,Thread Group 1-1,,true,,0,1,1,null, +Loop,200,OK,Thread Group 1-1,,true,,0,1,1,null, Modified: jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.jmx URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.jmx?view=diff&rev=551742&r1=551741&r2=551742 ============================================================================== --- jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.jmx (original) +++ jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.jmx Thu Jun 28 17:28:48 2007 @@ -1,6 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> <jmeterTestPlan version="1.2" properties="1.8"> <hashTree> - <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="BatchTestLocal" enabled="true"> + <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true"> <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"/> </elementProp> @@ -17,8 +18,8 @@ <stringProp name="ThreadGroup.num_threads">1</stringProp> <boolProp name="ThreadGroup.scheduler">false</boolProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> - <stringProp name="LoopController.loops">1</stringProp> <boolProp name="LoopController.continue_forever">false</boolProp> + <stringProp name="LoopController.loops">1</stringProp> </elementProp> <longProp name="ThreadGroup.end_time">1172922900000</longProp> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> @@ -26,52 +27,52 @@ </ThreadGroup> <hashTree> <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop3" enabled="true"> - <stringProp name="LoopController.loops">3</stringProp> <boolProp name="LoopController.continue_forever">true</boolProp> + <stringProp name="LoopController.loops">3</stringProp> </LoopController> <hashTree> <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Java 1" enabled="true"> <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true"> <collectionProp name="Arguments.arguments"> <elementProp name="Sleep_Time" elementType="Argument"> - <stringProp name="Argument.metadata">=</stringProp> - <stringProp name="Argument.value">100</stringProp> <stringProp name="Argument.name">Sleep_Time</stringProp> + <stringProp name="Argument.value">100</stringProp> + <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="Sleep_Mask" elementType="Argument"> - <stringProp name="Argument.metadata">=</stringProp> - <stringProp name="Argument.value">0xFF</stringProp> <stringProp name="Argument.name">Sleep_Mask</stringProp> + <stringProp name="Argument.value">0xFF</stringProp> + <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="Label" elementType="Argument"> - <stringProp name="Argument.metadata">=</stringProp> - <stringProp name="Argument.value"></stringProp> <stringProp name="Argument.name">Label</stringProp> + <stringProp name="Argument.value"></stringProp> + <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="ResponseCode" elementType="Argument"> - <stringProp name="Argument.metadata">=</stringProp> - <stringProp name="Argument.value">200</stringProp> <stringProp name="Argument.name">ResponseCode</stringProp> + <stringProp name="Argument.value">200</stringProp> + <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="ResponseMessage" elementType="Argument"> - <stringProp name="Argument.metadata">=</stringProp> - <stringProp name="Argument.value">OK</stringProp> <stringProp name="Argument.name">ResponseMessage</stringProp> + <stringProp name="Argument.value">OK</stringProp> + <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="Status" elementType="Argument"> - <stringProp name="Argument.metadata">=</stringProp> - <stringProp name="Argument.value">OK</stringProp> <stringProp name="Argument.name">Status</stringProp> + <stringProp name="Argument.value">OK</stringProp> + <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="SamplerData" elementType="Argument"> - <stringProp name="Argument.metadata">=</stringProp> - <stringProp name="Argument.value">SamplerData</stringProp> <stringProp name="Argument.name">SamplerData</stringProp> + <stringProp name="Argument.value">SamplerData</stringProp> + <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="ResultData" elementType="Argument"> - <stringProp name="Argument.metadata">=</stringProp> - <stringProp name="Argument.value">ResultData</stringProp> <stringProp name="Argument.name">ResultData</stringProp> + <stringProp name="Argument.value">ResultData</stringProp> + <stringProp name="Argument.metadata">=</stringProp> </elementProp> </collectionProp> </elementProp> @@ -79,7 +80,121 @@ </JavaSampler> <hashTree/> </hashTree> + <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> + <boolProp name="LoopController.continue_forever">true</boolProp> + <stringProp name="LoopController.loops">5</stringProp> + </LoopController> + <hashTree> + <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true"> + <stringProp name="IfController.condition">${__StringFromFile(testfiles/BatchTestLocal.txt)} > 2</stringProp> + </IfController> + <hashTree> + <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="If Test" enabled="true"> + <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true"> + <collectionProp name="Arguments.arguments"> + <elementProp name="Sleep_Time" elementType="Argument"> + <stringProp name="Argument.name">Sleep_Time</stringProp> + <stringProp name="Argument.value">100</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="Sleep_Mask" elementType="Argument"> + <stringProp name="Argument.name">Sleep_Mask</stringProp> + <stringProp name="Argument.value">0xFF</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="Label" elementType="Argument"> + <stringProp name="Argument.name">Label</stringProp> + <stringProp name="Argument.value"></stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="ResponseCode" elementType="Argument"> + <stringProp name="Argument.name">ResponseCode</stringProp> + <stringProp name="Argument.value">200</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="ResponseMessage" elementType="Argument"> + <stringProp name="Argument.name">ResponseMessage</stringProp> + <stringProp name="Argument.value">OK</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="Status" elementType="Argument"> + <stringProp name="Argument.name">Status</stringProp> + <stringProp name="Argument.value">OK</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="SamplerData" elementType="Argument"> + <stringProp name="Argument.name">SamplerData</stringProp> + <stringProp name="Argument.value"></stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="ResultData" elementType="Argument"> + <stringProp name="Argument.name">ResultData</stringProp> + <stringProp name="Argument.value"></stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + </collectionProp> + </elementProp> + <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest</stringProp> + </JavaSampler> + <hashTree/> + <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Test loop" enabled="true"> + <boolProp name="LoopController.continue_forever">true</boolProp> + <stringProp name="LoopController.loops">3</stringProp> + </LoopController> + <hashTree> + <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Loop" enabled="true"> + <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true"> + <collectionProp name="Arguments.arguments"> + <elementProp name="Sleep_Time" elementType="Argument"> + <stringProp name="Argument.name">Sleep_Time</stringProp> + <stringProp name="Argument.value">100</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="Sleep_Mask" elementType="Argument"> + <stringProp name="Argument.name">Sleep_Mask</stringProp> + <stringProp name="Argument.value">0xFF</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="Label" elementType="Argument"> + <stringProp name="Argument.name">Label</stringProp> + <stringProp name="Argument.value"></stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="ResponseCode" elementType="Argument"> + <stringProp name="Argument.name">ResponseCode</stringProp> + <stringProp name="Argument.value">200</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="ResponseMessage" elementType="Argument"> + <stringProp name="Argument.name">ResponseMessage</stringProp> + <stringProp name="Argument.value">OK</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="Status" elementType="Argument"> + <stringProp name="Argument.name">Status</stringProp> + <stringProp name="Argument.value">OK</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="SamplerData" elementType="Argument"> + <stringProp name="Argument.name">SamplerData</stringProp> + <stringProp name="Argument.value"></stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="ResultData" elementType="Argument"> + <stringProp name="Argument.name">ResultData</stringProp> + <stringProp name="Argument.value"></stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + </collectionProp> + </elementProp> + <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest</stringProp> + </JavaSampler> + <hashTree/> + </hashTree> + </hashTree> + </hashTree> <ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Write CSV" enabled="true"> + <boolProp name="ResultCollector.error_logging">false</boolProp> <objProp> <value class="SampleSaveConfiguration"> <time>false</time> @@ -91,7 +206,7 @@ <message>true</message> <threadName>true</threadName> <dataType>true</dataType> - <encoding>true</encoding> + <encoding>false</encoding> <assertions>true</assertions> <subresults>true</subresults> <responseData>true</responseData> @@ -111,10 +226,10 @@ <name>saveConfig</name> </objProp> <stringProp name="filename">BatchTestLocal.csv</stringProp> - <boolProp name="ResultCollector.error_logging">false</boolProp> </ResultCollector> <hashTree/> <ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Write XML" enabled="true"> + <boolProp name="ResultCollector.error_logging">false</boolProp> <objProp> <value class="SampleSaveConfiguration"> <time>false</time> @@ -126,7 +241,7 @@ <message>true</message> <threadName>true</threadName> <dataType>true</dataType> - <encoding>true</encoding> + <encoding>false</encoding> <assertions>true</assertions> <subresults>true</subresults> <responseData>true</responseData> @@ -146,10 +261,10 @@ <name>saveConfig</name> </objProp> <stringProp name="filename">BatchTestLocal.xml</stringProp> - <boolProp name="ResultCollector.error_logging">false</boolProp> </ResultCollector> <hashTree/> <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true"> + <boolProp name="ResultCollector.error_logging">false</boolProp> <objProp> <value class="SampleSaveConfiguration"> <time>true</time> @@ -177,7 +292,6 @@ <name>saveConfig</name> </objProp> <stringProp name="filename"></stringProp> - <boolProp name="ResultCollector.error_logging">false</boolProp> </ResultCollector> <hashTree/> </hashTree> Added: jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.txt URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.txt?view=auto&rev=551742 ============================================================================== --- jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.txt (added) +++ jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.txt Thu Jun 28 17:28:48 2007 @@ -0,0 +1,30 @@ +1 +2 +3 +1 +2 +3 +1 +2 +3 +1 +2 +3 +1 +2 +3 +1 +2 +3 +1 +2 +3 +1 +2 +3 +1 +2 +3 +1 +2 +3 \ No newline at end of file Propchange: jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.txt ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.txt ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Modified: jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.xml URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.xml?view=diff&rev=551742&r1=551741&r2=551742 ============================================================================== --- jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.xml (original) +++ jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.xml Thu Jun 28 17:28:48 2007 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <testResults version="1.2"> -<sample lt="0" s="true" lb="Java 1" rc="200" rm="OK" tn="Thread Group 1-1" dt="text" de="ISO-8859-1" by="10" ng="1" na="1"> +<sample lt="0" s="true" lb="Java 1" rc="200" rm="OK" tn="Thread Group 1-1" dt="text" by="10" ng="1" na="1"> <responseHeader class="java.lang.String"></responseHeader> <requestHeader class="java.lang.String"></requestHeader> <responseData class="java.lang.String">ResultData</responseData> @@ -8,7 +8,7 @@ <samplerData class="java.lang.String">SamplerData</samplerData> <null/> </sample> -<sample lt="0" s="true" lb="Java 1" rc="200" rm="OK" tn="Thread Group 1-1" dt="text" de="ISO-8859-1" by="10" ng="1" na="1"> +<sample lt="0" s="true" lb="Java 1" rc="200" rm="OK" tn="Thread Group 1-1" dt="text" by="10" ng="1" na="1"> <responseHeader class="java.lang.String"></responseHeader> <requestHeader class="java.lang.String"></requestHeader> <responseData class="java.lang.String">ResultData</responseData> @@ -16,12 +16,40 @@ <samplerData class="java.lang.String">SamplerData</samplerData> <null/> </sample> -<sample lt="0" s="true" lb="Java 1" rc="200" rm="OK" tn="Thread Group 1-1" dt="text" de="ISO-8859-1" by="10" ng="1" na="1"> +<sample lt="0" s="true" lb="Java 1" rc="200" rm="OK" tn="Thread Group 1-1" dt="text" by="10" ng="1" na="1"> <responseHeader class="java.lang.String"></responseHeader> <requestHeader class="java.lang.String"></requestHeader> <responseData class="java.lang.String">ResultData</responseData> <responseFile class="java.lang.String"></responseFile> <samplerData class="java.lang.String">SamplerData</samplerData> + <null/> +</sample> +<sample lt="0" s="true" lb="If Test" rc="200" rm="OK" tn="Thread Group 1-1" dt="" by="0" ng="1" na="1"> + <responseHeader class="java.lang.String"></responseHeader> + <requestHeader class="java.lang.String"></requestHeader> + <responseData class="java.lang.String"/> + <responseFile class="java.lang.String"></responseFile> + <null/> +</sample> +<sample lt="0" s="true" lb="Loop" rc="200" rm="OK" tn="Thread Group 1-1" dt="" by="0" ng="1" na="1"> + <responseHeader class="java.lang.String"></responseHeader> + <requestHeader class="java.lang.String"></requestHeader> + <responseData class="java.lang.String"/> + <responseFile class="java.lang.String"></responseFile> + <null/> +</sample> +<sample lt="0" s="true" lb="Loop" rc="200" rm="OK" tn="Thread Group 1-1" dt="" by="0" ng="1" na="1"> + <responseHeader class="java.lang.String"></responseHeader> + <requestHeader class="java.lang.String"></requestHeader> + <responseData class="java.lang.String"/> + <responseFile class="java.lang.String"></responseFile> + <null/> +</sample> +<sample lt="0" s="true" lb="Loop" rc="200" rm="OK" tn="Thread Group 1-1" dt="" by="0" ng="1" na="1"> + <responseHeader class="java.lang.String"></responseHeader> + <requestHeader class="java.lang.String"></requestHeader> + <responseData class="java.lang.String"/> + <responseFile class="java.lang.String"></responseFile> <null/> </sample> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]