NCover 3.1.0 not working with NUnitlauncher.exe in 4.0.1


I've been using NUnitlauncher to run my tests by calling it from my build script as follows:

NUnitLauncher.exe v2.0 x86 NUnit-2.4.6 test.dll

This works fine, and I now want to include NCover. I've tried:

ncover.console.exe //h coverage NUnitLauncher.exe  v2.0 x86 NUnit-2.4.6 test.dll

This runs, but the coverage is only for the JetBrains assemblies used by (I assume) NUnitLauncher.exe.

Can anyone tell me what I've done wrong? I've searched the forum for NCover related threads, came across, which seems to be similar, but I don't understand the answer!

I'm using NCover 3.1.0 and TeamCity 4.0.1.

Comment actions Permalink

This commandline:
     NUnitLauncher.exe v2.0 x86 NUnit-2.4.6 test.dll
whould mean to run tests under .NET Framework 2.0 on x86. If current .NET Framework is not .NET 2.0 (ex. .NET 1.1), of it's running under x64, NUnitLauncher.exe will start subprocess with specified .config file and compilation flags to ensure running under requested .NET 2.0 and x86 mode.

Subprocess is likely to be started if you running x64 OS or if you have .NET 1.1 installed on the machine.

The right workaround is staring process runner:

   JetBrains.TeamCity.PlatformProcessRunner.x86.exe MSIL ANY JetBrains.BuildServer.NUnitLauncher.exe MSIL ANY NUnit-2.4.6 test.dll

This commandline will use TeamCity utilitte that is started unde .NET 2.0, x86 mode. Using MSIL and ANY would deny running any subprocesses to switch current environment.

JetBrains.TeamCity.PlatformProcessRunner.x86.exe tool is placed in the same folder as JetBrains.BuildServer.NUnitLauncher.exe

Please feel free to ask more questions on this.

Comment actions Permalink

Thanks, that has solved the problem!


Please sign in to leave a comment.