carbidecpp20devenv/plugins/org.eclipse.test_3.2.0/library.xml
changeset 1 82d1d1de1a01
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/carbidecpp20devenv/plugins/org.eclipse.test_3.2.0/library.xml	Wed Mar 18 17:21:00 2009 -0500
@@ -0,0 +1,169 @@
+<?xml version="1.0"?>
+<project name="Library" default="usage" basedir=".">
+
+	<target name="usage">
+		<echo message="Please refer to the testframework.html in org.eclipse.test for instructions on usage." />
+	</target>
+
+	<target name="init">
+		<!-- 
+			Parameters:
+				(Mandatory)
+				data-dir		- the directory for Eclipse to write its data
+				plugin-name		- the name of the plugin to test
+				classname		- the name of the test class
+				
+				(Optional - overrides defaults set in script)
+				vmargs			- a string containing arguments to pass to the VM.
+				extraVMargs		- allows separate setting of VM args from separate caller.
+				timeout			- overrides default test timeout value (in milliseconds).
+				test-output		- overrides default output file produced from test run.
+				plugin-path		- path to root of plug-in
+				useEclipseExe	- property setting forces test to launch via eclipse executable.
+				junit-report-output - output directory for junit reports produced for specified classname.
+		-->
+		
+	  	<tstamp>
+	        <format property="TIMENOW" pattern="HHmmssSSSS"/>
+	    </tstamp>
+		<!--property setting useEclipseExe launches tests using the eclipse executable-->
+		<condition property="launchTarget" value="eclipse-test">
+			<isset property="useEclipseExe" />
+		</condition>
+		<!--default launch target for launching tests-->
+		<property name="launchTarget" value="java-test" />
+		<property name="formatter" value="org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter"/>
+	    
+		<!--default heap sizes when running performance tests-->
+	    <condition property="vmargs" value=" -Xms256M -Xmx256M">
+			<equals arg1="${test.target}" arg2="performance" />
+	    </condition>
+		<property name="extraVMargs" value=""/>
+		<property name="plugin-path" value="" />
+		<property name="timeout" value="7200000" />
+		<property name="test-output" value="${eclipse-home}/${classname}.xml" />
+		<property name="junit-report-output" value="${eclipse-home}/results" />
+		<mkdir dir="${junit-report-output}"/>
+	</target>
+	
+	<target name="core-test" description="Eclipse application used to launch HEADLESS plugin tests." depends="init">
+		<antcall target="${launchTarget}">
+			<param name="application" value="org.eclipse.test.coretestapplication"/>
+		</antcall>
+	</target>
+	
+	<target name="ui-test" description="Eclipse application used to launch UI plugin tests." depends="init">
+		<antcall target="${launchTarget}">
+			<param name="application" value="org.eclipse.test.uitestapplication"/>
+		</antcall>
+	</target>
+
+	<target name="java-test">
+		<!--default vm args-->
+		<property name="vmargs" value=" -Xms40m -Xmx256m"/>
+	  	
+	  	<!--set default jvm to use for testing-->
+	   	<property name="jvm" value="${java.home}/bin/java" />  	
+	
+		<echo message="Running ${classname}. Result file: ${junit-report-output}/${classname}.xml."/>
+		
+		<java fork="true" dir="." timeout="${timeout}" jvm="${jvm}" logError="true"
+			classname="org.eclipse.core.launcher.Main" output="${junit-report-output}/${classname}.txt">
+	        <classpath>
+	    		<fileset dir="${eclipse-home}/plugins">
+	            	<include name="org.eclipse.equinox.launcher_*.jar"/>
+	          	</fileset>
+	        </classpath>
+		    <arg line="-application ${application}"/>
+		    <arg line="-data ${data-dir}"/>
+		    <arg line="formatter=${formatter},${test-output}"/>
+		    <arg line="-testPluginName ${plugin-name}"/>
+		    <arg line="-className ${classname}"/>
+		    <arg line="-os ${os}"/>
+		    <arg line="-ws ${ws}"/>
+		    <arg line="-arch ${arch}"/>
+		    <arg line="-consolelog"/>
+		    <jvmarg line="${vmargs} ${extraVMargs}"/>
+		    <sysproperty key="PLUGIN_PATH" value="${plugin-path}"/> 
+		</java>
+		<antcall target="collect-results" />
+	</target>
+	
+	<target name="eclipse-test" description="Runs the specified classname as a plug-in test.">		
+		<property name="vmargs" value="-Xms256m -Xmx512m"/>
+		
+		<!--use -consolelog if launching a headless test-->
+		<condition property="consolelog" value="-consolelog">
+			<equals arg1="${application}" arg2="org.eclipse.test.coretestapplication"/>
+		</condition>
+		<property name="consolelog" value="" />
+
+		<!--
+			vm selection priority:
+			1.  user-specified java executable via outer Ant property setting of "jvm".
+			2.  java executable on path.
+		-->
+		<condition property="test-vm" value="-vm ${jvm}">
+			<isset property="jvm" />
+		</condition>
+		<property name="test-vm" value="" />
+		
+		<!--ensure executable has execute permission-->
+		<chmod file="${eclipse-home}/eclipse" perm="ugo+rx"/>
+		
+		
+		<echo message="Running ${classname}. Result file: ${junit-report-output}/${classname}.xml."/>
+
+		<exec executable="${eclipse-home}/eclipse" dir="${eclipse-home}" timeout="${timeout}" logError="true" failonerror="false" output="${junit-report-output}/${classname}.txt">
+			<arg line="-data ${data-dir}"/>
+			<arg line="${test-vm}"/>
+			<arg line="-application ${application}"/>
+			<arg line="formatter=${formatter},${test-output}"/>
+			<arg line="-testPluginName ${plugin-name}"/>
+			<arg line="-className ${classname}"/>
+			<arg line="-nosplash"/>
+			<arg line="--launcher.suppressErrors"/>
+			<arg line="${consolelog}"/>
+			<arg line="-vmargs ${vmargs} ${extraVMargs} -DPLUGIN_PATH=${plugin-path}"/>
+		</exec>
+		<antcall target="collect-results" />
+	</target>
+	
+	<target name="collect-results">
+		<dirname property="output-dir" file="${test-output}"/>
+		<basename property="output-file-name" file="${test-output}"/>
+		<junitreport todir="${junit-report-output}" tofile="${classname}.xml">
+			<fileset dir="${output-dir}">
+				<include name="${output-file-name}"/>
+			</fileset>
+		</junitreport>
+
+		<style style="${eclipse-home}/dropins/eclipse/plugins/org.eclipse.test/JUNIT.XSL"
+			basedir="${junit-report-output}"
+			includes="${classname}.result.xml"
+			destdir="${junit-report-output}" />
+
+		<!--save .log content and *.log content from configuration directory-->
+		<concat destfile="${junit-report-output}/${classname}.log">
+			<fileset dir="${eclipse-home}" includes="${data-dir}/.metadata/*.log"/>
+			<fileset dir="${eclipse-home}" includes="configuration/*.log"/>
+		</concat>
+	</target>
+
+	<target name="collect">
+		<!--
+			This target can be used to aggragate test runs from multiple test suites into a single report.
+		
+			Parameters to this target:
+			includes		- the names of the files to include
+			output-file		- the name of the output file to produce
+		-->
+		<junitreport todir="." tofile="${output-file}">
+			<fileset dir=".">
+				<include name="${includes}"/>
+			</fileset>
+		</junitreport>
+	</target>
+
+</project>
+