add files for RCL_2_2
authorcawthron
Fri, 04 Dec 2009 11:50:11 -0600
changeset 637 0c11af94aac6
parent 636 3ef299ba838f
child 638 5cc0021d76eb
add files for RCL_2_2
carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/JUNIT.XSL
carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/META-INF/MANIFEST.MF
carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/about.html
carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/automated.jar
carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/library.xml
carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/plugin.properties
carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/plugin.xml
carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/testframework.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/JUNIT.XSL	Fri Dec 04 11:50:11 2009 -0600
@@ -0,0 +1,455 @@
+<xsl:stylesheet	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<xsl:output method="html" indent="yes"/>
+<xsl:decimal-format decimal-separator="." grouping-separator="," />
+
+<xsl:template match="testsuites">
+	<HTML>
+		<HEAD>
+    <style type="text/css">
+      body {
+      	font:normal 68% verdana,arial,helvetica;
+      	color:#000000;
+      }
+      table tr td, table tr th {
+          font-size: 68%;
+      }
+      table.details tr th{
+      	font-weight: bold;
+      	text-align:left;
+      	background:#a6caf0;
+      }
+      table.details tr td{
+      	background:#eeeee0;
+      }
+      
+      p {
+      	line-height:1.5em;
+      	margin-top:0.5em; margin-bottom:1.0em;
+      }
+      h1 {
+      	margin: 0px 0px 5px; font: 165% verdana,arial,helvetica
+      }
+      h2 {
+      	margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica
+      }
+      h3 {
+      	margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica
+      }
+      h4 {
+      	margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
+      }
+      h5 {
+      	margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
+      }
+      h6 {
+      	margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica
+      }
+      .Error {
+      	font-weight:bold; color:red;
+      }
+      .Failure {
+      	font-weight:bold; color:purple;
+      }
+      .Properties {
+      	text-align:right;
+      }
+      </style>
+      <script language="JavaScript">
+        var TestCases = new Array();
+        var cur;
+        <xsl:for-each select="./testsuite">      
+            <xsl:apply-templates select="properties"/>
+        </xsl:for-each>
+
+       </script>
+       <script language="JavaScript"><![CDATA[
+        function displayProperties (name) {
+          var win = window.open('','JUnitSystemProperties','scrollbars=1,resizable=1');
+          var doc = win.document.open();
+          doc.write("<html><head><title>Properties of " + name + "</title>");
+          doc.write("<style>")
+          doc.write("body {font:normal 68% verdana,arial,helvetica;	color:#000000; }");
+          doc.write("table tr td, table tr th { font-size: 68%; }");
+          doc.write("table.properties { border-collapse:collapse; border-left:solid 1 #cccccc; border-top:solid 1 #cccccc; padding:5px; }");
+          doc.write("table.properties th { text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#eeeeee; }");
+          doc.write("table.properties td { font:normal; text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#fffffff; }");
+          doc.write("h3 { margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica }");
+          doc.write("</style>");
+          doc.write("</head><body>");
+          doc.write("<h3>Properties of " + name + "</h3>");
+          doc.write("<div align=\"right\"><a href=\"javascript:window.close();\">Close</a></div>");
+          doc.write("<table class='properties'>");
+          doc.write("<tr><th>Name</th><th>Value</th></tr>");
+          for (prop in TestCases[name]) {
+            doc.write("<tr><th>" + prop + "</th><td>" + TestCases[name][prop] + "</td></tr>");
+          }
+          doc.write("</table>");
+          doc.write("</body></html>");
+          doc.close();
+          win.focus();
+        }
+      ]]>  
+      </script>
+		</HEAD>
+		<body>
+			<a name="top"></a>
+			<xsl:call-template name="pageHeader"/>	
+			
+			<!-- Summary part -->
+			<xsl:call-template name="summary"/>
+			<hr size="1" width="95%" align="left"/>
+			
+			<!-- Package List part -->
+			<xsl:call-template name="packagelist"/>
+			<hr size="1" width="95%" align="left"/>
+			
+			<!-- For each package create its part -->
+			<xsl:call-template name="packages"/>
+			<hr size="1" width="95%" align="left"/>
+			
+			<!-- For each class create the  part -->
+			<xsl:call-template name="classes"/>
+			
+		</body>
+	</HTML>
+</xsl:template>
+	
+	
+	
+	<!-- ================================================================== -->
+	<!-- Write a list of all packages with an hyperlink to the anchor of    -->
+	<!-- of the package name.                                               -->
+	<!-- ================================================================== -->
+	<xsl:template name="packagelist">	
+		<h2>Packages</h2>
+		Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.
+		<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
+			<xsl:call-template name="testsuite.test.header"/>
+			<!-- list all packages recursively -->
+			<xsl:for-each select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
+				<xsl:sort select="@package"/>
+				<xsl:variable name="testsuites-in-package" select="/testsuites/testsuite[./@package = current()/@package]"/>
+				<xsl:variable name="testCount" select="sum($testsuites-in-package/@tests)"/>
+				<xsl:variable name="errorCount" select="sum($testsuites-in-package/@errors)"/>
+				<xsl:variable name="failureCount" select="sum($testsuites-in-package/@failures)"/>
+				<xsl:variable name="timeCount" select="sum($testsuites-in-package/@time)"/>
+				
+				<!-- write a summary for the package -->
+				<tr valign="top">
+					<!-- set a nice color depending if there is an error/failure -->
+					<xsl:attribute name="class">
+						<xsl:choose>
+							<xsl:when test="$failureCount &gt; 0">Failure</xsl:when>
+							<xsl:when test="$errorCount &gt; 0">Error</xsl:when>
+						</xsl:choose>
+					</xsl:attribute>
+					<td><a href="#{@package}"><xsl:value-of select="@package"/></a></td>
+					<td><xsl:value-of select="$testCount"/></td>
+					<td><xsl:value-of select="$errorCount"/></td>
+					<td><xsl:value-of select="$failureCount"/></td>
+					<td>
+					<xsl:call-template name="display-time">
+						<xsl:with-param name="value" select="$timeCount"/>
+					</xsl:call-template>
+					</td>
+				</tr>
+			</xsl:for-each>
+		</table>		
+	</xsl:template>
+	
+	
+	<!-- ================================================================== -->
+	<!-- Write a package level report                                       -->
+	<!-- It creates a table with values from the document:                  -->
+	<!-- Name | Tests | Errors | Failures | Time                            -->
+	<!-- ================================================================== -->
+	<xsl:template name="packages">
+		<!-- create an anchor to this package name -->
+		<xsl:for-each select="/testsuites/testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
+			<xsl:sort select="@package"/>
+				<a name="{@package}"></a>
+				<h3>Package <xsl:value-of select="@package"/></h3>
+				
+				<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
+					<xsl:call-template name="testsuite.test.header"/>
+			
+					<!-- match the testsuites of this package -->
+					<xsl:apply-templates select="/testsuites/testsuite[./@package = current()/@package]" mode="print.test"/>
+				</table>
+				<a href="#top">Back to top</a>
+				<p/>
+				<p/>
+		</xsl:for-each>
+	</xsl:template>
+	
+	<xsl:template name="classes">
+		<xsl:for-each select="testsuite">
+			<xsl:sort select="@name"/>
+			<!-- create an anchor to this class name -->
+			<a name="{@name}"></a>
+			<h3>TestCase <xsl:value-of select="@name"/></h3>
+			
+			<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
+			  <xsl:call-template name="testcase.test.header"/>
+			  <!--
+			  test can even not be started at all (failure to load the class)
+			  so report the error directly
+			  -->
+				<xsl:if test="./error">
+					<tr class="Error">
+						<td colspan="4"><xsl:apply-templates select="./error"/></td>
+					</tr>
+				</xsl:if>
+				<xsl:apply-templates select="./testcase" mode="print.test"/>
+			</table>
+            <div class="Properties">
+                <a>
+			        <xsl:attribute name="href">javascript:displayProperties('<xsl:value-of select="@package"/>.<xsl:value-of select="@name"/>');</xsl:attribute>
+			        Properties &gt;&gt;
+			    </a>
+            </div>
+			<p/>
+			
+			<a href="#top">Back to top</a>
+		</xsl:for-each>
+	</xsl:template>
+	
+	<xsl:template name="summary">
+		<h2>Summary</h2>
+		<xsl:variable name="testCount" select="sum(testsuite/@tests)"/>
+		<xsl:variable name="errorCount" select="sum(testsuite/@errors)"/>
+		<xsl:variable name="failureCount" select="sum(testsuite/@failures)"/>
+		<xsl:variable name="timeCount" select="sum(testsuite/@time)"/>
+		<xsl:variable name="successRate" select="($testCount - $failureCount - $errorCount) div $testCount"/>
+		<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
+		<tr valign="top">
+			<th>Tests</th>
+			<th>Failures</th>
+			<th>Errors</th>
+			<th>Success rate</th>
+			<th>Time</th>
+		</tr>
+		<tr valign="top">
+			<xsl:attribute name="class">
+				<xsl:choose>
+					<xsl:when test="$failureCount &gt; 0">Failure</xsl:when>
+					<xsl:when test="$errorCount &gt; 0">Error</xsl:when>
+				</xsl:choose>
+			</xsl:attribute>
+			<td><xsl:value-of select="$testCount"/></td>
+			<td><xsl:value-of select="$failureCount"/></td>
+			<td><xsl:value-of select="$errorCount"/></td>
+			<td>
+				<xsl:call-template name="display-percent">
+					<xsl:with-param name="value" select="$successRate"/>
+				</xsl:call-template>
+			</td>
+			<td>
+				<xsl:call-template name="display-time">
+					<xsl:with-param name="value" select="$timeCount"/>
+				</xsl:call-template>
+			</td>
+
+		</tr>
+		</table>
+		<table border="0" width="95%">
+		<tr>
+		<td	style="text-align: justify;">
+		Note: <i>failures</i> are anticipated and checked for with assertions while <i>errors</i> are unanticipated.
+		</td>
+		</tr>
+		</table>
+	</xsl:template>
+	
+  <!--
+   Write properties into a JavaScript data structure.
+   This is based on the original idea by Erik Hatcher (erik@hatcher.net)
+   -->
+  <xsl:template match="properties">
+    cur = TestCases['<xsl:value-of select="../@package"/>.<xsl:value-of select="../@name"/>'] = new Array();
+  	<xsl:for-each select="property">
+    <xsl:sort select="@name"/>
+        cur['<xsl:value-of select="@name"/>'] = '<xsl:call-template name="JS-escape"><xsl:with-param name="string" select="@value"/></xsl:call-template>';
+  	</xsl:for-each>
+  </xsl:template>
+	
+<!-- Page HEADER -->
+<xsl:template name="pageHeader">
+	<h1>Unit Test Results</h1>
+	<table width="100%">
+	<tr>
+		<td align="left"></td>
+		<td align="right">Designed for use with <a href='http://www.junit.org'>JUnit</a> and <a href='http://ant.apache.org'>Ant</a>.</td>
+	</tr>
+	</table>
+	<hr size="1"/>
+</xsl:template>
+
+<xsl:template match="testsuite" mode="header">
+	<tr valign="top">
+		<th width="80%">Name</th>
+		<th>Tests</th>
+		<th>Errors</th>
+		<th>Failures</th>
+		<th nowrap="nowrap">Time(s)</th>
+	</tr>
+</xsl:template>
+
+<!-- class header -->
+<xsl:template name="testsuite.test.header">
+	<tr valign="top">
+		<th width="80%">Name</th>
+		<th>Tests</th>
+		<th>Errors</th>
+		<th>Failures</th>
+		<th nowrap="nowrap">Time(s)</th>
+	</tr>
+</xsl:template>
+
+<!-- method header -->
+<xsl:template name="testcase.test.header">
+	<tr valign="top">
+		<th>Name</th>
+		<th>Status</th>
+		<th width="80%">Type</th>
+		<th nowrap="nowrap">Time(s)</th>
+	</tr>
+</xsl:template>
+
+
+<!-- class information -->
+<xsl:template match="testsuite" mode="print.test">
+	<tr valign="top">
+		<!-- set a nice color depending if there is an error/failure -->
+		<xsl:attribute name="class">
+			<xsl:choose>
+				<xsl:when test="@failures[.&gt; 0]">Failure</xsl:when>
+				<xsl:when test="@errors[.&gt; 0]">Error</xsl:when>
+			</xsl:choose>
+		</xsl:attribute>
+	
+		<!-- print testsuite information -->
+		<td><a href="#{@name}"><xsl:value-of select="@name"/></a></td>
+		<td><xsl:value-of select="@tests"/></td>
+		<td><xsl:value-of select="@errors"/></td>
+		<td><xsl:value-of select="@failures"/></td>
+		<td>
+			<xsl:call-template name="display-time">
+				<xsl:with-param name="value" select="@time"/>
+			</xsl:call-template>
+		</td>
+	</tr>
+</xsl:template>
+
+<xsl:template match="testcase" mode="print.test">
+	<tr valign="top">
+		<xsl:attribute name="class">
+			<xsl:choose>
+				<xsl:when test="failure | error">Error</xsl:when>
+			</xsl:choose>
+		</xsl:attribute>
+		<td><xsl:value-of select="@name"/></td>
+		<xsl:choose>
+			<xsl:when test="failure">
+				<td>Failure</td>
+				<td><xsl:apply-templates select="failure"/></td>
+			</xsl:when>
+			<xsl:when test="error">
+				<td>Error</td>
+				<td><xsl:apply-templates select="error"/></td>
+			</xsl:when>
+			<xsl:otherwise>
+				<td>Success</td>
+				<td></td>
+			</xsl:otherwise>
+		</xsl:choose>
+		<td>
+			<xsl:call-template name="display-time">
+				<xsl:with-param name="value" select="@time"/>
+			</xsl:call-template>
+		</td>
+	</tr>
+</xsl:template>
+
+
+<xsl:template match="failure">
+	<xsl:call-template name="display-failures"/>
+</xsl:template>
+
+<xsl:template match="error">
+	<xsl:call-template name="display-failures"/>
+</xsl:template>
+
+<!-- Style for the error and failure in the tescase template -->
+<xsl:template name="display-failures">
+	<xsl:choose>
+		<xsl:when test="not(@message)">N/A</xsl:when>
+		<xsl:otherwise>
+			<xsl:value-of select="@message"/>
+		</xsl:otherwise>
+	</xsl:choose>
+	<!-- display the stacktrace -->
+	<code>
+		<p/>
+		<xsl:call-template name="br-replace">
+			<xsl:with-param name="word" select="."/>
+		</xsl:call-template>
+	</code>
+	<!-- the later is better but might be problematic for non-21" monitors... -->
+	<!--pre><xsl:value-of select="."/></pre-->
+</xsl:template>
+
+<xsl:template name="JS-escape">
+	<xsl:param name="string"/>
+	<xsl:choose><!-- something isn't right here, basically all single quotes need to be replaced with backslash-single-quote
+		<xsl:when test="contains($string,'&apos;')">
+			<xsl:value-of select="substring-before($string,'&apos;')"/>
+			\&apos;
+			<xsl:call-template name="JS-escape">
+				<xsl:with-param name="string" select="substring-after($string,'&apos;')"/>
+			</xsl:call-template>
+		</xsl:when> -->
+		<xsl:when test="contains($string,'\')">
+			<xsl:value-of select="substring-before($string,'\')"/>\\<xsl:call-template name="JS-escape">
+				<xsl:with-param name="string" select="substring-after($string,'\')"/>
+			</xsl:call-template>
+		</xsl:when>
+		<xsl:otherwise>
+			<xsl:value-of select="$string"/>
+		</xsl:otherwise>
+	</xsl:choose>
+</xsl:template>
+
+
+<!--
+	template that will convert a carriage return into a br tag
+	@param word the text from which to convert CR to BR tag
+-->
+<xsl:template name="br-replace">
+	<xsl:param name="word"/>
+	<xsl:choose>
+		<xsl:when test="contains($word,'&#xA;')">
+			<xsl:value-of select="substring-before($word,'&#xA;')"/>
+			<br/>
+			<xsl:call-template name="br-replace">
+				<xsl:with-param name="word" select="substring-after($word,'&#xA;')"/>
+			</xsl:call-template>
+		</xsl:when>
+		<xsl:otherwise>
+			<xsl:value-of select="$word"/>
+		</xsl:otherwise>
+	</xsl:choose>
+</xsl:template>
+
+<xsl:template name="display-time">
+	<xsl:param name="value"/>
+	<xsl:value-of select="format-number($value,'0.000')"/>
+</xsl:template>
+
+<xsl:template name="display-percent">
+	<xsl:param name="value"/>
+	<xsl:value-of select="format-number($value,'0.00%')"/>
+</xsl:template>
+
+</xsl:stylesheet>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/META-INF/MANIFEST.MF	Fri Dec 04 11:50:11 2009 -0600
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Require-Bundle: org.apache.ant,org.junit,org.eclipse.ui,org.eclipse.co
+ re.runtime,org.eclipse.ui.ide.application,org.eclipse.equinox.app
+Bundle-Vendor: %providerName
+Eclipse-LazyStart: true
+Bundle-ClassPath: automated.jar
+Bundle-Version: 3.2.0
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.test; singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/about.html	Fri Dec 04 11:50:11 2009 -0600
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 2, 2006</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
Binary file carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/automated.jar has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/library.xml	Fri Dec 04 11:50:11 2009 -0600
@@ -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>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/plugin.properties	Fri Dec 04 11:50:11 2009 -0600
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2000, 2005 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     IBM Corporation - initial API and implementation
+###############################################################################
+pluginName = Eclipse Automated Testing
+providerName = Eclipse.org
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/plugin.xml	Fri Dec 04 11:50:11 2009 -0600
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+     <extension
+         id="coretestapplication"
+         point="org.eclipse.core.runtime.applications">
+      <application>
+         <run
+               class="org.eclipse.test.CoreTestApplication">
+         </run>
+      </application>
+   </extension>
+   <extension
+         id="uitestapplication"
+         point="org.eclipse.core.runtime.applications">
+      <application>
+         <run
+               class="org.eclipse.test.UITestApplication">
+            <parameter
+                  name="productInfo"
+                  value="product.ini">
+            </parameter>
+         </run>
+      </application>
+   </extension>
+
+</plugin>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/carbidecpp22devenv/plugins/org.eclipse.test_3.2.0/testframework.html	Fri Dec 04 11:50:11 2009 -0600
@@ -0,0 +1,277 @@
+<html>
+<head>
+<title>Eclipse Testing Instructions</title>
+</head>
+
+<body>
+<h1>The Eclipse Test Framework</h1><p>Last Modified: June 13, 2007</p><p><font size="+1"><br>
+  Introduction</font></p><p>The testing framework is comprised of the org.eclipse.test plugin and the org.eclipse.ant.optional.junit 
+  fragment. </p><p>These two projects are available from the dev.eclipse.org repository and are 
+  included in the 	eclipse-test-framework-&lt;buildId&gt;.zip from the eclipse.org 
+  downloads page.</p><p><font size="+1">Building and Installation</font></p><p>Since the org.eclipse.test plugin is stored in the repository in source-code 
+  form, it needs to be compiled before it can be used. The org.eclipse.ant.optional.junit 
+  fragment does not contain any source and can be used as is from the repository.</p><ol>
+  <li>Turn of automatic builds. Window->Preferences->Workbench and uncheck "Perform 
+    build automatically on resource modification"</li><li>Load org.eclipse.test into your workspace.</li><li>Right-click on the org.eclipse.test project in either the Navigator or Packages 
+    view. Select 'Rebuild Project' from the context menu. This will compile the 
+    entire org.eclipse.test plugin.</li><li>Finally, copy the org.eclipse.test plugin into your target Eclipse.</li>
+    <li>The org.eclipse.ant.optional.junit fragment only needs to be present in 
+    the environment of the Eclipse that is overseeing the test process. If you 
+    are running the test script from within the Workbench, this means that the 
+    fragments need to be present withinn your development Eclipse. If you are 
+    running the tests from the command line, then the fragments will need to be 
+    present in your target Eclipse.</li></ol>
+ <p><font size="+1">Setup</font></p>
+ <p>Follow the steps given above to build and install all of the neccessary plugins 
+  and fragments. Please note that the current version of the test framework is 
+  not compatible with the PDE notion of self-hosting. If you want to run the tests, 
+  you will need to setup a full target Eclipse so that the testing framework can 
+  detect everything that is needed.</p>
+<p>If you are writing tests for one or more Eclipse plugins, then you should
+create a separate plugin for tests. The test plugin will contain all of the
+tests that will be run on your development plugins, as well as defining how
+those tests get run.</p>
+
+<p>If you are not writing tests for an Eclipse plugin, then you should look into 
+  using JUnit on its own to test your work. JUnit is designed for testing Java 
+  code, and by default has no knowledge of Eclipse. There are separate mechanisms 
+  for using JUnit on Java code in Eclipse. See the documentation provided here:</p>
+<p> <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/jdt-ui-home/plugins/org.eclipse.jdt.junit/index.html">
+JUnit Support in Eclipse</a><br>
+  	<a href="http://dev.eclipse.org:8080/help/content/help:/org.eclipse.jdt.doc.user/tasks/tasks-207.htm?resultof=%6a%75%6e%69%74%20&toc=%2Forg.eclipse.jdt.doc.user%2Ftoc.xml">
+  	Using JUnit</a></p>
+  	
+  	<p>Once a test plugin has been created, you must then create an Ant script that 
+  will run all of the tests. Create a file called 'test.xml' in the root of your plug-in or bundle.
+  This is an Ant file that defines how each test is going to be run. The 'test.xml' 
+  file is like a DOS batch file that scripts the entire testing process. Typically, 
+  the 'test.xml' file will contain targets for setting up the test run, executing 
+  the tests, cleaning up afterwards, and running the entire process.</p>
+  
+  <p><font size="+1">Converting existing Test Suites</font></p>
+  
+  <p>If you are converting an existing set of tests to use the new framework, the
+actual tests that have been written should not need much change.</p>
+  <p>If you have tests in multiple plugins, move these to a single test plug-in for your component.</p>
+  
+  <p>Make sure that the tests are defined in a plug-in. This is probably the most 
+  common cause of confusion in the entire test process. Your tests need to be 
+  in a plug-in so that Eclipse can find them when it tries to load them.</p>
+  
+  <p><font size="+1">Creating new Test Suites</font></p>
+  
+  <p>Creating new JUnit tests for an Eclipse plugin should be no more difficult 
+  than writing standard JUnit tests. Since the framework allows tests to be run 
+  inside of a working Eclipse, any tests that you write have available to them 
+  any of the methods supplied by the Eclipse platform, provided that you add the 
+  appropriate dependencies to your tests' manifest.</p>
+  
+  <p><font size="+1">Performance Issues</font></p>
+  <p>You should keep in mind the number of times that Eclipse needs to be
+started. Launching Eclipse has a substantial cost in terms of runtime. To
+minimize the number of times the platform is started, you should consider
+writing a TestSuite called AllTests for each of your test plugins. AllTests
+should invoke each of the tests that you want to run for a particular plugin.
+The 'test.xml' file can then run the AllTests class, which will run all of your
+tests, but the platform will only ever be started once for each of your test
+plugins.</p><p>Note: Sometimes tests involve shutting down, restarting, and testing the state 
+  of metadata that was written to disk. These session tests will require Eclipse 
+  to be launched several times in sequence, which will increase the runtime of 
+  your tests. This cannot be avoided.</p><p>&nbsp;</p>
+  
+  <p><font size="+1">Running the Test Suite from the UI</font></p><p>Right click on the test.xml file and select 'Run Ant...' from the pull-down 
+  menu. The Running Ant dialog box pops up. From the list of targets, select the 
+  one that runs all of your tests. If you are using the example file provided 
+  below, this target is called 'Run', and will be selected by default. Hit the 
+  'Finish' button to start the test process.</p>
+  
+  <p><font size="+1">Running the Test Suite from the command line</font></p>
+  <p>When the test suites are invoked automatically, they are run from command
+line. From the ${eclipse-home} directory, the command to use is:</p>
+<code>java -jar plugins\org.eclipse.equinox.launcher_&lt;version&gt;.jar -application org.eclipse.ant.core.antRunner -buildfile ${test-plugin-path}\test.xml
+-Declipse-home=${eclipse-home} -Dos=&lt;operating system&gt; -Dws=&lt;windowing system&gt; -Darch=&lt;architecture&gt;</code>
+
+<p>Individual tests can also be invoked directly. From the ${eclipse-home}
+directory, use the command:</p><code>java -jar plugins\org.eclipse.equinox.launcher_&lt;version&gt;.jar
+ -application ${launcher} -os &lt;operating system&gt; -ws &lt;windowing system&gt; -arch &lt;architecture&gt; -dev bin -testpluginname ${plugin-name} 
+-classname ${test-classname} formattter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,&lt;path to output file with .xml extension&gt;</code> 
+<p>where ${launcher} is one of: <i>org.eclipse.test.uitestapplication</i> or <i>org.eclipse.test.coretestapplication</i> 
+  depending on whether or not you want to run your tests within an active Workbench.</p><p><font size="+1">Output</font></p><p>By default, output from each test run is logged as XML. For each test that 
+  is run, the output is logged into the file called ${classname}.xml. The individual 
+  XML files are located in the ${eclipse-home} directory. When the test run is 
+  finished, you can call the <b>&quot;collect&quot;</b> target in the library 
+  file, which will collect the XML into a single file. See below for an example 
+  of how to use this target correctly.</p>
+  
+<h3>Other issues</h3><h4>Headless Testing vs. UI testing</h4><p>Many plugin tests will not need the Workbench active in order to run. Indeed, 
+  only the minimum number of plugins needed to run the plugin being tested need 
+  to be present when testing in a target Eclipse. There are two different Ant 
+  targets provided for running Eclipse plugin tests. One target starts the entire 
+  Workbench. The other starts Eclipse with the minimum number of plugins needed. 
+  It is up to you to decide which target is most appropriate. For examples, look 
+  at the <b>&quot;ui-test&quot;</b> and <b>&quot;core-test&quot;</b> targets below.</p>
+  
+<h4>Disposing the Display</h4><p>Some low-level tests for the Eclipse platform take actions that are not
+normally possible inside of Eclipse. An example of this behaviour would be
+disposing the display. While this action can be performed while running the UI,
+it will also kill the UI for the copy of Eclipse that is running, and cause
+errors when the Workbench tries to shutdown. If you need to test disposing the
+display, or other similar actions, your tests should be running without a UI. </p>
+
+<h4>Tests that are not plugins</h4><p>It is very easy to forget to define your tests inside of a plugin. If your 
+  tests will not load properly, make sure that a plug-in manifest exists in your 
+  test project, and also that the plugin is being loaded by the platform. Make 
+  sure that all of the dependencies are satisfied for your test plugin.</p>
+  
+<p><font size="+1">Interface</font></p><p>The org.eclipse.test plugin defines many useful Ant tasks/targets to aid developers 
+  in writing their test.xml scripts. Currently, there is only Ant targets defined, 
+  which can be called using Ant's built-in &lt;ant&gt; task. To use these targets, 
+  add the following line to the top of your script, and reference the ${library-file} 
+  property when calling &lt;ant&gt;:</p><code>&lt;property name=&quot;library-file&quot;
+value=&quot;${eclipse-home}/fragments/org.eclipse.test/library.xml&quot;/&gt; </code>
+
+<p>The targets that are defined are: </p><ul>
+  <li><b>ui-test</b> - This target runs a JUnit test suite inside of an Eclipse 
+    Workbench. This target is mainly for testing plugins that use the Eclipse 
+    UI and JFace. The output of the test pass is automatically logged in an XML 
+    file called ${classname}.xml. It takes four arguments: </li><ul>
+  <li><i>data-dir</i> - The
+      data directory of the Eclipse that gets run</li><li><i>plugin-name</i> -
+      The name of the plugin that the test suite is defined in</li><li><i>classname</i> -
+      The name of the class that the test suite is defined in</li><li><i>vmargs</i> - An
+      optional argument string to pass to the VM running the tests</li></ul><p>For example, the following code will run the test
+org.eclipse.foo.bar.MyTest in the plugin org.eclipse.foo in a new Eclipse
+workbench. It passes the string &quot;-Dbaz=true&quot; to the VM. The Eclipse
+stores its metadata in the directory &quot;data-folder&quot;. 
+
+<code><pre>
+&lt;ant target=&quot;ui-test&quot; antfile=&quot;${library-file}&quot; dir=&quot;${eclipse-home}&quot;&gt;
+  &lt;property name=&quot;data-dir&quot; value=&quot;data-folder&quot;/&gt;
+  &lt;property name=&quot;plugin-name&quot; value=&quot;org.eclipse.foo&quot;/&gt;
+  &lt;property name=&quot;classname&quot; value=&quot;org.eclipse.foo.bar.MyTest&quot;/&gt;
+  &lt;property name=&quot;vmargs&quot; value=&quot;-Dbaz=true&quot;/&gt;
+&lt;/ant&gt;
+</pre></code>
+
+  <li><b>core-test</b> - This target runs a JUnit test suite inside of an IPlatformRunnable. 
+    This target is for testing plugins that use the Eclipse platform, but do not 
+    require a UI to be running. The output of the test pass is automatically logged 
+    in an XML file called ${classname}.xml. It takes four arguments: </li><ul>
+  <li><i>data-dir</i> - The
+      data directory of the Eclipse that gets run</li><li><i>plugin-name</i> -
+      The name of the plugin that the test suite is defined in</li><li><i>classname</i> -
+      The name of the class that the test suite is defined in</li><li><i>vmargs</i> - An
+      optional argument string to pass to the VM running the tests</li></ul><p>For example, the following code will run the test
+org.eclipse.foo.bar.MyTest in the plugin org.eclipse.foo in a headless Eclipse.
+It passes the string &quot;-Dbaz=true&quot; to the VM. The Eclipse stores its
+metadata in the directory &quot;data-folder&quot;.
+
+<code><pre>
+&lt;ant target=&quot;core-test&quot; antfile=&quot;${library-file}&quot; dir=&quot;${eclipse-home}&quot;&gt;
+  &lt;property name=&quot;data-dir&quot; value=&quot;data-folder&quot;/&gt;
+  &lt;property name=&quot;plugin-name&quot; value=&quot;org.eclipse.foo&quot;/&gt;
+  &lt;property name=&quot;classname&quot; value=&quot;org.eclipse.foo.bar.MyTest&quot;/&gt;
+  &lt;property name=&quot;vmargs&quot; value=&quot;-Dbaz=true&quot;/&gt;
+&lt;/ant&gt;
+</pre></code>
+
+ <li><b>collect</b> - This
+     target collects the XML files that are produced over the course of the
+     test script. It takes two arguments: </li><ul>
+  <li><i>includes</i> - A
+      pattern matching all XML files to be included in the test report. This
+      argument is typically &quot;org*.xml&quot;</li><li><i>output-file</i> -
+      The filename where the output of the test gets stored. For the automated
+      build process, this file should be ${pluginname}.xml, and be located in
+      the ECLIPSE_HOME directory.</li></ul><p>For example, the following code collects all of the files
+matching the pattern &quot;org*.xml&quot; in the directory ${eclipse-home},
+into the file named &quot;logfile.xml&quot;.
+
+<code><pre>
+&lt;ant target=&quot;collect&quot; antfile=&quot;${library-file}&quot; dir=&quot;${eclipse-home}&quot;&gt;
+  &lt;property name=&quot;includes&quot; value=&quot;org*.xml&quot;/&gt;
+  &lt;property name=&quot;output-file&quot; value=&quot;logfile.xml&quot;/&gt;
+&lt;/ant&gt;
+</pre></code>
+
+ 
+</ul><h2>Examples:</h2><p>Included is the 'test.xml' file from the org.eclipse.jdt.ui.tests.refactoring plugin. This
+file controls all of the automated testing that is done for the  org.eclipse.jdt.ui.tests.refactoring
+plugin. It can be run from inside of Eclipse or from the command line. It is
+intended to serve as a template file for testing any other plugin.</p><p>Notice that the structure of the file roughly mirrors that of a JUnit test.
+Targets are defined for setting up the tests, defining what needs to be done,
+cleaning up after the tests, and running everything in the right order.</p>
+<code><pre>
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+
+&lt;project name="testsuite" default="run" basedir="."&gt;
+	&lt;!-- The property ${eclipse-home} should be passed into this script --&gt;
+	&lt;!-- Set a meaningful default value for when it is not. --&gt;
+	&lt;property name="eclipse-home" value="${basedir}\..\.."/&gt;
+
+	&lt;!-- sets the properties eclipse-home, and library-file --&gt;
+	&lt;property name="plugin-name" value="org.eclipse.jdt.ui.tests.refactoring"/&gt;
+	&lt;property name="library-file"
+            value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/&gt;
+
+	&lt;!-- This target holds all initialization code that needs to be done for --&gt;
+	&lt;!-- all tests that are to be run. Initialization for individual tests --&gt;
+	&lt;!-- should be done within the body of the suite target. --&gt;
+	&lt;target name="init"&gt;
+		&lt;tstamp/&gt;
+		&lt;delete&gt;
+			&lt;fileset dir="${eclipse-home}" includes="org*.xml"/&gt;
+		&lt;/delete&gt;
+	&lt;/target&gt;
+
+	&lt;!-- This target defines the tests that need to be run. --&gt;
+	&lt;target name="suite"&gt;
+		&lt;property name="refactoring-folder" 
+              value="${eclipse-home}/refactoring_folder"/&gt;
+		&lt;delete dir="${refactoring-folder}" quiet="true"/&gt;
+		&lt;ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}"&gt;
+			&lt;property name="data-dir" value="${refactoring-folder}"/&gt;
+			&lt;property name="plugin-name" value="${plugin-name}"/&gt;
+			&lt;property name="classname" 
+                value="org.eclipse.jdt.ui.tests.refactoring.all.AllAllRefactoringTests"/&gt;
+		&lt;/ant&gt;
+	&lt;/target&gt;
+	
+	&lt;!-- This target holds code to cleanup the testing environment after --&gt;
+	&lt;!-- after all of the tests have been run. You can use this target to --&gt;
+	&lt;!-- delete temporary files that have been created. --&gt;
+	&lt;target name="cleanup"&gt;
+	&lt;/target&gt;
+
+	&lt;!-- This target runs the test suite. Any actions that need to happen --&gt;
+	&lt;!-- after all the tests have been run should go here. --&gt;
+	&lt;target name="run" depends="init,suite,cleanup"&gt;
+		&lt;ant target="collect" antfile="${library-file}" dir="${eclipse-home}"&gt;
+			&lt;property name="includes" value="org*.xml"/&gt;
+			&lt;property name="output-file" value="${plugin-name}.xml"/&gt;
+		&lt;/ant&gt;
+	&lt;/target&gt;
+	&lt;/project&gt;
+</pre></code>
+
+<h2>Known Issues:</h2><h4>Problem 1: Issues with Ant 1.3</h4><p>Ant 1.3 has some issues when used with the &lt;style&gt; tag and absolute
+paths. Also, any tests that use the <code>System.exit()</code> call will not
+log their output properly when using Ant 1.3.</p><h4>Problem 2: ECLIPSE_HOME</h4><p>The test suites need to know where the root of the eclipse install is on the
+file system (the ECLIPSE_HOME variable). However, this variable is only defined
+in JDT. The ${eclipse-home} property can be set to a reasonable default inside
+of the test.xml script. Then tests can be run from the standard Ant window,
+without having to specify -Declipse-home=%ECLIPSE_HOME%. If a value for
+${eclipse-home} does get passed in, the default (specified in test.xml) gets
+overridden. The parameter is passed in by the build mechanism. For most cases,
+the value &quot;${basedir}/../..&quot; is a reasonable default.</p><h4>Problem 3: Ugly reference to library.xml</h4><p>org.eclipse.test should provide Ant tasks, not template scripts.</p><h4>Problem 4: No console output</h4><p>When you run a TestSuite using the standard JUnit, it normally outputs a
+series of dots to the console so that you can track the TestSuite's progress.
+It is not possible to add this feature to the automated testing process at this
+point in time.</p><h4>Problem 5: Ant java task on Linux</h4><p>Ant expects there to be a java executable on the system path. Furthermore, the executable
+must be a real file, not a symbolic link. If the test framework is throwing an exception
+<code>java.io.IOException: java: not found</code>, ensure that the java executable is on
+your system path.</p><h4>Problem 6: PDE</h4><p>The testing framework currently has no knowledge of PDE. In order to run the automated
+you must be running a self hosting environment with a full development and target Eclipse.</p>
+
+</body>
+
+</html>