blob: 71e7e115efe6a57092f2156866fcd39be8d81276 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" encoding="utf-8" version="1.0" cdata-section-elements="failure" />
<xsl:template match="test-results/test-suite">
<xsl:variable name="testcases" select="//test-suite[./results/test-case]"/>
<xsl:variable name="asmClass">
<xsl:choose>
<xsl:when test="$testcases"><xsl:value-of select="$testcases[1]/../../@name"/></xsl:when>
<xsl:otherwise><xsl:value-of select="@name"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<testsuite name="NUnitTests" time="{@time}" tests="{count($testcases//test-case)}"
errors="" failures="{count($testcases//test-case/failure)}">
<xsl:for-each select="$testcases">
<xsl:variable name="suite" select="."/>
<xsl:variable name="generalfailure" select="./failure"/>
<xsl:for-each select=".//test-case">
<xsl:variable name="tempBefore" select="concat(concat(substring-before(./@name, $asmClass), $asmClass),'.')" />
<xsl:variable name="tempAfter" select="substring-after(./@name, $tempBefore)" />
<testcase classname="{concat($tempBefore, substring-before($tempAfter, '.'))}"
name="{substring-after($tempAfter, '.')}" time="{./@time}">
<xsl:if test="./failure">
<xsl:variable name="failstack" select="count(./failure/stack-trace/*) + count(./failure/stack-trace/text())"/>
<failure>
<xsl:choose>
<xsl:when test="$failstack &gt; 0 or not($generalfailure)">
MESSAGE: <xsl:value-of select="./failure/message"/>
+++++++++++++++++++
STACK TRACE: <xsl:value-of select="./failure/stack-trace"/>
</xsl:when>
<xsl:otherwise>
MESSAGE: <xsl:value-of select="$generalfailure/message"/>
+++++++++++++++++++
STACK TRACE: <xsl:value-of select="$generalfailure/stack-trace"/>
</xsl:otherwise>
</xsl:choose>
</failure>
</xsl:if>
</testcase>
</xsl:for-each>
</xsl:for-each>
</testsuite>
</xsl:template>
</xsl:stylesheet>