Skip to content

Commit

Permalink
Merge pull request #5 from skoon/master
Browse files Browse the repository at this point in the history
Xunit support for Giles
  • Loading branch information
codereflection committed May 24, 2011
2 parents ca3dc43 + 0057cbf commit ed63fc9
Show file tree
Hide file tree
Showing 45 changed files with 7,674 additions and 46 deletions.
29 changes: 29 additions & 0 deletions lib/xunit-1.8/EULA.txt
@@ -0,0 +1,29 @@
This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.

1. Definitions

The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law.

A "contribution" is the original software, or any additions or changes to the software.

A "contributor" is any person that distributes its contribution under this license.

"Licensed patents" are a contributor's patent claims that read directly on its contribution.

2. Grant of Rights

(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.

(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.

3. Conditions and Limitations

(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.

(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically.

(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.

(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.

(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.
128 changes: 128 additions & 0 deletions lib/xunit-1.8/HTML.xslt
@@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">]]></xsl:text>
<html>
<head>
<title>
xUnit.net Test Results - <xsl:value-of select="@name"/>
</title>
<style type="text/css">
body { font-family: Calibri, Verdana, Arial, sans-serif; background-color: White; color: Black; }
h2,h3,h4,h5 { margin: 0; padding: 0; }
h3 { font-weight: normal; }
h5 { font-weight: normal; font-style: italic; margin-bottom: 0.75em; }
pre { font-family: Consolas; font-size: 85%; margin: 0 0 0 1em; padding: 0; }
.divided { border-top: solid 1px #f0f5fa; padding-top: 0.5em; }
.row, .altrow { padding: 0.1em 0.3em; }
.row { background-color: #f0f5fa; }
.altrow { background-color: #e1ebf4; }
.success, .failure, .skipped { font-family: Arial Unicode MS; font-weight: normal; float: left; width: 1em; display: block; }
.success { color: #0c0; }
.failure { color: #c00; }
.skipped { color: #cc0; }
.timing { float: right; }
.indent { margin: 0.25em 0 0.5em 2em; }
.clickable { cursor: pointer; }
.testcount { font-size: 85%; }
</style>
<script language="javascript">
function ToggleClass(id) {
var elem = document.getElementById(id);
if (elem.style.display == "none") {
elem.style.display = "block";
}
else {
elem.style.display = "none";
}
}
</script>
</head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>

<xsl:template match="assemblies">
<xsl:apply-templates/>
</xsl:template>

<xsl:template match="assembly">
<h3 class="divided"><b>Results for <xsl:value-of select="@name"/></b></h3>
<div>
Tests run: <a href="#all"><b><xsl:value-of select="@total"/></b></a> &#160;
Failures: <a href="#failures"><b><xsl:value-of select="@failed"/></b></a>,
Skipped: <a href="#skipped"><b><xsl:value-of select="@skipped"/></b></a>,
Run time: <b><xsl:value-of select="@time"/>s</b>
</div>
<xsl:if test="class/test[@result='Fail']">
<br />
<h2><a name="failures"></a>Failed tests</h2>
<xsl:apply-templates select="class/test[@result='Fail']"><xsl:sort select="@name"/></xsl:apply-templates>
</xsl:if>
<xsl:if test="class/failure">
<br />
<h2><a name="failures"></a>Failed fixtures</h2>
<xsl:apply-templates select="class/failure"><xsl:sort select="../@name"/></xsl:apply-templates>
</xsl:if>
<xsl:if test="@skipped > 0">
<br />
<h2><a name="skipped"></a>Skipped tests</h2>
<xsl:apply-templates select="class/test[@result='Skip']"><xsl:sort select="@name"/></xsl:apply-templates>
</xsl:if>
<br />
<h2><a name="all"></a>All tests</h2>
<h5>Click test class name to expand/collapse test details</h5>
<xsl:apply-templates select="class"><xsl:sort select="@name"/></xsl:apply-templates>
<br /><h5>Results generated <xsl:value-of select="@run-date"/> at <xsl:value-of select="@run-time"/></h5>
</xsl:template>

<xsl:template match="test">
<div>
<xsl:attribute name="class"><xsl:if test="(position() mod 2 = 0)">alt</xsl:if>row</xsl:attribute>
<xsl:if test="@result!='Skip'"><span class="timing"><xsl:value-of select="@time"/>s</span></xsl:if>
<xsl:if test="@result='Skip'"><span class="timing">Skipped</span><span class="skipped">&#x2762;</span></xsl:if>
<xsl:if test="@result='Fail'"><span class="failure">&#x2718;</span></xsl:if>
<xsl:if test="@result='Pass'"><span class="success">&#x2714;</span></xsl:if>
&#160;<xsl:value-of select="@name"/>
<xsl:if test="child::node()/message"> : <xsl:value-of select="child::node()/message"/></xsl:if>
<br clear="all" />
<xsl:if test="failure/stack-trace">
<pre><xsl:value-of select="failure/stack-trace"/></pre>
</xsl:if>
<xsl:if test="output">
<h4>Output</h4>
<pre><xsl:value-of select="output"/></pre>
</xsl:if>
</div>
</xsl:template>

<xsl:template match="failure">
<span class="failure">&#x2718;</span> <xsl:value-of select="../@name"/> : <xsl:value-of select="message"/><br clear="all"/>
Stack Trace:<br />
<pre><xsl:value-of select="stack-trace"/></pre>
</xsl:template>

<xsl:template match="class">
<h3>
<span class="timing"><xsl:value-of select="@time"/>s</span>
<span class="clickable">
<xsl:attribute name="onclick">ToggleClass('class<xsl:value-of select="position()"/>')</xsl:attribute>
<xsl:attribute name="ondblclick">ToggleClass('class<xsl:value-of select="position()"/>')</xsl:attribute>
<xsl:if test="@failed > 0"><span class="failure">&#x2718;</span></xsl:if>
<xsl:if test="@failed = 0"><span class="success">&#x2714;</span></xsl:if>
&#160;<xsl:value-of select="@name"/>
&#160;<span class="testcount">(<xsl:value-of select="@total"/>&#160;test<xsl:if test="@total > 1">s</xsl:if>)</span>
</span>
<br clear="all" />
</h3>
<div class="indent">
<xsl:if test="@failed = 0"><xsl:attribute name="style">display: none;</xsl:attribute></xsl:if>
<xsl:attribute name="id">class<xsl:value-of select="position()"/></xsl:attribute>
<xsl:apply-templates select="test"><xsl:sort select="@name"/></xsl:apply-templates>
</div>
</xsl:template>

</xsl:stylesheet>
121 changes: 121 additions & 0 deletions lib/xunit-1.8/NUnitXml.xslt
@@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output cdata-section-elements="message stack-trace"/>

<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>

<xsl:template match="assembly">
<test-results>
<xsl:attribute name="name">
<xsl:value-of select="@name"/>
</xsl:attribute>
<xsl:attribute name="date">
<xsl:value-of select="@run-date"/>
</xsl:attribute>
<xsl:attribute name="time">
<xsl:value-of select="@run-time"/>
</xsl:attribute>
<xsl:attribute name="total">
<xsl:value-of select="@total"/>
</xsl:attribute>
<xsl:attribute name="failures">
<xsl:value-of select="@failed"/>
</xsl:attribute>
<xsl:attribute name="not-run">
<xsl:value-of select="@skipped"/>
</xsl:attribute>
<test-suite>
<xsl:attribute name="name">
<xsl:value-of select="@name"/>
</xsl:attribute>
<xsl:attribute name="success">
<xsl:if test="@failed > 0">False</xsl:if>
<xsl:if test="@failed = 0">True</xsl:if>
</xsl:attribute>
<xsl:attribute name="time">
<xsl:value-of select="@time"/>
</xsl:attribute>
<results>
<xsl:apply-templates select="class"/>
</results>
</test-suite>
</test-results>
</xsl:template>

<xsl:template match="class">
<test-suite>
<xsl:attribute name="name">
<xsl:value-of select="@name"/>
</xsl:attribute>
<xsl:attribute name="success">
<xsl:if test="@failed > 0">False</xsl:if>
<xsl:if test="@failed = 0">True</xsl:if>
</xsl:attribute>
<xsl:attribute name="time">
<xsl:value-of select="@time"/>
</xsl:attribute>
<xsl:if test="failure">
<xsl:copy-of select="failure"/>
</xsl:if>
<xsl:if test="reason">
<reason>
<xsl:apply-templates select="reason"/>
</reason>
</xsl:if>
<results>
<xsl:apply-templates select="test"/>
</results>
</test-suite>
</xsl:template>

<xsl:template match="test">
<test-case>
<xsl:attribute name="name">
<xsl:value-of select="@name"/>
</xsl:attribute>
<xsl:attribute name="executed">
<xsl:if test="@result='Skip'">False</xsl:if>
<xsl:if test="@result!='Skip'">True</xsl:if>
</xsl:attribute>
<xsl:if test="@result!='Skip'">
<xsl:attribute name="success">
<xsl:if test="@result='Fail'">False</xsl:if>
<xsl:if test="@result='Pass'">True</xsl:if>
</xsl:attribute>
</xsl:if>
<xsl:if test="@time">
<xsl:attribute name="time">
<xsl:value-of select="@time"/>
</xsl:attribute>
</xsl:if>
<xsl:apply-templates select="traits"/>
<xsl:apply-templates select="failure"/>
</test-case>
</xsl:template>

<xsl:template match="traits">
<properties>
<xsl:apply-templates select="trait"/>
</properties>
</xsl:template>

<xsl:template match="trait">
<property>
<xsl:attribute name="name">
<xsl:value-of select="@name"/>
</xsl:attribute>
<xsl:attribute name="value">
<xsl:value-of select="@value"/>
</xsl:attribute>
</property>
</xsl:template>

<xsl:template match="failure">
<failure>
<xsl:copy-of select="node()"/>
</failure>
</xsl:template>

</xsl:stylesheet>
Binary file added lib/xunit-1.8/xunit.console.clr4.exe
Binary file not shown.
21 changes: 21 additions & 0 deletions lib/xunit-1.8/xunit.console.clr4.exe.config
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<configSections>
<section name="xunit" type="Xunit.ConsoleClient.XunitConsoleConfigurationSection, xunit.console.clr4"/>
</configSections>

<xunit>
<transforms>
<add
commandline="html"
xslfile="HTML.xslt"
description="output results to HTML file"/>
<add
commandline="nunit"
xslfile="NUnitXml.xslt"
description="output results to NUnit-style XML file"/>
</transforms>
</xunit>

</configuration>
Binary file added lib/xunit-1.8/xunit.console.clr4.x86.exe
Binary file not shown.
21 changes: 21 additions & 0 deletions lib/xunit-1.8/xunit.console.clr4.x86.exe.config
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<configSections>
<section name="xunit" type="Xunit.ConsoleClient.XunitConsoleConfigurationSection, xunit.console.clr4.x86"/>
</configSections>

<xunit>
<transforms>
<add
commandline="html"
xslfile="HTML.xslt"
description="output results to HTML file"/>
<add
commandline="nunit"
xslfile="NUnitXml.xslt"
description="output results to NUnit-style XML file"/>
</transforms>
</xunit>

</configuration>
Binary file added lib/xunit-1.8/xunit.console.exe
Binary file not shown.
21 changes: 21 additions & 0 deletions lib/xunit-1.8/xunit.console.exe.config
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<configSections>
<section name="xunit" type="Xunit.ConsoleClient.XunitConsoleConfigurationSection, xunit.console"/>
</configSections>

<xunit>
<transforms>
<add
commandline="html"
xslfile="HTML.xslt"
description="output results to HTML file"/>
<add
commandline="nunit"
xslfile="NUnitXml.xslt"
description="output results to NUnit-style XML file"/>
</transforms>
</xunit>

</configuration>
Binary file added lib/xunit-1.8/xunit.console.x86.exe
Binary file not shown.
21 changes: 21 additions & 0 deletions lib/xunit-1.8/xunit.console.x86.exe.config
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<configSections>
<section name="xunit" type="Xunit.ConsoleClient.XunitConsoleConfigurationSection, xunit.console.x86"/>
</configSections>

<xunit>
<transforms>
<add
commandline="html"
xslfile="HTML.xslt"
description="output results to HTML file"/>
<add
commandline="nunit"
xslfile="NUnitXml.xslt"
description="output results to NUnit-style XML file"/>
</transforms>
</xunit>

</configuration>
Binary file added lib/xunit-1.8/xunit.dll
Binary file not shown.
5 changes: 5 additions & 0 deletions lib/xunit-1.8/xunit.dll.tdnet
@@ -0,0 +1,5 @@
<TestRunner>
<FriendlyName>xUnit.net {0}.{1}.{2} build {3}</FriendlyName>
<AssemblyPath>xunit.runner.tdnet.dll</AssemblyPath>
<TypeName>Xunit.Runner.TdNet.TdNetRunner</TypeName>
</TestRunner>
Binary file added lib/xunit-1.8/xunit.extensions.dll
Binary file not shown.

0 comments on commit ed63fc9

Please sign in to comment.