WTP Adding JUnits/ExampleTestXMLFile
< WTP Adding JUnits
Revision as of 14:17, 19 November 2009 by David williams.acm.org (Talk | contribs) (updated to remove 'collect' call.)
<?xml version="1.0" encoding="UTF-8"?> <project name="testsuite" default="run" basedir="."> <!-- ===================================================== There should be no need to change what's above. (if there is, let us know if the script can be improved.) ===================================================== --> <!-- Every suite needs to specify three thing: plugin-name, classname - that provides the suite to test, and testType - either core-test, or ui-test. There is an optional extraVMargs property that some tests need to use in order to specify extra, non-standard properties to the VM when it runs. If not need, no need to specify it. --> <property name="plugin-name" value="org.eclipse.wst.sse.core.tests" /> <property name="classname" value="org.eclipse.wst.sse.core.tests.SSEModelTestSuite" /> <property name="testType" value="core-test" /> <!-- some test suites need to add special vm arguments when they run. This is just an example. <property name="extraVMargs" value="-DjsfRuntimeJarsDirectoryV1.1=${testDir}/${jsf1.1Dir}" /> <echo message="extraVMargs ${extraVMargs}" /> --> <!-- ===================================================== There should be no need to change what's below. (if there is, let us know if the script can be improved.) ===================================================== --> <!-- There are some properties that must be provided by caller. --> <fail message="Error: missing property. eclipse-home must be proved" unless="eclipse-home" /> <fail message="Error: missing property. buildDirectory must be proved" unless="buildDirectory" /> <fail message="Error: missing property. buildLabel must be proved" unless="buildLabel" /> <echo message="basedir: ${basedir}" /> <echo message="eclipse-home: ${eclipse-home}" /> <echo message="buildDirectory: ${buildDirectory}" /> <echo message="plugin-name: ${plugin-name}" /> <echo message="classname: ${classname}" /> <echo message="testType ${testType}" /> <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml" /> <property name="workspace" value="${eclipse-home}/junitworkspaces/${plugin-name}" /> <!-- This init target holds all initialization code that needs to be done for all tests that are to be run. Initialization for individual tests should be done within the body of the suite target. Here it's a good idea to delete things that might have been created if the test has already been ran, just in case the test is being re-ran. --> <target name="init"> <tstamp /> <delete> <fileset dir="${eclipse-home}" includes="${plugin-name}.*xml" /> </delete> <!-- make the workspace directory, in case path doesn't exist yet but delete to make sure fresh contents, if it does exist --> <delete dir="${workspace}" quiet="true" /> <mkdir dir="${workspace}" /> </target> <!-- This suite target defines the tests that need to be run. --> <target name="suite"> <ant target="${testType}" antfile="${library-file}" dir="${eclipse-home}"> <property name="data-dir" value="${workspace}" /> <property name="plugin-name" value="${plugin-name}" /> <property name="classname" value="${classname}" /> <property name="plugin-path" value="${eclipse-home}/plugins/${plugin-name}" /> </ant> <copy failonerror="false" file="${workspace}/.metadata/.log" tofile="${buildDirectory}/${buildLabel}/testResults/consolelogs/${plugin-name}.consolelog.txt" /> </target> <!-- This clean target holds code to cleanup the testing environment after after all of the tests have been run. You can use this target to delete temporary files that have been created, if required. But, it's usually best to leave it all, in case you'd like to inspect it after a failed run. It will be deleted eventually by the next clean build. --> <target name="cleanup"> </target> <!-- This run target is the master target that get's all the work done. Most activity is actually done in the 'depends' tasks, but any actions that need to happen after all the tests have been run should go here, such as copying the results to a common 'save' directory. --> <target name="run" depends="init,suite,cleanup"> <!-- Intentionally no work done here. It is all handled by 'depends' tasks, and just ended up be structured this way, since the task that used to be called from here ('collect') is no longer needed, as it is handled by the infrastructure. --> </target> </project>