TeamCity 5.0.2 - NUnit - Cannot start process because a file name has not been provided.

I've been banging my head against the wall for a bit now trying to get my tests to run. I keep getting this error message.

I've even moved the set of assemblies so they are within the same directory as the sln file to ensure it picks up the test assemblies.

at System.Diagnostics.Process.Start()
at JetBrains.TeamCity.Utils.ProcessRunnerBase.Run(ProcessStartInfo psi) in c:\Agent\work\3f3d88bdf17c1223\src\Utils\src\ProcessRunnerBase.cs:line 57
at JetBrains.TeamCity.Utils.Runtime.ProcessRun.Execute(IRunProcess proc) in c:\Agent\work\3f3d88bdf17c1223\src\Utils\src\Runtime\ProcessRun.cs:line 88
at JetBrains.TeamCity.Utils.Runtime.ProcessRun.Run(String executable, PlatformVersion env, PlatformType platform, String[] args) in c:\Agent\work\3f3d88bdf17c1223\src\Utils\src\Runtime\ProcessRun.cs:line 39
at JetBrains.TeamCity.Utils.Runtime.ProcessRun.RunWithCommandLine(PlatformVersion env, PlatformType platform, String assembly, String[] args) in c:\Agent\work\3f3d88bdf17c1223\src\Utils\src\Runtime\ProcessRun.cs:line 30
at JetBrains.TeamCity.Utils.Runtime.RunInRuntime.ForkInRuntime(PlatformVersion version, PlatformType type, String executable, String[] args) in c:\Agent\work\3f3d88bdf17c1223\src\Utils\src\Runtime\RunInRuntime.cs:line 49
at JetBrains.TeamCity.NUnitCommon.PlugableRunFactory.AsPlugable.Run() in c:\Agent\work\3f3d88bdf17c1223\src\NUnitCommon\src\PlugableRunFactory.cs:line 27
at JetBrains.BuildServer.NAntLoggers.NUnitLauncher2.Run2(String[] args) in c:\Agent\work\3f3d88bdf17c1223\src\NUnitBootstrap\src\NUnitLauncher2.cs:line 146
at JetBrains.BuildServer.NAntLoggers.NUnitLauncher2.Run(String[] args) in c:\Agent\work\3f3d88bdf17c1223\src\NUnitBootstrap\src\NUnitLauncher2.cs:line 45

[17:42:44]: [Project "Sample.sln.teamcity.patch.tcprojx" (Build_TeamCity_generated_3fedb854bf3b4218bc0e33436dc3b934;NUnit_TeamCity_generated_3fedb854bf3b4218bc0e33436dc3b934 target(s)):] D:\Tools\TeamCity\BuildAgent\work\5315a39364461f07\demo\Main\Src\csharp\Sample.sln.teamcity.patch.tcprojx(10, 5): D:\Tools\TeamCity\BuildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe "@@" D:\Tools\TeamCity\BuildAgent\temp\buildTmp\tmp17DB.tmp exited with code -1
Now I've checked the tmp file and it does list the test assembly. I've even executed the command line directly on the buildserver where the agent is installed:
D:\Tools\TeamCity\BuildAgent\work\5315a39364461f07\demo\Main\Src\csharp\Sample.sln.teamcity.patch.tcprojx(10, 5): D:\Tools\TeamCity\BuildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe "@@" D:\Tools\TeamCity\BuildAgent\temp\buildTmp\tmp17DB.tmp
And it works:
C:\Test>D:\Tools\TeamCity\BuildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildSer
auncher.exe "@@" D:\Tools\TeamCity\BuildAgent\temp\buildTmp\tmp17DB.tmp
TeamCity is unavailable. Messages will be printed to standard output
TeamCity is unavailable. Messages will be printed to standard output
<jetbrains.buildServer.messages.BuildMessage1>
  <myFlowId>04b7d489-ef59-4430-b756-bb0c114277ab</myFlowId>
  <mySourceId>DefaultMessage</mySourceId>
  <myTypeId>Text</myTypeId>
  <myStatus>1</myStatus>
  <myTimestamp>1268415968418</myTimestamp>
  <myValue >Start TeamCity NUnit Test Runner</myValue>
</jetbrains.buildServer.messages.BuildMessage1>
<jetbrains.buildServer.messages.BuildMessage1>
  <myFlowId>04b7d489-ef59-4430-b756-bb0c114277ab</myFlowId>
  <mySourceId>DefaultMessage</mySourceId>
  <myTypeId>BlockStart</myTypeId>
  <myStatus>1</myStatus>
  <myTimestamp>1268415969368</myTimestamp>
  <myValue >
    <blockName>Sample.BusinessLogic.Test.dll</blockName>
    <blockType>$TEST_SUITE$</blockType>
  </myValue>
</jetbrains.buildServer.messages.BuildMessage1>
<jetbrains.buildServer.messages.BuildMessage1>
  <myFlowId>04b7d489-ef59-4430-b756-bb0c114277ab</myFlowId>
  <mySourceId>DefaultMessage</mySourceId>
  <myTypeId>BlockStart</myTypeId>
  <myStatus>1</myStatus>
  <myTimestamp>1268415969388</myTimestamp>
  <myValue >
    <blockName>Sample.BusinessLogic.Test.TestBuildManager.TestBuildManagerAnswersCorrectly</blockName>
    <blockType>$TEST_BLOCK$</blockType>
  </myValue>
</jetbrains.buildServer.messages.BuildMessage1>
<jetbrains.buildServer.messages.BuildMessage1>
  <myFlowId>04b7d489-ef59-4430-b756-bb0c114277ab</myFlowId>
  <mySourceId>DefaultMessage</mySourceId>
  <myTypeId>BlockEnd</myTypeId>
  <myStatus>1</myStatus>
  <myTimestamp>1268415969418</myTimestamp>
  <myValue >
    <blockName>Sample.BusinessLogic.Test.TestBuildManager.TestBuildManagerAnswersCorrectly</blockName>
    <blockType>$TEST_BLOCK$</blockType>
  </myValue>
</jetbrains.buildServer.messages.BuildMessage1>
<jetbrains.buildServer.messages.BuildMessage1>
  <myFlowId>04b7d489-ef59-4430-b756-bb0c114277ab</myFlowId>
  <mySourceId>DefaultMessage</mySourceId>
  <myTypeId>BlockStart</myTypeId>
  <myStatus>1</myStatus>
  <myTimestamp>1268415969418</myTimestamp>
  <myValue >
    <blockName>Sample.BusinessLogic.Test.TestTestManager.TestTestManagerAnswersCorrectly</blockName>
    <blockType>$TEST_BLOCK$</blockType>
  </myValue>
</jetbrains.buildServer.messages.BuildMessage1>
<jetbrains.buildServer.messages.BuildMessage1>
  <myFlowId>04b7d489-ef59-4430-b756-bb0c114277ab</myFlowId>
  <mySourceId>DefaultMessage</mySourceId>
  <myTypeId>BlockEnd</myTypeId>
  <myStatus>1</myStatus>
  <myTimestamp>1268415969428</myTimestamp>
  <myValue >
    <blockName>Sample.BusinessLogic.Test.TestTestManager.TestTestManagerAnswersCorrectly</blockName>
    <blockType>$TEST_BLOCK$</blockType>
  </myValue>
</jetbrains.buildServer.messages.BuildMessage1>
<jetbrains.buildServer.messages.BuildMessage1>
  <myFlowId>04b7d489-ef59-4430-b756-bb0c114277ab</myFlowId>
  <mySourceId>DefaultMessage</mySourceId>
  <myTypeId>BlockEnd</myTypeId>
  <myStatus>1</myStatus>
  <myTimestamp>1268415969428</myTimestamp>
  <myValue >
    <blockName>Sample.BusinessLogic.Test.dll</blockName>
    <blockType>$TEST_SUITE$</blockType>
  </myValue>
</jetbrains.buildServer.messages.BuildMessage1>
<jetbrains.buildServer.messages.BuildMessage1>
  <myFlowId>04b7d489-ef59-4430-b756-bb0c114277ab</myFlowId>
  <mySourceId>DefaultMessage</mySourceId>
  <myTypeId>Text</myTypeId>
  <myStatus>1</myStatus>
  <myTimestamp>1268415969878</myTimestamp>
  <myValue >Tests run: 2, Failures: 0, Not run: 0, Time: 0.060 seconds

</myValue>
</jetbrains.buildServer.messages.BuildMessage1>
As you can see this is a very basic sample. I like TeamCity but am concerned other users will come across this issue too.
Many Thanks,
John
6 comments

Anyone come across this error?


This is impacting my ability to evaluate TeamCity (I could execute my tests via NAnt but I wanted to try the built-in support first).

Thanks,

John

0

could you please attach the full build log of the failed build and a screenshot of build runner settings.

0

I've included the build log (replaced server name with <myserver>), a screen shot of the settings, and the tmp file it is failing on (I know at the moment it shows two instances of each test assembly but I restricted the filter previously so that only one showed and it still gave the same error).

Thanks, as we want to test all features before recommending TeamCity's use.

John



Attachment(s):
error.zip
0

Could you please switch off .NET coverage for the build runner or ensure all .NET coverage too paths exists on the build agent.

0

Thank you.

The ncover dropdown had been selected and no settings provided (as we were only looking at tests in the first instance).

In the future will there be validation rules to prevent an option from being selected if no values are present (or a friendlier error message that indicates that coverage is the issue)?

Many Thanks,

John

0

We've added a validation for the .NET coverage settings in 5.1EAP

0

Please sign in to leave a comment.