Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

WTP Adding JUnits/ExampleTestXMLFile

< WTP Adding JUnits
Revision as of 20:16, 26 January 2008 by David williams.acm.org (Talk | contribs) (example test.xml file)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
<?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 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. -->
    <target
        name="init">
        <tstamp />
        <delete>
            <fileset
                dir="${eclipse-home}"
                includes="${plugin-name}.*xml" />
        </delete>
        
		<!-- 
         make 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 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 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. -->
    <target
        name="cleanup">
		<!-- usually no need to delete workspace until next run, where whole test directory is 
        deleted before running, and leaving it allows inspection of the workspace, if problems -->
		<!-- <delete dir="${workspace}" quiet="true" /> -->
    </target>

	<!-- This target runs the test suite. Any actions that need to happen -->
	<!-- after all the tests have been run should go here. -->
    <target
        name="run"
        depends="init,suite,cleanup">
        <ant
            target="collect"
            antfile="${library-file}"
            dir="${eclipse-home}">
            <property
                name="includes"
                value="${plugin-name}.*xml" />
            <property
                name="output-file"
                value="${plugin-name}.xml" />
        </ant>
    </target>
</project>

Back to the top