CruiseControl does not combine test results from MSTest

I have an integration assembly generated with CruiseControl and according to the ccnet.log file it is being merged into my test results, but when I look at the log I cannot find any indication of them and the assembly on the page says there were no tests (although they were launched) ...

Here are the last 3 lines from CCNET.LOG:

2013-01-29 08:02:51,325 [GEMS - Continuous Integration:INFO] Merging file 'E:\GEMS_Build\Integration\TestResults\GEMS.Shared.UnitTests.trx'
2013-01-29 08:02:51,325 [GEMS - Continuous Integration:INFO] Merging file 'E:\GEMS_Build\Integration\TestResults\GEMS.Web.UnitTests.trx'
2013-01-29 08:02:51,325 [GEMS - Continuous Integration:INFO] Integration complete: Success - 1/29/2013 8:02:46 AM

      

These paths and filenames are correct. I checked it out. Also, if they weren't, there was an error (I know, because I initially mistakenly specified the directory name).

These files look quite correct MSTest.trx files with information from the test results. I am running VS.NET 2012 if it matters ...

Here's a summary of the results from one of the files:

<ResultSummary outcome="Completed">
    <Counters total="24" executed="24" passed="24" error="0" failed="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" />
</ResultSummary>

      

But the build results from the CruiseControl web page show:

Suites run: 0, Tests run: 0, Failures: 0, Not run: 0, Time: 0seconds 
No Tests Run 
This project doesn't have any tests 

      

The benchmarks show up clearly in the log as you can see from the MSBuild end task log (note that this is different from the .trx files I am merging. This is just console logging captured by CCNET).

<msbuild startTime="01/28/2013 16:31:36" elapsedTime="00:00:12" elapsedSeconds="132" success="true">
  <project name="Coverage" file="E:\GEMS_Build\Integration\Coverage.xml" startTime="01/28/2013 16:31:37" elapsedTime="00:00:11" elapsedSeconds="131" success="true">
    <target name="Coverage" startTime="01/28/2013 16:31:38" elapsedTime="00:00:10" elapsedSeconds="130" success="true">
      <message level="high"><![CDATA[E:\OpenCover\OpenCover.Console.exe -register:user -target:"E:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\mstest.exe" -output:"E:\GEMS_Build\Integration_Artifacts\0.1.1.270\OpenCover\shared.coverage.xml" -targetargs:"/testcontainer:E:\GEMS_Build\Integration\src\GEMS.Shared\GEMS.Shared.UnitTests\bin\Debug\GEMS.Shared.UnitTests.dll /resultsfile:E:\GEMS_Build\Integration\TestResults\GEMS.Shared.UnitTests.trx" -filter:"+[GEMS.Shared]* -[GEMS.Shared]GEMS.Shared.PerformanceCounters* -[GEMS.Shared]GEMS.Shared.Cache.* " -mergebyhash]]></message>
      <message level="high"><![CDATA[Microsoft (R) Test Execution Command Line Tool Version 11.0.50727.1]]></message>
      <message level="high"><![CDATA[Copyright (c) Microsoft Corporation. All rights reserved.]]></message>
      <message level="high"><![CDATA[    ]]></message>
      <message level="high"><![CDATA[Loading E:\GEMS_Build\Integration\src\GEMS.Shared\GEMS.Shared.UnitTests\bin\Debug\GEMS.Shared.UnitTests.dll...]]></message>
      <message level="high"><![CDATA[Starting execution...]]></message>
      <message level="high" />
      <message level="high"><![CDATA[Results               Top Level Tests]]></message>
      <message level="high"><![CDATA[-------               ---------------]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Data.FilterTests.ANDFilterTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Data.FilterTests.BasicFilterTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Data.FilterTests.ComplexFilterTranslationTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Data.FilterTests.ComplexParameterDictionaryTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Data.FilterTests.FilterEncodeDecodeTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Data.FilterTests.FilterRolloverTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Data.FilterTests.IsNullFilterTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Data.FilterTests.ORFilterTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Data.FilterTests.SimpleEncodedFilterTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Data.FilterTests.ValidateComplexExpressionTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Data.FilterTests.ValidateFieldsTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Data.FilterTests.ValidateTranslateTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Data.JsonTests.ComplexJsonObjectConversionTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Date.DateTimeExtensionTests.GetDaysInMonthTests]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Date.DateTimeExtensionTests.GetEndOfLastMonthTests]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Date.DateTimeExtensionTests.GetEndOfLastYearTests]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Date.DateTimeExtensionTests.GetEndOfMonthTests]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Date.DateTimeExtensionTests.GetEndOfYearTests]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Date.DateTimeExtensionTests.GetLastWeekOfMonthTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Date.DateTimeExtensionTests.GetStartOfLastMonthTests]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Date.DateTimeExtensionTests.GetStartOfLastYearTests]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Date.DateTimeExtensionTests.GetStartOfMonthTests]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Date.DateTimeExtensionTests.GetStartOfYearTests]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Date.DateTimeExtensionTests.GetWeekOfMonthTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Date.DateTimeExtensionTests.GetWeekOfYearTests]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Date.DateTimeExtensionTests.MaxDateTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Date.DateTimeExtensionTests.MinDateTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Enums.EnumMapperTests.EnumMapperSimpleFail1Test]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Enums.EnumMapperTests.EnumMapperSimpleFail2Test]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Enums.EnumMapperTests.EnumMapperSimpleSuccessfultTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Security.ActiveDirectoryHelperUnitTests.AuthenticateUserTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Security.ActiveDirectoryHelperUnitTests.GetADUserInfoTests]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Security.ActiveDirectoryHelperUnitTests.GetAllUsersTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Security.ActiveDirectoryHelperUnitTests.IsInGroupTests]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Tasks.AsyncHelperTests.NoParameter]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Tasks.AsyncHelperTests.NoParameterWithCallback]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Tasks.AsyncHelperTests.OneParameterNoCallback]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Tasks.AsyncHelperTests.OneParameterWithCallback]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Text.StringExtensionsTests.DeleteLinesTest]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Text.StringExtensionsTests.IsNullOrEmptyTests]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Text.StringExtensionsTests.TestPlurals]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Text.StringExtensionsTests.ToDateTimeTests]]></message>
      <message level="high"><![CDATA[Passed                GEMS.Shared.UnitTests.Text.StringExtensionsTests.ToEnumTests]]></message>
      <message level="high"><![CDATA[43/43 test(s) Passed]]></message>
      <message level="high" />
      <message level="high"><![CDATA[Summary]]></message>
      <message level="high"><![CDATA[-------]]></message>
      <message level="high"><![CDATA[Test Run Completed.]]></message>
      <message level="high"><![CDATA[  Passed  43]]></message>
      <message level="high"><![CDATA[  ----------]]></message>
      <message level="high"><![CDATA[  Total   43]]></message>
      <message level="high"><![CDATA[Results file:  E:\GEMS_Build\Integration\TestResults\GEMS.Shared.UnitTests.trx]]></message>
      <message level="high"><![CDATA[Test Settings: Default Test Settings]]></message>
      <message level="high"><![CDATA[Committing...]]></message>
      <message level="high"><![CDATA[Visited Classes 20 of 26 (76.9230769230769)]]></message>
      <message level="high"><![CDATA[Visited Methods 74 of 102 (72.5490196078431)]]></message>
      <message level="high"><![CDATA[Visited Points 533 of 718 (74.2339832869081)]]></message>
      <message level="high"><![CDATA[Visited Branches 141 of 243 (58.0246913580247)]]></message>
      <message level="high" />
      <message level="high"><![CDATA[==== Alternative Results (includes all methods including those without corresponding source) ====]]></message>
      <message level="high"><![CDATA[Alternative Visited Classes 21 of 27 (77.7777777777778)]]></message>
      <message level="high"><![CDATA[Alternative Visited Methods 91 of 125 (72.8)]]></message>

.... and it goes on and on with the other unit tests, but 
I showed the above just to demonstrate that my unit tests are in fact being run

    </target>
  </project>
</msbuild>

      

This is the publishers section from my ccnet.config

<publishers>
    <statistics />
    <xmllogger />
    <artifactcleanup cleanUpMethod="KeepLastXBuilds"
                   cleanUpValue="50" />
    <buildpublisher>
        <sourceDir>E:\GEMS_Build\Integration\TestResults\</sourceDir>
        <publishDir>E:\GEMS_Build\Integration_Artifacts\</publishDir>
        <useLabelSubDirectory>true</useLabelSubDirectory>
    </buildpublisher>
    <merge>
        <files>
            <file>TestResults\GEMS.Shared.UnitTests.trx</file>
            <file>TestResults\GEMS.Web.UnitTests.trx</file>
        </files>
    </merge>
</publishers>

      

I searched the entire build log looking for words from tags in my .trx files. Words like TestResult , TestDefinitions , ResultSummary , etc. I can't find them (except for the word TestResult included in the pathname). The .trx files are clearly not merging .... What am I missing?

+3


source to share


1 answer


I think the problem is that you have the merge after the xmllogger



Source: http://www.cruisecontrolnet.org/projects/ccnet/wiki/File_Merge_Task

+3


source







All Articles