JetBrains / meta-runner-power-pack

A set of Meta-runners for TeamCity
Apache License 2.0
257 stars 125 forks source link

[xUnit.net + dotCover meta-runner] Error "Incorrect 'TargetExecutable' value" #123

Open stasones opened 6 years ago

stasones commented 6 years ago

TeamCity Professional 2018.1 (build 58245) The error in "Step 1/1: Install Test runner, Create config, Run tests, Update coverage (PowerShell)": [Step 1/1] Incorrect 'TargetExecutable' value 'C:\TeamCity\buildAgent\work\6fc5b5e66f19d062\xunit.runner.console.2.4.0\tools\net452\xunit.console.exe C:\TeamCity\buildAgent\work\6fc5b5e66f19d062\xunit.runner.console.2.4.0\tools\net46\xunit.console.exe C:\TeamCity\buildAgent\work\6fc5b5e66f19d062\xunit.runner.console.2.4.0\tools\net461\xunit.console.exe C:\TeamCity\buildAgent\work\6fc5b5e66f19d062\xunit.runner.console.2.4.0\tools\net462\xunit.console.exe C:\TeamCity\buildAgent\work\6fc5b5e66f19d062\xunit.runner.console.2.4.0\tools\net47\xunit.console.exe C:\TeamCity\buildAgent\work\6fc5b5e66f19d062\xunit.runner.console.2.4.0\tools\net471\xunit.console.exe C:\TeamCity\buildAgent\work\6fc5b5e66f19d062\xunit.runner.console.2.4.0\tools\net472\xunit.console.exe'

The problem is in the following code:

$xunit = Join-Path $workingDir "xunit.runner.console.*\tools\$xUnitExe" | Resolve-Path

if (-not $xunit) {
    # Try finding xunit under framework specific folder
     $xunit = Join-Path $workingDir "xunit.runner.console.*\tools\net4*\$xUnitExe" | Resolve-Path
}

When $xUnitExe is "xunit.console.exe" (as specified in readme.md) then Join-Path command will return multiple results for the "xunit.runner.console.\tools\net4\$xUnitExe" path.

As a fast solution can be specified the folder name for "Xunit Runner Executable" param: "net461\xunit.console.exe".