Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "WTP Adding JUnits/ExampleTestXMLFile"

(example test.xml file)
 
(updated to remove 'collect' call.)
 
(One intermediate revision by one other user not shown)
Line 30: Line 30:
 
         name="testType"
 
         name="testType"
 
         value="core-test" />
 
         value="core-test" />
<!-- some test suites need to add special vm arguments when they run. This is just an example.
+
   
 +
    <!-- some test suites need to add special vm arguments when they run. This is just an example.
 
     <property
 
     <property
 
         name="extraVMargs"
 
         name="extraVMargs"
Line 36: Line 37:
 
     <echo
 
     <echo
 
         message="extraVMargs ${extraVMargs}" />
 
         message="extraVMargs ${extraVMargs}" />
  -->
+
    -->
  
 
     <!--  
 
     <!--  
Line 76: Line 77:
 
         value="${eclipse-home}/junitworkspaces/${plugin-name}" />
 
         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 -->
+
    This init target holds all initialization code that needs to be done for
<!-- should be done within the body of the suite target. -->
+
      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
 
     <target
 
         name="init">
 
         name="init">
Line 88: Line 93:
 
         </delete>
 
         </delete>
 
          
 
          
<!--  
+
            <!--  
         make directory, in case path doesn't exist yet
+
         make the workspace directory, in case path doesn't exist yet
 
         but delete to make sure fresh contents, if it does exist
 
         but delete to make sure fresh contents, if it does exist
    -->
+
        -->
 
         <delete
 
         <delete
 
             dir="${workspace}"
 
             dir="${workspace}"
Line 97: Line 102:
 
         <mkdir
 
         <mkdir
 
             dir="${workspace}" />
 
             dir="${workspace}" />
 
 
     </target>
 
     </target>
  
<!-- This target defines the tests that need to be run. -->
+
    <!--  
 +
      This suite target defines the tests that need to be run.
 +
    -->
 
     <target
 
     <target
 
         name="suite">
 
         name="suite">
Line 126: Line 132:
 
     </target>
 
     </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 -->
+
    This clean target holds code to cleanup the testing environment after
<!-- delete temporary files that have been created, if required. -->
+
    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
 
     <target
 
         name="cleanup">
 
         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>
 
     </target>
  
<!-- This target runs the test suite. Any actions that need to happen -->
+
    <!--  
<!-- after all the tests have been run should go here. -->
+
      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
 
     <target
 
         name="run"
 
         name="run"
 
         depends="init,suite,cleanup">
 
         depends="init,suite,cleanup">
         <ant
+
         <!--  
            target="collect"
+
          Intentionally no work done here. It is all handled by 'depends' tasks,
            antfile="${library-file}"
+
          and just ended up be structured this way, since the task that used
            dir="${eclipse-home}">
+
          to be called from here ('collect') is no longer needed, as it is handled
            <property
+
          by the infrastructure.  
                name="includes"
+
         -->
                value="${plugin-name}.*xml" />
+
            <property
+
                name="output-file"
+
                value="${plugin-name}.xml" />
+
         </ant>
+
 
     </target>
 
     </target>
</project>
+
</project></nowiki></pre>
</nowiki></pre>
+

Latest revision as of 14:17, 19 November 2009

<?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>

Back to the top