5 comments

Hi Yegor,

I'm trying to use dotCover with this EAP with no success. dotCover is installed at C:\Program Files (x86)\JetBrains\dotCover\v1.0\Bin\dotCover.exe. I am using the sln runner on a Visual Studio 2008 solution that has both NUnit and MSTest tests. I get no coverage results and this message in the build log (although the build succeeds):

[09:40:12]: Processing 1 coverage report(s)

[09:40:12]: There is no .NET Coverage report generator for type 'dotcover'. Skipped files: [C:\Program Files (x86)\TeamCity\buildAgent\temp\buildTmp\tmp2F41.tmp]
[09:40:12]: Build finished

I have tried leaving "Path to dotCover Home" blank, used %teamcity.dotCover.home%, C:\Program Files (x86)\JetBrains\dotCover\v1.0\Bin, C:\Program Files (x86)\JetBrains\dotCover\v1.0\Bin\dotCover.exe and receive the same message.

If I use C:\Program Files (x86)\JetBrains\dotCover\v1.0, I get the following error message and the build fails:

[11:15:55]: [Obfuscated\Path\UnitTestingSolution.sln.teamcity] TeamCity_Generated_MSTestTests (3s)
[11:15:55]: [TeamCity_Generated_MSTestTests] Exec (3s)
[11:15:55]: [Exec] "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe" "/runconfig:C:\Program Files (x86)\TeamCity\buildAgent\work\2f3c852431f54d57\Obfuscated\Path\BuildTestRun.testrunconfig" "/testmetadata:C:\Program Files (x86)\TeamCity\buildAgent\work\2f3c852431f54d57\Obfuscated\Path\UnitTestingSolution.vsmdi" "/resultsfile:C:\Program Files (x86)\TeamCity\buildAgent\temp\buildTmp\tmp3403.tmp.teamcity.trx" /testlist:UnitTests
[11:15:56]: [Exec] Microsoft (R) Test Execution Command Line Tool Version 9.0.30729.1
[11:15:56]: [Exec] Copyright (c) Microsoft Corporation. All rights reserved.
[11:15:56]: [Exec]    
[11:15:56]: [Exec] Loading C:\Program Files (x86)\TeamCity\buildAgent\work\2f3c852431f54d57\Obfuscated\Path\BuildTestRun.testrunconfig...
[11:15:56]: [Exec] Loading C:\Program Files (x86)\TeamCity\buildAgent\work\2f3c852431f54d57\Obfuscated\Path\UnitTestingSolution.vsmdi...
[11:15:56]: [Exec] Starting execution...
[11:15:58]: [Exec] Results               Top Level Tests
[11:15:58]: [Exec] -------               ---------------
[11:15:58]: [Exec] Passed                (UnitTests/)TestProject.DummyTest.theValueTest
[11:15:58]: [Exec] Passed                (UnitTests/)TestProject.DummyTest.DummyConstructorTest
[11:15:58]: [Exec] Passed                (UnitTests/)TestProject.DummyTest.clearTest
[11:15:58]: [Exec] 3/3 test(s) Passed
[11:15:58]: [Exec] Summary
[11:15:58]: [Exec] -------
[11:15:58]: [Exec] Test Run Completed.
[11:15:58]: [Exec]   Passed  3
[11:15:58]: [Exec]   ---------
[11:15:58]: [Exec]   Total   3
[11:15:58]: [Exec] Results file:      C:\Program Files (x86)\TeamCity\buildAgent\temp\buildTmp\tmp3403.tmp.teamcity.trx
[11:15:58]: [Exec] Run Configuration: Build Test Run
[11:15:58]: ##teamcity[importData id='mstest' file='C:\Program Files (x86)\TeamCity\buildAgent\temp\buildTmp\tmp3403.tmp.teamcity.trx']
[11:15:58]: [Obfuscated/Path/UnitTestingSolution.sln.teamcity] TeamCity_Generated_NUnitTests (3s)
[11:15:58]: [TeamCity_Generated_NUnitTests] NUnitTeamCity (3s)
[11:15:59]: [NUnitTeamCity] C:\Program Files (x86)\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe "@@" "C:\Program Files (x86)\TeamCity\buildAgent\temp\buildTmp\tmp340B.tmp"
[11:15:59]: Importing data from 'C:\Program Files (x86)\TeamCity\buildAgent\temp\buildTmp\tmp3403.tmp.teamcity.trx' with 'mstest' processor
[11:15:59]: MSTest
[11:15:59]: [MSTest] Found 3 test definitions.
[11:15:59]: [MSTest] TestProject.DummyTest.theValueTest
[11:15:59]: [MSTest] TestProject.DummyTest.DummyConstructorTest
[11:15:59]: [MSTest] TestProject.DummyTest.clearTest
[11:15:59]: [MSTest] 3 test(s) were reported
[11:16:01]: Cannot start process because a file name has not been provided.

   at System.Diagnostics.Process.Start()

   at JetBrains.TeamCity.Utils.ProcessRunnerBase.Run(ProcessStartInfo psi) in c:\Agent\work\6223f0c8b1d45aaa\src\Utils\src\ProcessRunnerBase.cs:line 59

   at JetBrains.TeamCity.Utils.Runtime.ProcessRun.Execute(IRunProcess proc) in c:\Agent\work\6223f0c8b1d45aaa\src\Utils\src\Runtime\ProcessRun.cs:line 88

   at JetBrains.TeamCity.Utils.Runtime.RunInRuntime.ForkInRuntime(PlatformVersion version, PlatformType type, String executable, String[] args) in c:\Agent\work\6223f0c8b1d45aaa\src\Utils\src\Runtime\RunInRuntime.cs:line 49

   at JetBrains.TeamCity.NUnitCommon.PlugableRunFactory.RunProcessAsPlugable.Run() in c:\Agent\work\6223f0c8b1d45aaa\src\NUnitCommon\src\PlugableRunFactory.cs:line 34

   at JetBrains.BuildServer.NAntLoggers.NUnitLauncher2.ExecuteTasks(ITestRunArguments arguments, IPlugableTestRunner[] plugRuns) in c:\Agent\work\6223f0c8b1d45aaa\src\NUnitBootstrap\src\NUnitLauncher2.cs:line 187

   at JetBrains.BuildServer.NAntLoggers.NUnitLauncher2.Run2(String[] args) in c:\Agent\work\6223f0c8b1d45aaa\src\NUnitBootstrap\src\NUnitLauncher2.cs:line 124

   at JetBrains.BuildServer.NAntLoggers.NUnitLauncher2.Run(String[] args) in c:\Agent\work\6223f0c8b1d45aaa\src\NUnitBootstrap\src\NUnitLauncher2.cs:line 45
[11:16:02]: [NUnitTeamCity] C:\Program Files (x86)\TeamCity\buildAgent\work\2f3c852431f54d57\Obfuscated\Path\UnitTestingSolution.sln.teamcity(21, 5): C:\Program Files (x86)\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe "@@" "C:\Program Files (x86)\TeamCity\buildAgent\temp\buildTmp\tmp340B.tmp" exited with code -1.

The build finishes MSTests successfully, but does not run any NUnit tests or produce any coverage results.

What am I doing wrong?

Thanks,

Oleg.

0

The right path was C:\Program Files (x86)\JetBrains\dotCover\v1.0\Bin. We have just started our support of dotCover in TeamCity. Now it only supports gathering code coverage and showing line coverage stats value. Have you seen statistics values? Please check you do not use .NET coverage configuration service messages from the build script. Please attach build agent logs.

What was the build of dotCover?

0

Eugene,

I am using dotCover 1.0.84.7. I don't have any .NET coverage service messages in the build script. I think I figured out the problem. I have 2 build runners in my config: sln (with unit tests and dotCover enabled) and Ant (doing something unrelated, no code coverage). Once I deleted the Ant runner, dotCover worked with the path you provided and generated line coverage statistic! It looks like TC is either attempting to run dotCover for each runner or trying to parse dotCover's output after each runner. Here is the relevant section of the build log:

[13:30:32]: Importing data from 'C:\Program Files (x86)\TeamCity\buildAgent\temp\buildTmp\tmp4966.tmp.teamcity.trx' with 'mstest' processor
[13:30:29]: [TeamCity_Generated_NUnitTests] NUnitTeamCity (25s)
[13:30:32]: [NUnitTeamCity] C:\Program Files (x86)\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe "@@" "C:\Program Files (x86)\TeamCity\buildAgent\temp\buildTmp\tmp496E.tmp"
[13:30:32]: MSTest
[13:30:32]: [MSTest] Found 3 test definitions.
[13:30:32]: [MSTest] TestProject.DummyTest.theValueTest
[13:30:32]: [MSTest] TestProject.DummyTest.DummyConstructorTest
[13:30:32]: [MSTest] TestProject.DummyTest.clearTest
[13:30:32]: [MSTest] 3 test(s) were reported
[13:30:45]: Start TeamCity NUnit Test Runner
[13:30:46]: TestProject.dll
[13:30:46]: [TestProject.dll] TestProject.SimpleTest.DummyConstructorTest
[13:30:46]: [TestProject.dll] TestProject.SimpleTest.StringTest
[13:30:48]: Tests run: 2, Errors: 0, Failures: 0, Inconclusive: 0 Time: 0.0781435 seconds   Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0
[13:30:54]: ##teamcity[importData type='dotNetCoverage' tool='dotcover' file='C:\Program Files (x86)\TeamCity\buildAgent\temp\buildTmp\tmp4970.tmp']
[13:30:54]: Importing data from 'C:\Program Files (x86)\TeamCity\buildAgent\temp\buildTmp\tmp4970.tmp' with 'dotNetCoverage' processor
[13:30:55]: Process exited with code 0
[13:30:55]: Starting build process in C:\Program Files (x86)\TeamCity\buildAgent\work\2f3c852431f54d57
...[This is where the Ant runner executes successfully.]
[13:31:01]: Process exit code: 0
[13:31:01]: Waiting for 2 service processes to complete
[13:31:01]: Processing 1 coverage report(s)
[13:31:01]: There is no .NET Coverage report generator for type 'dotcover'. Skipped files: [C:\Program Files (x86)\TeamCity\buildAgent\temp\buildTmp\tmp4970.tmp]
[13:31:01]: Build finished

Does this describe the problem?

0

Thank you. I should have asked you about multiple runners at the very beginning.
I've created http://youtrack.jetbrains.net/issue/TW-13133 for this.

0

Thanks, Eugene. Voted in support! Really looking forward to using dotCover with TeamCity!

0

Please sign in to leave a comment.