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]