Blob Blame Raw
### Eclipse Workspace Patch 1.0
#P org.eclipse.test
Index: library.xml
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.test/library.xml,v
retrieving revision 1.33
diff -u -r1.33 library.xml
--- library.xml	13 Mar 2008 14:00:36 -0000	1.33
+++ library.xml	5 Dec 2008 01:39:01 -0000
@@ -6,13 +6,13 @@
 	</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.
@@ -22,7 +22,7 @@
 				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>
@@ -33,25 +33,27 @@
 		<!--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="tmpresults" value="${eclipse-home}/tmpresults/" />
+		<property name="testhome" value="${eclipse-home}/testhome" />
 		<property name="timeout" value="7200000" />
-		<property name="test-output" value="${eclipse-home}/${classname}.xml" />
+		<property name="test-output" value="${tmpresults}/${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"/>
@@ -60,13 +62,17 @@
 
 	<target name="java-test">
 		<!--default vm args-->
-		<property name="vmargs" value=" -Xms40m -Xmx256m"/>
-	  	
+		<property name="vmargs" value=" -Xms256m -Xmx1024m -XX:MaxPermSize=512m"/>
+		<delete failonerror="false" includeEmptyDirs="true">
+		  <fileset dir="${testhome}" includes="**/*"/>
+		</delete>
+		<mkdir dir="${testhome}"/>
+
 	  	<!--set default jvm to use for testing-->
-	   	<property name="jvm" value="${java.home}/bin/java" />  	
-	
+	   	<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>
@@ -75,7 +81,7 @@
 	          	</fileset>
 	        </classpath>
 		    <arg line="-application ${application}"/>
-		    <arg line="-data ${data-dir}"/>
+		    <arg line="-data ${test-data-dir}"/>
 		    <arg line="formatter=${formatter},${test-output}"/>
 		    <arg line="-testPluginName ${plugin-name}"/>
 		    <arg line="-className ${classname}"/>
@@ -83,15 +89,30 @@
 		    <arg line="-ws ${ws}"/>
 		    <arg line="-arch ${arch}"/>
 		    <arg line="-consolelog"/>
+			<arg line="-clean"/>
+			<arg line="-Dswt.library.path=/usr/lib/eclipse"/>
+			<arg line="-Dsetup.override.vmArgs=Xms256m;Xmx1024m;XX:MaxPermSize=512m"/>
+			<arg line="-Dsetup.override.systemProperties=PLUGIN_PATH=${plugin-path};user.home=${testhome}"/>
 		    <jvmarg line="${vmargs} ${extraVMargs}"/>
-		    <sysproperty key="PLUGIN_PATH" value="${plugin-path}"/> 
+		    <sysproperty key="PLUGIN_PATH" value="${plugin-path}"/>
+			<sysproperty key="user.home" value="${testhome}"/>
+			<sysproperty key="swt.library.path" value="/usr/lib/eclipse"/>
+			<sysproperty key="setup.override.vmArgs" value="Xms256m;Xmx1024m;XX:MaxPermSize=512m"/>
+			<sysproperty key="setup.override.systemProperties" value="PLUGIN_PATH=${plugin-path};user.home=${testhome}"/>
+			<sysproperty key="sdk.tests.data.dir" value="${data-dir}"/>
+			<sysproperty key="osgi.configuration.area" value="${data-dir}"/>
 		</java>
 		<antcall target="collect-results" />
 	</target>
-	
-	<target name="eclipse-test" description="Runs the specified classname as a plug-in test.">		
+
+	<target name="eclipse-test" description="Runs the specified classname as a plug-in test.">
 		<property name="vmargs" value="-Xms256m -Xmx512m"/>
-		
+
+		<delete failonerror="false" includeEmptyDirs="true">
+		  <fileset dir="${testhome}" includes="**/*"/>
+		</delete>
+		<mkdir dir="${testhome}"/>
+
 		<!--use -consolelog if launching a headless test-->
 		<condition property="consolelog" value="-consolelog">
 			<equals arg1="${application}" arg2="org.eclipse.test.coretestapplication"/>
@@ -107,11 +128,11 @@
 			<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">
@@ -125,10 +146,12 @@
 			<arg line="--launcher.suppressErrors"/>
 			<arg line="${consolelog}"/>
 			<arg line="-vmargs ${vmargs} ${extraVMargs} -DPLUGIN_PATH=${plugin-path}"/>
+			<arg line="-Duser.home=${testhome}"/>
+			<arg line="-Dsetup.override.systemProperties=PLUGIN_PATH=${plugin-path};user.home=${testhome}"/>
 		</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}"/>
@@ -138,7 +161,7 @@
 			</fileset>
 		</junitreport>
 
-		<style style="${eclipse-home}/dropins/eclipse/plugins/org.eclipse.test/JUNIT.XSL"
+		<style style="${eclipse-home}/dropins/sdk/plugins/org.eclipse.test/JUNIT.XSL"
 			basedir="${junit-report-output}"
 			includes="${classname}.result.xml"
 			destdir="${junit-report-output}" />
@@ -153,13 +176,13 @@
 	<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=".">
+		<junitreport todir="${results}" tofile="${output-file}">
+			<fileset dir="${tmpresults}">
 				<include name="${includes}"/>
 			</fileset>
 		</junitreport>