1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
<?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" />
<xsl:param name="suitename" />
<xsl:variable name="cunitCount" select="count(//CUNIT_RUN_TEST_RECORD)"/>
<xsl:variable name="cunitFailureCount" select="count(//CUNIT_RUN_TEST_FAILURE)"/>
<xsl:template match="/">
<testsuites>
<xsl:attribute name="errors">0</xsl:attribute>
<xsl:attribute name="failures">
<xsl:value-of select="$cunitFailureCount"/>
</xsl:attribute>
<xsl:attribute name="tests">
<xsl:value-of select="$cunitCount"/>
</xsl:attribute>
<xsl:attribute name="name">
<xsl:value-of select="$suitename" />
</xsl:attribute>
<xsl:apply-templates />
</testsuites>
</xsl:template>
<xsl:template match="/CUNIT_TEST_RUN_REPORT/CUNIT_RESULT_LISTING">
<xsl:for-each select="CUNIT_RUN_SUITE/CUNIT_RUN_SUITE_SUCCESS">
<xsl:variable name="localCunitFailureCount" select="count(CUNIT_RUN_TEST_RECORD/CUNIT_RUN_TEST_FAILURE)"/>
<xsl:variable name="localCunitCount" select="count(CUNIT_RUN_TEST_RECORD)"/>
<xsl:variable name="sn" select="normalize-space(SUITE_NAME/text())"/>
<testsuite>
<xsl:attribute name="errors">0</xsl:attribute>
<xsl:attribute name="failures">
<xsl:value-of select="$localCunitFailureCount"/>
</xsl:attribute>
<xsl:attribute name="tests">
<xsl:value-of select="$localCunitCount"/>
</xsl:attribute>
<xsl:attribute name="name">
<xsl:value-of select="$sn"/>
</xsl:attribute>
<xsl:apply-templates select="CUNIT_RUN_TEST_RECORD" />
</testsuite>
</xsl:for-each>
</xsl:template>
<xsl:template match="CUNIT_RUN_TEST_RECORD">
<xsl:apply-templates select="CUNIT_RUN_TEST_SUCCESS" />
<xsl:apply-templates select="CUNIT_RUN_TEST_FAILURE" />
</xsl:template>
<xsl:template match="CUNIT_RUN_TEST_SUCCESS">
<testcase>
<!--xsl:attribute name="classname">
<xsl:value-of select="substring-before(substring-after(TEST_NAME,'test_'),'_')" />
</xsl:attribute-->
<xsl:attribute name="name">
<xsl:value-of select="normalize-space(TEST_NAME)" />
</xsl:attribute>
<xsl:attribute name="time">0</xsl:attribute>
</testcase>
</xsl:template>
<xsl:template match="CUNIT_RUN_TEST_FAILURE">
<testcase>
<!--xsl:attribute name="classname">
<xsl:value-of select="substring-before(substring-after(TEST_NAME,'test_'),'_')" />
</xsl:attribute-->
<xsl:attribute name="name">
<xsl:value-of select="normalize-space(TEST_NAME)" />
</xsl:attribute>
<xsl:attribute name="time">0</xsl:attribute>
<failure>
<xsl:attribute name="message">
<xsl:value-of select=" normalize-space(CONDITION)" />
</xsl:attribute>
<xsl:attribute name="type">Failure</xsl:attribute>
<xsl:value-of select="normalize-space(CONDITION)" />
File: <xsl:value-of select="normalize-space(FILE_NAME)" />
Line: <xsl:value-of select="normalize-space(LINE_NUMBER)" />
</failure>
</testcase>
</xsl:template>
<xsl:template match="text()|@*" />
</xsl:stylesheet>
|