Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

transform opencover xml output to ncover xml

I need the ability to import opencover coverage results in to Jenkins to pull coverage trending data over time. It appears that the best way to do this is going to be finding a way to convert the opencover xml format to ncover format, and then use the NCover plugin to import the results. Is there an existing xslt that will transform opencover to ncover, or an open source tool that will do the conversion? I've searched, and I'm finding nothing.

thanks

like image 351
user561818 Avatar asked Nov 21 '25 19:11

user561818


1 Answers

The following XSLT is available on the OpenCover wiki which might get you started.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml" indent="yes" standalone="yes"/>
  <xsl:template match="/CoverageSession/Modules">
    <coverage>
      <xsl:for-each select="Module[not(@skippedDueTo)]">
        <module name="{ModuleName}">
          <xsl:for-each select="Classes/Class">
            <xsl:if test="count(Methods/Method) &gt; 0">
              <class name="{FullName}">
                <xsl:variable name="className" select="FullName" />  
                <xsl:for-each select="Methods/Method">
                  <method class="{$className}">
                    <xsl:for-each select="SequencePoints/SequencePoint">
                      <seqpnt visitcount="{@vc}" />
                    </xsl:for-each>
                  </method>
                </xsl:for-each>
              </class>
            </xsl:if>
          </xsl:for-each>
        </module>
      </xsl:for-each>
    </coverage>
  </xsl:template>
</xsl:stylesheet>
like image 80
Shaun Wilde Avatar answered Nov 23 '25 23:11

Shaun Wilde



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!