Hi

just to be sure, can you check the dashboar.config
and see which xsl files are in

      <buildPlugins>
            <buildReportBuildPlugin>
                <xslFileNames>

around line 30

these files do the transformation of the dashboard

the file you mentioned is indeed the standard one

you can also check that the 2 unittests.xsl files are the same
the one in the dashboard\xsl folder
and the one in the server\xsl folder

if that is the case, I am a bit lost in why you're email is not showing it


with kind regards
Ruben Willems


2009/3/20 सिद्धार्थ <[email protected]>

>
> it uses the
>
> <file name="xsl\unittests.xsl"/>
>
> and the content of the xls file is
>
> =============
> <?xml version="1.0"?>
> <xsl:stylesheet
>    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0">
>
>    <xsl:output method="html"/>
>
>    <xsl:variable name="nunit2.result.list" select="//test-results"/>
>    <xsl:variable name="nunit2.suite.list"
> select="$nunit2.result.list//test-suite"/>
>    <xsl:variable name="nunit2.case.list" select="$nunit2.suite.list/
> results/test-case"/>
>    <xsl:variable name="nunit2.case.count" select="count
> ($nunit2.case.list)"/>
>    <xsl:variable name="nunit2.time" select="sum($nunit2.result.list/
> test-suite[position()=1]/@time)"/>
>    <xsl:variable name="nunit2.failure.list" select="$nunit2.case.list/
> failure"/>
>    <xsl:variable name="nunit2.failure.count" select="count
> ($nunit2.failure.list)"/>
>    <xsl:variable name="nunit2.notrun.list" select="$nunit2.case.list/
> reason"/>
>    <xsl:variable name="nunit2.notrun.count" select="count
> ($nunit2.notrun.list)"/>
>
>    <xsl:variable name="junit.suite.list" select="//testsuite"/>
>    <xsl:variable name="junit.case.list" select="$junit.suite.list/
> testcase"/>
>    <xsl:variable name="junit.case.count" select="count
> ($junit.case.list)"/>
>    <xsl:variable name="junit.time" select="sum($junit.case.list/
> @time)"/>
>    <xsl:variable name="junit.failure.list" select="$junit.case.list/
> failure"/>
>    <xsl:variable name="junit.failure.count" select="count
> ($junit.failure.list)"/>
>    <xsl:variable name="junit.error.list" select="$junit.case.list/
> error"/>
>    <xsl:variable name="junit.error.count" select="count
> ($junit.error.list)"/>
>
>    <xsl:variable name="total.time" select="$nunit2.time +
> $junit.time"/>
>    <xsl:variable name="total.notrun.count"
> select="$nunit2.notrun.count"/>
>    <xsl:variable name="total.run.count" select="$nunit2.case.count +
> $junit.case.count - $total.notrun.count"/>
>    <xsl:variable name="total.failure.count"
> select="$nunit2.failure.count + $junit.failure.count +
> $junit.error.count"/>
>
>    <xsl:template match="/">
>        <table class="section-table" cellpadding="2" cellspacing="0"
> border="0" width="98%">
>
>            <!-- Unit Tests -->
>            <tr>
>                <td class="sectionheader" colspan="2">
>                   Tests run: <xsl:value-of select="$total.run.count"/
> >, Failures: <xsl:value-of select="$total.failure.count"/>, Not run:
> <xsl:value-of select="$total.notrun.count"/>, Time: <xsl:value-of
> select="$total.time"/> seconds
>                </td>
>            </tr>
>
>            <xsl:choose>
>                <xsl:when test="$total.run.count = 0">
>                    <tr><td colspan="2" class="section-data">No Tests
> Run</td></tr>
>                    <tr><td colspan="2" class="section-error">This
> project doesn't have any tests</td></tr>
>                </xsl:when>
>
>                <xsl:when test="$total.failure.count = 0">
>                    <tr><td colspan="2" class="section-data">All Tests
> Passed</td></tr>
>                </xsl:when>
>            </xsl:choose>
>
>            <xsl:apply-templates select="$junit.error.list"/>
>            <xsl:apply-templates select="$junit.failure.list |
> $nunit2.failure.list"/>
>            <xsl:apply-templates select="$nunit2.notrun.list"/>
>
>            <tr><td colspan="2"> </td></tr>
>
>            <xsl:if test="$total.failure.count > 0">
>                <tr>
>                    <td class="sectionheader" colspan="2">
>                        Unit Test Failure and Error Details
> (<xsl:value-of select="$total.failure.count"/>)
>                    </td>
>                </tr>
>
>                <xsl:call-template name="junittestdetail">
>                    <xsl:with-param name="detailnodes" select="//
> testsuite/testcase[.//error]"/>
>                </xsl:call-template>
>
>                <xsl:call-template name="junittestdetail">
>                    <xsl:with-param name="detailnodes" select="//
> testsuite/testcase[.//failure]"/>
>                </xsl:call-template>
>
>                <xsl:call-template name="nunit2testdetail">
>                    <xsl:with-param name="detailnodes" select="//test-
> suite/results/test-case[.//failure]"/>
>                </xsl:call-template>
>
>                <tr><td colspan="2"> </td></tr>
>            </xsl:if>
>
>            <xsl:if test="$nunit2.notrun.count > 0">
>                <tr>
>                    <td class="sectionheader" colspan="2">
>                        Warning Details (<xsl:value-of
> select="$nunit2.notrun.count"/>)
>                    </td>
>                </tr>
>                <xsl:call-template name="nunit2testdetail">
>                    <xsl:with-param name="detailnodes" select="//test-
> suite/results/test-case[.//reason]"/>
>                </xsl:call-template>
>                <tr><td colspan="2"> </td></tr>
>            </xsl:if>
>        </table>
>    </xsl:template>
>
>    <!-- Unit Test Errors -->
>    <xsl:template match="error">
>        <tr>
>            <xsl:if test="position() mod 2 = 0">
>                <xsl:attribute name="class">section-oddrow</
> xsl:attribute>
>            </xsl:if>
>            <td class="section-data">Error</td>
>            <td class="section-data"><xsl:value-of select="../@name"/
> ></td>
>        </tr>
>    </xsl:template>
>
>    <!-- Unit Test Failures -->
>    <xsl:template match="failure">
>        <tr>
>            <xsl:if test="($junit.error.count + position()) mod 2 =
> 0">
>                <xsl:attribute name="class">section-oddrow</
> xsl:attribute>
>            </xsl:if>
>            <td class="section-data">Failure</td>
>            <td class="section-data"><xsl:value-of select="../@name"/
> ></td>
>        </tr>
>    </xsl:template>
>
>    <!-- Unit Test Warnings -->
>    <xsl:template match="reason">
>        <tr>
>            <xsl:if test="($total.failure.count + position()) mod 2 =
> 0">
>                <xsl:attribute name="class">section-oddrow</
> xsl:attribute>
>            </xsl:if>
>            <td class="section-data">Warning</td>
>            <td class="section-data"><xsl:value-of select="../@name"/
> ></td>
>        </tr>
>    </xsl:template>
>
>    <!-- JUnit Test Errors And Failures Detail Template -->
>    <xsl:template name="junittestdetail">
>      <xsl:param name="detailnodes"/>
>
>      <xsl:for-each select="$detailnodes">
>
>        <tr><td class="section-data">Test:</td><td class="section-
> data"><xsl:value-of select="@name"/></td></tr>
>
>        <xsl:if test="error">
>        <tr><td class="section-data">Type:</td><td class="section-
> data">Error</td></tr>
>        <tr><td class="section-data">Message:</td><td class="section-
> data"><xsl:value-of select="error/@message"/></td></tr>
>        <tr>
>            <td></td>
>            <td class="section-error">
>                <pre><xsl:call-template name="br-replace">
>                        <xsl:with-param name="word" select="error"/>
>                    </xsl:call-template></pre>
>            </td>
>        </tr>
>        </xsl:if>
>
>        <xsl:if test="failure">
>        <tr><td class="section-data">Type:</td><td class="section-
> data">Failure</td></tr>
>        <tr><td class="section-data">Message:</td><td class="section-
> data"><xsl:value-of select="failure/@message"/></td></tr>
>        <tr>
>            <td></td>
>            <td class="section-error">
>                <pre><xsl:call-template name="br-replace">
>                        <xsl:with-param name="word" select="failure"/>
>                    </xsl:call-template></pre>
>            </td>
>        </tr>
>        </xsl:if>
>
>        <tr><td colspan="2"><hr size="1" width="100%" color="#888888"/
> ></td></tr>
>
>      </xsl:for-each>
>    </xsl:template>
>
>    <!-- NUnit Test Failures And Warnings Detail Template -->
>    <xsl:template name="nunit2testdetail">
>        <xsl:param name="detailnodes"/>
>
>        <xsl:for-each select="$detailnodes">
>
>            <xsl:if test="failure">
>            <tr><td class="section-data">Test:</td><td class="section-
> data"><xsl:value-of select="@name"/></td></tr>
>            <tr><td class="section-data">Type:</td><td class="section-
> data">Failure</td></tr>
>            <tr><td class="section-data">Message:</td><td
> class="section-data"><xsl:value-of select="failure//message"/></td></
> tr>
>            <tr>
>                <td></td>
>                <td class="section-error">
>                    <pre><xsl:value-of select="failure//stack-trace"/
> ></pre>
>                </td>
>            </tr>
>            </xsl:if>
>
>            <xsl:if test="reason">
>            <tr><td class="section-data">Test:</td><td class="section-
> data"><xsl:value-of select="@name"/></td></tr>
>            <tr><td class="section-data">Type:</td><td class="section-
> data">Warning</td></tr>
>            <tr><td class="section-data">Message:</td><td
> class="section-data"><xsl:value-of select="reason//message"/></td></
> tr>
>            </xsl:if>
>
>            <tr><td colspan="2"><hr size="1" width="100%"
> color="#888888"/></td></tr>
>
>        </xsl:for-each>
>    </xsl:template>
>
>    <xsl:template name="br-replace">
>        <xsl:param name="word"/>
>        <xsl:variable name="cr"><xsl:text>
>        <!-- </xsl:text> on next line on purpose to get newline -->
>        </xsl:text></xsl:variable>
>        <xsl:choose>
>            <xsl:when test="contains($word,$cr)">
>                <xsl:value-of select="substring-before($word,$cr)"/>
>                <br/>
>                <xsl:call-template name="br-replace">
>                    <xsl:with-param name="word" select="substring-after
> ($word,$cr)"/>
>                </xsl:call-template>
>            </xsl:when>
>            <xsl:otherwise>
>                <xsl:value-of select="$word"/>
>            </xsl:otherwise>
>        </xsl:choose>
>    </xsl:template>
>
> </xsl:stylesheet>
>
> =============\
>
> regards,
> sid
>
> On Mar 20, 12:33 pm, Ruben Willems <[email protected]> wrote:
> > Hi
> >
> > so no changes related to the nunit display?
> >
> > the email also uses xsl to generate the body of the mail.
> > These files are located in the xsl folder of the server (Program
> > Files\CruiseControl.NET\server)
> >
> > which files are used to create the body of the mail is set in the
> > ccnet.exe.config or ccnet.service.exe.config
> > around line 8
> >
> > check that these files produce the wanted result
> >
> > with kind regards
> > Ruben Willems
> >
> > 2009/3/20 सिद्धार्थ <[email protected]>
> >
> >
> >
> >
> >
> > > i have added a new xsl file in the xsl folder of the dashboard
> > > this is used to read the merged details.
> > > and i have added a new link in the dashboard.config file  to add a new
> > > report in the dashboard.that it
> > > other than that i have not changed anything
> >
> > > regards,
> > > sid
> >
> > > On Mar 20, 12:14 pm, Ruben Willems <[email protected]> wrote:
> > > > Hi
> >
> > > > did you change anything to the xsl files in the dashboard?
> >
> > > > with kind regards
> > > > Ruben Willems
> >
> > > > 2009/3/20 सिद्धार्थ <[email protected]>
> >
> > > > > Hi All,
> > > > > when i am running the ccnet .
> > > > > i am getting the mails,but that contains the wrong information
> about
> > > > > Nunit,
> > > > > in the mail it shows
> >
> > > > > Tests run: 0, Failures: 0, Not run: 0, Time: 0 seconds
> > > > > No Tests Run
> > > > > This project doesn't have any tests
> >
> > > > > but actually when you go to the dashboard and check then there it
> > > > > shows as
> >
> > > > > Tests run: 30, Failures: 0, Not run: 0, Time: 0.563 seconds
> > > > > All Tests Passed
> >
> > > > > i dont know where exactly it is goin wrong.
> >
> > > > > regards,
> > > > > sid- Hide quoted text -
> >
> > > > - Show quoted text -- Hide quoted text -
> >
> > - Show quoted text -

Reply via email to