XML_for_JUnit.xsl 1.5 KB

123456789101112131415161718192021222324252627282930313233
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet version="1.0" xmlns:src="http://check.sourceforge.net/ns" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
  3. <xsl:output indent="yes"/>
  4. <xsl:template match="/src:testsuites">
  5. <xsl:element name="testsuites">
  6. <xsl:apply-templates select="src:suite"/>
  7. </xsl:element>
  8. </xsl:template>
  9. <xsl:template match="src:suite">
  10. <xsl:element name="testsuite">
  11. <xsl:attribute name="failures"><xsl:value-of select="count(src:test[@result='failure'])"/></xsl:attribute>
  12. <xsl:attribute name="errors">0</xsl:attribute>
  13. <xsl:attribute name="tests"><xsl:value-of select="count(src:test)"/></xsl:attribute>
  14. <xsl:attribute name="name"><xsl:value-of select="src:title"/></xsl:attribute>
  15. <xsl:apply-templates select="src:test"/>
  16. </xsl:element>
  17. </xsl:template>
  18. <xsl:template match="src:test">
  19. <xsl:element name="testcase">
  20. <xsl:attribute name="name"><xsl:value-of select="src:id"/></xsl:attribute>
  21. <xsl:attribute name="time"><xsl:value-of select="src:duration"/></xsl:attribute>
  22. <xsl:if test="@result='failure'">
  23. <xsl:call-template name="failure"/>
  24. </xsl:if>
  25. </xsl:element>
  26. </xsl:template>
  27. <xsl:template name="failure">
  28. <xsl:element name="failure">
  29. <xsl:attribute name="message"><xsl:value-of select="src:message"/></xsl:attribute>
  30. <xsl:value-of select="src:path"/><xsl:text>/</xsl:text><xsl:value-of select="src:fn"/>
  31. </xsl:element>
  32. </xsl:template>
  33. </xsl:stylesheet>