Fix win-vs-env.psm1 and pester-extensions.psm1 (#15)

pull/16/head
Nikita Bykov 4 years ago committed by GitHub
parent f8f76caff1
commit 89ebce9383
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -6,23 +6,28 @@ Pester extension that allows to run command and validate exit code
#>
function Get-CommandResult {
param (
Param (
[Parameter(Mandatory=$true)]
[string] $Command,
[switch] $Multiline
)
# Bash trick to suppress and show error output because some commands write to stderr (for example, "python --version")
$stdout = & bash -c "$Command 2>&1"
# CMD trick to suppress and show error output because some commands write to stderr (for example, "python --version")
If ($IsWindows) {
[string[]]$output = & $env:comspec /c "$Command 2>&1"
} else {
$output = & bash -c "$Command 2>&1"
}
$exitCode = $LASTEXITCODE
return @{
Output = If ($Multiline -eq $true) { $stdout } else { [string]$stdout }
Output = If ($Multiline -eq $true) { $output } else { [string]$output }
ExitCode = $exitCode
}
}
function ShouldReturnZeroExitCode {
Param(
[String] $ActualValue,
[string] $ActualValue,
[switch] $Negate,
[string] $Because # This parameter is unused by we need it to match Pester asserts signature
)

@ -3,7 +3,7 @@
###
function Get-VSWhere {
$vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe";
$vswhere = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe"
if (-not (Test-Path $vswhere )) {
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
@ -34,9 +34,11 @@ function Invoke-Environment
}
function Get-VSInstallationPath {
Write-Host "ProgramFiles(x86) - ${env:ProgramFiles(x86)}"
$vswhere = Get-VSWhere
Write-Host "vswhere - $vswhere"
$installationPath = & $vswhere -prerelease -legacy -latest -property installationPath
Write-Host "installationPath - $installationPath"
return $installationPath
}

Loading…
Cancel
Save