Change the way current platform is checked to use True automatic variable

This commit is contained in:
Vivian Thiebaut 2022-11-14 16:50:56 -05:00
parent d9a9b3ce88
commit 3c19f2aa0e
11 changed files with 19 additions and 69 deletions

View File

@ -32,8 +32,7 @@ Describe "Tests for authorized_keys file permission" -Tags "CI" {
#skip when the task schedular (*-ScheduledTask) cmdlets does not exist #skip when the task schedular (*-ScheduledTask) cmdlets does not exist
$ts = (get-command get-ScheduledTask -ErrorAction SilentlyContinue) $ts = (get-command get-ScheduledTask -ErrorAction SilentlyContinue)
$skip = $ts -eq $null $skip = $ts -eq $null
$platform = Get-Platform if($IsWindows -and ([Environment]::OSVersion.Version.Major -le 6))
if(($platform -eq [PlatformType]::Windows) -and ([Environment]::OSVersion.Version.Major -le 6))
{ {
#suppress the firewall blocking dialogue on win7 #suppress the firewall blocking dialogue on win7
netsh advfirewall firewall add rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any action=allow dir=in netsh advfirewall firewall add rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any action=allow dir=in
@ -43,8 +42,7 @@ Describe "Tests for authorized_keys file permission" -Tags "CI" {
AfterEach { $tI++ } AfterEach { $tI++ }
AfterAll { AfterAll {
$platform = Get-Platform if($IsWindows -and ($psversiontable.BuildVersion.Major -le 6))
if(($platform -eq [PlatformType]::Windows) -and ($psversiontable.BuildVersion.Major -le 6))
{ {
netsh advfirewall firewall delete rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any dir=in netsh advfirewall firewall delete rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any dir=in
} }

View File

@ -9,33 +9,6 @@ Add-Type -TypeDefinition @"
} }
"@ "@
function Get-Platform {
# Use the .NET Core APIs to determine the current platform; if a runtime
# exception is thrown, we are on FullCLR, not .NET Core.
try {
$Runtime = [System.Runtime.InteropServices.RuntimeInformation]
$OSPlatform = [System.Runtime.InteropServices.OSPlatform]
$IsLinux = $Runtime::IsOSPlatform($OSPlatform::Linux)
$IsOSX = $Runtime::IsOSPlatform($OSPlatform::OSX)
$IsWindows = $Runtime::IsOSPlatform($OSPlatform::Windows)
} catch {
try {
$IsLinux = $false
$IsOSX = $false
$IsWindows = $true
}
catch { }
}
if($IsOSX) {
[PlatformType]::OSX
} elseif($IsLinux) {
[PlatformType]::Linux
} else {
[PlatformType]::Windows
}
}
function Set-FilePermission function Set-FilePermission
{ {
param( param(
@ -94,8 +67,7 @@ function Set-FilePermission
function Add-PasswordSetting function Add-PasswordSetting
{ {
param([string] $pass) param([string] $pass)
$platform = Get-Platform if ($IsWindows) {
if ($platform -eq [PlatformType]::Windows) {
if (-not($env:DISPLAY)) {$env:DISPLAY = 1} if (-not($env:DISPLAY)) {$env:DISPLAY = 1}
$askpass_util = Join-Path $PSScriptRoot "utilities\askpass_util\askpass_util.exe" $askpass_util = Join-Path $PSScriptRoot "utilities\askpass_util\askpass_util.exe"
$env:SSH_ASKPASS=$askpass_util $env:SSH_ASKPASS=$askpass_util
@ -157,8 +129,8 @@ function Stop-SSHDTestDaemon
{ {
foreach ($ps in $p) { foreach ($ps in $p) {
$pss =$ps.ToString() -split "\s+"; $pss =$ps.ToString() -split "\s+";
$pid = $pss[$pss.length -1] $processid = $pss[$pss.length -1]
Stop-Process -Id $pid -Force -ErrorAction SilentlyContinue Stop-Process -Id $processid -Force -ErrorAction SilentlyContinue
} }
#if still running, wait a little while for task to complete #if still running, wait a little while for task to complete
$num = 0 $num = 0

View File

@ -48,7 +48,7 @@ Describe "Tests for admin and non-admin file based logs" -Tags "CI" {
{ {
Stop-SSHDTestDaemon -Port $port Stop-SSHDTestDaemon -Port $port
} }
if(($platform -eq [PlatformType]::Windows) -and ([Environment]::OSVersion.Version.Major -le 6)) if($IsWindows -and ([Environment]::OSVersion.Version.Major -le 6))
{ {
#suppress the firewall blocking dialogue on win7 #suppress the firewall blocking dialogue on win7
netsh advfirewall firewall add rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any action=allow dir=in netsh advfirewall firewall add rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any action=allow dir=in
@ -58,7 +58,7 @@ Describe "Tests for admin and non-admin file based logs" -Tags "CI" {
AfterEach { $tI++ } AfterEach { $tI++ }
AfterAll { AfterAll {
if(($platform -eq [PlatformType]::Windows) -and ($psversiontable.BuildVersion.Major -le 6)) if($IsWindows -and ($psversiontable.BuildVersion.Major -le 6))
{ {
netsh advfirewall firewall delete rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any dir=in netsh advfirewall firewall delete rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any dir=in
} }

View File

@ -21,9 +21,8 @@ Describe "Tests for host keys file permission" -Tags "CI" {
$ssouser = $OpenSSHTestInfo["SSOUser"] $ssouser = $OpenSSHTestInfo["SSOUser"]
$script:logNum = 0 $script:logNum = 0
Remove-Item -Path (Join-Path $testDir "*$logName") -Force -ErrorAction SilentlyContinue Remove-Item -Path (Join-Path $testDir "*$logName") -Force -ErrorAction SilentlyContinue
$platform = Get-Platform $skip = $IsWindows -and ([Environment]::OSVersion.Version.Major -le 6) -and ([Environment]::OSVersion.Version.Minor -lt 2)
$skip = ($platform -eq [PlatformType]::Windows) -and ([Environment]::OSVersion.Version.Major -le 6) -and ([Environment]::OSVersion.Version.Minor -lt 2) if($IsWindows -and ($psversiontable.BuildVersion.Major -le 6))
if(($platform -eq [PlatformType]::Windows) -and ($psversiontable.BuildVersion.Major -le 6))
{ {
#suppress the firewall blocking dialogue on win7 #suppress the firewall blocking dialogue on win7
netsh advfirewall firewall add rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any action=allow dir=in netsh advfirewall firewall add rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any action=allow dir=in
@ -32,7 +31,7 @@ Describe "Tests for host keys file permission" -Tags "CI" {
AfterEach { $tI++ } AfterEach { $tI++ }
AfterAll { AfterAll {
if(($platform -eq [PlatformType]::Windows) -and ($psversiontable.BuildVersion.Major -le 6)) if($IsWindows -and ($psversiontable.BuildVersion.Major -le 6))
{ {
netsh advfirewall firewall delete rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any dir=in netsh advfirewall firewall delete rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any dir=in
} }

View File

@ -25,8 +25,7 @@ Describe "Tests for log file permission" -Tags "CI" {
Remove-Item (Join-Path $testDir "*$logName") -Force -ErrorAction SilentlyContinue Remove-Item (Join-Path $testDir "*$logName") -Force -ErrorAction SilentlyContinue
$platform = Get-Platform if($IsWindows -and ($psversiontable.BuildVersion.Major -le 6))
if(($platform -eq [PlatformType]::Windows) -and ($psversiontable.BuildVersion.Major -le 6))
{ {
#suppress the firewall blocking dialogue on win7 #suppress the firewall blocking dialogue on win7
netsh advfirewall firewall add rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any action=allow dir=in netsh advfirewall firewall add rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any action=allow dir=in
@ -84,7 +83,7 @@ Describe "Tests for log file permission" -Tags "CI" {
AfterEach {$tI++;} AfterEach {$tI++;}
AfterAll { AfterAll {
if(($platform -eq [PlatformType]::Windows) -and ($psversiontable.BuildVersion.Major -le 6)) if($IsWindows -and ($psversiontable.BuildVersion.Major -le 6))
{ {
netsh advfirewall firewall delete rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any dir=in netsh advfirewall firewall delete rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any dir=in
} }

View File

@ -19,26 +19,11 @@ Enum PlatformType {
function Set-Platform { function Set-Platform {
# Use the .NET Core APIs to determine the current platform; if a runtime # Use the .NET Core APIs to determine the current platform; if a runtime
# exception is thrown, we are on FullCLR, not .NET Core. # exception is thrown, we are on FullCLR, not .NET Core.
try {
$Runtime = [System.Runtime.InteropServices.RuntimeInformation]
$OSPlatform = [System.Runtime.InteropServices.OSPlatform]
$IsLinux = $Runtime::IsOSPlatform($OSPlatform::Linux)
$IsOSX = $Runtime::IsOSPlatform($OSPlatform::OSX)
$IsWindows = $Runtime::IsOSPlatform($OSPlatform::Windows)
} catch {
try {
$IsLinux = $false
$IsOSX = $false
$IsWindows = $true
}
catch { }
}
if($IsOSX) { if($IsOSX) {
[PlatformType]::OSX [PlatformType]::OSX
} elseif($IsLinux) { } elseif($IsLinux) {
[PlatformType]::Linux [PlatformType]::Linux
} else { } elseif($IsWindows) {
[PlatformType]::Windows [PlatformType]::Windows
} }
} }

View File

@ -15,9 +15,8 @@ Describe "E2E scenarios for port forwarding" -Tags "CI" {
{ {
$null = New-Item $testDir -ItemType directory -Force -ErrorAction SilentlyContinue $null = New-Item $testDir -ItemType directory -Force -ErrorAction SilentlyContinue
} }
$platform = Get-Platform
#skip on ps 2 becase non-interactive cmd require a ENTER before it returns on ps2 #skip on ps 2 becase non-interactive cmd require a ENTER before it returns on ps2
$skip = ($platform -eq [PlatformType]::Windows) -and ($PSVersionTable.PSVersion.Major -le 2) $skip = $IsWindows -and ($PSVersionTable.PSVersion.Major -le 2)
} }
BeforeEach { BeforeEach {

View File

@ -206,7 +206,7 @@ Describe "Tests for scp command" -Tags "CI" {
$equal = @(Compare-Object (Get-ChildItem -Recurse -path $SourceDir) (Get-ChildItem -Recurse -path (join-path $DestinationDir $SourceDirName) ) -Property Name, Length).Length -eq 0 $equal = @(Compare-Object (Get-ChildItem -Recurse -path $SourceDir) (Get-ChildItem -Recurse -path (join-path $DestinationDir $SourceDirName) ) -Property Name, Length).Length -eq 0
$equal | Should Be $true $equal | Should Be $true
if($Options.contains("-p ") -and ($platform -eq [PlatformType]::Windows) -and ($PSVersionTable.PSVersion.Major -gt 2)) if($Options.contains("-p ") -and $IsWindows -and ($PSVersionTable.PSVersion.Major -gt 2))
{ {
$equal = @(Compare-Object (Get-ChildItem -Recurse -path $SourceDir).LastWriteTime.DateTime (Get-ChildItem -Recurse -path (join-path $DestinationDir $SourceDirName) ).LastWriteTime.DateTime).Length -eq 0 $equal = @(Compare-Object (Get-ChildItem -Recurse -path $SourceDir).LastWriteTime.DateTime (Get-ChildItem -Recurse -path (join-path $DestinationDir $SourceDirName) ).LastWriteTime.DateTime).Length -eq 0
$equal | Should Be $true $equal | Should Be $true

View File

@ -36,8 +36,7 @@ Describe "SFTP Test Cases" -Tags "CI" {
Remove-item (Join-Path $rootDirectory "*.$batchFileName") -Force -ErrorAction SilentlyContinue Remove-item (Join-Path $rootDirectory "*.$batchFileName") -Force -ErrorAction SilentlyContinue
Remove-item (Join-Path $rootDirectory "*.log") -Force -ErrorAction SilentlyContinue Remove-item (Join-Path $rootDirectory "*.log") -Force -ErrorAction SilentlyContinue
$platform = Get-Platform $skip = $IsWindows -and ($PSVersionTable.PSVersion.Major -le 2)
$skip = ($platform -eq [PlatformType]::Windows) -and ($PSVersionTable.PSVersion.Major -le 2)
$testData1 = @( $testData1 = @(
@{ @{

View File

@ -27,9 +27,8 @@ Describe "E2E scenarios for ssh client" -Tags "CI" {
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($ssouser, $rights, "ContainerInherit,Objectinherit", "None", "Allow") $accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($ssouser, $rights, "ContainerInherit,Objectinherit", "None", "Allow")
$acl.SetAccessRule($accessRule) $acl.SetAccessRule($accessRule)
Set-Acl -Path $testDir -AclObject $acl Set-Acl -Path $testDir -AclObject $acl
$platform = Get-Platform
#skip on ps 2 becase non-interactive cmd require a ENTER before it returns on ps2 #skip on ps 2 becase non-interactive cmd require a ENTER before it returns on ps2
$skip = ($platform -eq [PlatformType]::Windows) -and ($PSVersionTable.PSVersion.Major -le 2) $skip = $IsWindows -and ($PSVersionTable.PSVersion.Major -le 2)
<#$testData = @( <#$testData = @(
@{ @{

View File

@ -142,7 +142,7 @@ Match User matchuser
{ {
Stop-SSHDTestDaemon -Port $port Stop-SSHDTestDaemon -Port $port
} }
if(($platform -eq [PlatformType]::Windows) -and ([Environment]::OSVersion.Version.Major -le 6)) if($IsWindows -and ([Environment]::OSVersion.Version.Major -le 6))
{ {
#suppress the firewall blocking dialogue on win7 #suppress the firewall blocking dialogue on win7
netsh advfirewall firewall add rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any action=allow dir=in netsh advfirewall firewall add rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any action=allow dir=in
@ -153,7 +153,7 @@ Match User matchuser
AfterAll { AfterAll {
$PrincipalContext.Dispose() $PrincipalContext.Dispose()
if(($platform -eq [PlatformType]::Windows) -and ($psversiontable.BuildVersion.Major -le 6)) if($IsWindows -and ($psversiontable.BuildVersion.Major -le 6))
{ {
netsh advfirewall firewall delete rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any dir=in netsh advfirewall firewall delete rule name="sshd" program="$($OpenSSHTestInfo['OpenSSHBinPath'])\sshd.exe" protocol=any dir=in
} }