mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Update use of clang PowerShell
This commit is contained in:
73
scripts/psClang/visualstudio-detection.tests.ps1
Normal file
73
scripts/psClang/visualstudio-detection.tests.ps1
Normal file
@@ -0,0 +1,73 @@
|
||||
#Clear-Host
|
||||
|
||||
# IMPORT code blocks
|
||||
|
||||
Set-Variable -name "kScriptLocation" `
|
||||
-value (Split-Path -Path $MyInvocation.MyCommand.Definition -Parent) <#`
|
||||
-option Constant#>
|
||||
|
||||
@(
|
||||
, "$kScriptLocation\io.ps1"
|
||||
, "$kScriptLocation\visualstudio-detection.ps1"
|
||||
) | ForEach-Object { . $_ }
|
||||
|
||||
Describe "Visual Studio detection" {
|
||||
# Mock script parameters
|
||||
$global:cptVisualStudioVersion = "2017"
|
||||
$aVisualStudioSku = "Professional"
|
||||
|
||||
It "Get-MscVer" {
|
||||
[string[]] $mscVer = Get-MscVer
|
||||
$mscVer.Count | Should -BeExactly 1
|
||||
$mscVer[0] | Should -Not -BeNullOrEmpty
|
||||
$mscVer[0].Length | Should -BeGreaterThan 3
|
||||
$mscVer[0].Contains(".") | Should -BeExactly $true
|
||||
}
|
||||
|
||||
It "Get-VisualStudio-Path" {
|
||||
$vsPath = Get-VisualStudio-Path
|
||||
$vsPath | Should -Not -BeNullOrEmpty
|
||||
}
|
||||
|
||||
It "Get-VisualStudio-Path [2015]" {
|
||||
# see first if VS 2015 is installed
|
||||
[Microsoft.Win32.RegistryKey] $vs14Key = Get-Item "HKLM:SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0"
|
||||
[bool] $vs2015isInstalled = $vs14Key -and ![string]::IsNullOrEmpty($vs14Key.GetValue("InstallDir"))
|
||||
|
||||
$oldMockValue = $global:cptVisualStudioVersion
|
||||
|
||||
$vsPath = Get-VisualStudio-Path
|
||||
$vsPath | Should -Not -BeNullOrEmpty
|
||||
|
||||
# Re-Mock script parameter
|
||||
$global:cptVisualStudioVersion = "2015"
|
||||
|
||||
# Maybe we have a VS 2017 installation with v140 toolset installed
|
||||
[string] $vs2017ToolsetV140Path = "${Env:ProgramFiles(x86)}\Microsoft Visual Studio 14.0"
|
||||
if (Test-Path "$vs2017ToolsetV140Path\VC\include\iostream")
|
||||
{
|
||||
$vs2015isInstalled = $true
|
||||
}
|
||||
|
||||
if ($vs2015isInstalled)
|
||||
{
|
||||
$vs2015Path = Get-VisualStudio-Path
|
||||
$vs2015Path | Should -Not -BeNullOrEmpty
|
||||
$vs2015Path | Should -Not -Be $vsPath
|
||||
}
|
||||
else
|
||||
{
|
||||
{ Get-VisualStudio-Path } | Should -Throw
|
||||
}
|
||||
|
||||
$global:cptVisualStudioVersion = $oldMockValue
|
||||
}
|
||||
|
||||
It "Get-VisualStudio-Includes" {
|
||||
[string] $vsPath = Get-VisualStudio-Path
|
||||
[string] $mscver = Get-MscVer
|
||||
[string[]] $includes = Get-VisualStudio-Includes -vsPath $vsPath -mscVer $mscver
|
||||
$includes.Count | Should -BeGreaterThan 1
|
||||
$includes | ForEach-Object { [System.IO.Directory]::Exists($_) | Should -BeExactly $true }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user