Author: sebb Date: Sat Mar 3 06:52:06 2007 New Revision: 514163 URL: http://svn.apache.org/viewvc?view=rev&rev=514163 Log: Initial very simple batch test task and script TODO: add more elements to the test plan
Added: 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/build.xml Added: 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=auto&rev=514163 ============================================================================== --- jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.csv (added) +++ jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.csv Sat Mar 3 06:52:06 2007 @@ -0,0 +1,4 @@ +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 Added: 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=auto&rev=514163 ============================================================================== --- jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.jmx (added) +++ jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.jmx Sat Mar 3 06:52:06 2007 @@ -0,0 +1,186 @@ +<jmeterTestPlan version="1.2" properties="1.8"> + <hashTree> + <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="BatchTestLocal" 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> + <stringProp name="TestPlan.user_define_classpath"></stringProp> + <boolProp name="TestPlan.serialize_threadgroups">false</boolProp> + <boolProp name="TestPlan.functional_mode">false</boolProp> + <stringProp name="TestPlan.comments">Batch Test using only local resources. Single-threaded to make it repeatable</stringProp> + </TestPlan> + <hashTree> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true"> + <longProp name="ThreadGroup.start_time">1172922900000</longProp> + <stringProp name="ThreadGroup.delay"></stringProp> + <stringProp name="ThreadGroup.duration"></stringProp> + <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> + </elementProp> + <longProp name="ThreadGroup.end_time">1172922900000</longProp> + <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> + <stringProp name="ThreadGroup.ramp_time">1</stringProp> + </ThreadGroup> + <hashTree> + <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop3" enabled="true"> + <stringProp name="LoopController.loops">3</stringProp> + <boolProp name="LoopController.continue_forever">true</boolProp> + </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> + </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> + </elementProp> + <elementProp name="Label" elementType="Argument"> + <stringProp name="Argument.metadata">=</stringProp> + <stringProp name="Argument.value"></stringProp> + <stringProp name="Argument.name">Label</stringProp> + </elementProp> + <elementProp name="ResponseCode" elementType="Argument"> + <stringProp name="Argument.metadata">=</stringProp> + <stringProp name="Argument.value">200</stringProp> + <stringProp name="Argument.name">ResponseCode</stringProp> + </elementProp> + <elementProp name="ResponseMessage" elementType="Argument"> + <stringProp name="Argument.metadata">=</stringProp> + <stringProp name="Argument.value">OK</stringProp> + <stringProp name="Argument.name">ResponseMessage</stringProp> + </elementProp> + <elementProp name="Status" elementType="Argument"> + <stringProp name="Argument.metadata">=</stringProp> + <stringProp name="Argument.value">OK</stringProp> + <stringProp name="Argument.name">Status</stringProp> + </elementProp> + <elementProp name="SamplerData" elementType="Argument"> + <stringProp name="Argument.metadata">=</stringProp> + <stringProp name="Argument.value">SamplerData</stringProp> + <stringProp name="Argument.name">SamplerData</stringProp> + </elementProp> + <elementProp name="ResultData" elementType="Argument"> + <stringProp name="Argument.metadata">=</stringProp> + <stringProp name="Argument.value">ResultData</stringProp> + <stringProp name="Argument.name">ResultData</stringProp> + </elementProp> + </collectionProp> + </elementProp> + <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest</stringProp> + </JavaSampler> + <hashTree/> + </hashTree> + <ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Write CSV" enabled="true"> + <objProp> + <value class="SampleSaveConfiguration"> + <time>false</time> + <latency>false</latency> + <timestamp>false</timestamp> + <success>true</success> + <label>true</label> + <code>true</code> + <message>true</message> + <threadName>true</threadName> + <dataType>true</dataType> + <encoding>true</encoding> + <assertions>true</assertions> + <subresults>true</subresults> + <responseData>true</responseData> + <samplerData>true</samplerData> + <xml>false</xml> + <fieldNames>true</fieldNames> + <responseHeaders>true</responseHeaders> + <requestHeaders>true</requestHeaders> + <responseDataOnError>false</responseDataOnError> + <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage> + <assertionsResultsToSave>0</assertionsResultsToSave> + <bytes>true</bytes> + <url>true</url> + <fileName>true</fileName> + <threadCounts>true</threadCounts> + </value> + <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"> + <objProp> + <value class="SampleSaveConfiguration"> + <time>false</time> + <latency>true</latency> + <timestamp>false</timestamp> + <success>true</success> + <label>true</label> + <code>true</code> + <message>true</message> + <threadName>true</threadName> + <dataType>true</dataType> + <encoding>true</encoding> + <assertions>true</assertions> + <subresults>true</subresults> + <responseData>true</responseData> + <samplerData>true</samplerData> + <xml>true</xml> + <fieldNames>true</fieldNames> + <responseHeaders>true</responseHeaders> + <requestHeaders>true</requestHeaders> + <responseDataOnError>false</responseDataOnError> + <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage> + <assertionsResultsToSave>0</assertionsResultsToSave> + <bytes>true</bytes> + <url>true</url> + <fileName>true</fileName> + <threadCounts>true</threadCounts> + </value> + <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"> + <objProp> + <value class="SampleSaveConfiguration"> + <time>true</time> + <latency>true</latency> + <timestamp>true</timestamp> + <success>true</success> + <label>true</label> + <code>true</code> + <message>true</message> + <threadName>true</threadName> + <dataType>true</dataType> + <encoding>false</encoding> + <assertions>true</assertions> + <subresults>true</subresults> + <responseData>false</responseData> + <samplerData>false</samplerData> + <xml>false</xml> + <fieldNames>false</fieldNames> + <responseHeaders>false</responseHeaders> + <requestHeaders>false</requestHeaders> + <responseDataOnError>false</responseDataOnError> + <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> + <assertionsResultsToSave>0</assertionsResultsToSave> + </value> + <name>saveConfig</name> + </objProp> + <stringProp name="filename"></stringProp> + <boolProp name="ResultCollector.error_logging">false</boolProp> + </ResultCollector> + <hashTree/> + </hashTree> + </hashTree> + </hashTree> +</jmeterTestPlan> Added: 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=auto&rev=514163 ============================================================================== --- jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.xml (added) +++ jakarta/jmeter/branches/rel-2-2/bin/testfiles/BatchTestLocal.xml Sat Mar 3 06:52:06 2007 @@ -0,0 +1,28 @@ +<?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"> + <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="Java 1" rc="200" rm="OK" tn="Thread Group 1-1" dt="text" de="ISO-8859-1" 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="Java 1" rc="200" rm="OK" tn="Thread Group 1-1" dt="text" de="ISO-8859-1" 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> + +</testResults> Modified: jakarta/jmeter/branches/rel-2-2/build.xml URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/build.xml?view=diff&rev=514163&r1=514162&r2=514163 ============================================================================== --- jakarta/jmeter/branches/rel-2-2/build.xml (original) +++ jakarta/jmeter/branches/rel-2-2/build.xml Sat Mar 3 06:52:06 2007 @@ -1502,7 +1502,7 @@ <target name="docs-all" depends="docs-site,docs-printable,docs-api" description="Generate documentation. (site, printable, api)"/> - <target name="test" depends="compile-tests,_test" description="Run tests"/> + <target name="test" depends="compile-tests,_test,batchtest" description="Run tests"/> <target name="test-both" depends="test-headless,test-headed"/> @@ -1518,6 +1518,76 @@ </antcall> </target> + <taskdef + name="jmeter" + classpath="extras/ant-jmeter.jar" + classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/> + + <target name="batchtest" description="Run the batch test and compare output files"> + + <property name="batchtest.inp" location="${basedir}/bin/testfiles"/> + <property name="batchtest.out" location="${basedir}/bin"/> + <property name="batchtest.name" value="BatchTestLocal"/> + + <echo level="info" message="Starting ${batchtest.name}"/> + + <macrodef name="deleteworkfiles"> + <sequential> + <delete> + <fileset dir="${batchtest.out}"> + <include name="${batchtest.name}.csv"/> + <include name="${batchtest.name}.xml"/> + </fileset> + </delete> + </sequential> + </macrodef> + + <macrodef name="checkfile"> + <attribute name="type" default=""/> + <attribute name="file"/> + <sequential> + <!--echo>Looking for @{file}</echo--> + <available property="found" file="@{file}"/> + <fail message="Cannot find @{type} file @{file}" unless="found"/> + </sequential> + </macrodef> + + <checkfile type="input" file="${batchtest.inp}/${batchtest.name}.csv"/> + <checkfile type="input" file="${batchtest.inp}/${batchtest.name}.xml"/> + + <deleteworkfiles/> + + <java classname="org.apache.jmeter.NewDriver" fork="yes" dir="${basedir}/bin"> + <classpath> + <fileset dir="${dest.jar.jmeter}" includes="*.jar"/> + <fileset dir="${dest.jar}" includes="*.jar"/> + <path refid="classpath"/> + </classpath> + <sysproperty key="java.awt.headless" value="${test.headless}"/> + <arg value="-n"/> + <arg value="-ttestfiles/${batchtest.name}.jmx"/> + </java> + + <checkfile type="output" file="${batchtest.out}/${batchtest.name}.csv"/> + <checkfile type="output" file="${batchtest.out}/${batchtest.name}.xml"/> + + <condition property="BatchTestLocal.OK"> + <and> + <filesmatch file1="${batchtest.inp}/${batchtest.name}.csv" file2="${batchtest.out}/${batchtest.name}.csv"/> + <filesmatch file1="${batchtest.inp}/${batchtest.name}.xml" file2="${batchtest.out}/${batchtest.name}.xml"/> + </and> + </condition> + <fail unless="BatchTestLocal.OK"> + BatchTest failed. Files are not identical. + </fail> + + <echo level="info">${batchtest.name} output files compared OK</echo> + + <deleteworkfiles/> + + </target> + + <!-- Generic test target, not intended to be called directly --> <target name="_test"> <!-- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]