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]

Reply via email to