3

I am trying to execute unit tests on TeamCity (version 9.1.6 build 37459), using the built-in Visual Studio Tests runner. The reason I'm using this is that some of the unit tests are using Fakes assemblies and cannot be executed using MSTest.

When that step is executed, it fails with System.ArgumentException: Illegal characters in path. exception with following log

Custom logger detection logic disabled
VSTest will report tests to TeamCity after run
VSTest executable: "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"
Command line params: [[C:\TeamCity\buildAgent\work\475c180054f4c61d\NS\TestProject\bin\Debug\TestProject.dll] [/Settings:NS/localtestrun.testsettings] [/Logger:trx] [/Platform:x86]]
Starting: "C:\Program Files (x86)\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe" #TeamCityImplicit
in directory: C:\TeamCity\buildAgent\work\475c180054f4c61d
2016-02-16 15:07:01,920 [7092] ERROR JetBrains.BuildServer.NAntLoggers.NUnitLauncher2 - Illegal characters in path.
System.ArgumentException: Illegal characters in path.
   at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)
   at System.IO.Path.IsPathRooted(String path)
   at JetBrains.TeamCity.Utils.FileUtil.MakeFullPath(String path, String workDir) in c:\BuildAgent\work\ad31cec0a1b0f083\src\Utils\src\FileUtil.cs:line 48
   at JetBrains.TeamCity.GenericProcessSupport.GenericProcessTargetGenerator.GenerateTargetContent(IGenericProcessArguments argz) in c:\BuildAgent\work\ad31cec0a1b0f083\src\GenericProcessSupport\src\GenericProcessTargetGenerator.cs:line 31
   at JetBrains.TeamCity.GenericProcessSupport.GenericProcessRunnerFactory.CreateRunner(ITestRunArguments args) in c:\BuildAgent\work\ad31cec0a1b0f083\src\GenericProcessSupport\src\GenericProcessRunnerFactory.cs:line 35
   at JetBrains.BuildServer.NAntLoggers.RunnerFactory.FindTestRunner(ITestRunArguments arguments) in c:\BuildAgent\work\ad31cec0a1b0f083\src\NUnitBootstrap\src\RunnerFactory.cs:line 46
   at JetBrains.BuildServer.NAntLoggers.RunnerFactory.CreateTestRunner(ITestRunArguments arguments) in c:\BuildAgent\work\ad31cec0a1b0f083\src\NUnitBootstrap\src\RunnerFactory.cs:line 31
   at JetBrains.BuildServer.NAntLoggers.NUnitLauncher2.Run2(String[] args) in c:\BuildAgent\work\ad31cec0a1b0f083\src\NUnitBootstrap\src\NUnitLauncher2.cs:line 100
   at JetBrains.BuildServer.NAntLoggers.NUnitLauncher2.Run(String[] args) in c:\BuildAgent\work\ad31cec0a1b0f083\src\NUnitBootstrap\src\NUnitLauncher2.cs:line 56

None of the atricles/blog posts I found online worked and I can't neither tell what path contains the illegal characters nor what those characters are.

Can anybody please help? Thanks.

Karel Frajták
  • 4,389
  • 1
  • 23
  • 34

1 Answers1

1

Faced the same issue. After hours of googling issue is in added quotes in the parameter value. Remove it and it will work. Found it, comparing successful build log with failed. On successful run there were no quotes in this line: VSTest executable: " C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe "