mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2025-12-14 22:09:26 +00:00
fix pester tests
This commit is contained in:
@@ -6,14 +6,18 @@ New-Item -Path $shellPath -ItemType Directory | Out-Null
|
|||||||
New-Item -ItemType SymbolicLink -Path "$shellPath\bash.exe" -Target "C:\msys64\usr\bin\bash.exe" | Out-Null
|
New-Item -ItemType SymbolicLink -Path "$shellPath\bash.exe" -Target "C:\msys64\usr\bin\bash.exe" | Out-Null
|
||||||
New-Item -ItemType SymbolicLink -Path "$shellPath\sh.exe" -Target "C:\msys64\usr\bin\sh.exe" | Out-Null
|
New-Item -ItemType SymbolicLink -Path "$shellPath\sh.exe" -Target "C:\msys64\usr\bin\sh.exe" | Out-Null
|
||||||
|
|
||||||
|
# WSL is available on Windows Server 2019
|
||||||
|
if (Test-IsWin19)
|
||||||
|
{
|
||||||
# winbash <--> C:\Windows\System32\bash.exe
|
# winbash <--> C:\Windows\System32\bash.exe
|
||||||
New-Item -ItemType SymbolicLink -Path "$shellPath\winbash.exe" -Target "$env:SystemRoot\System32\bash.exe" | Out-Null
|
New-Item -ItemType SymbolicLink -Path "$shellPath\winbash.exe" -Target "$env:SystemRoot\System32\bash.exe" | Out-Null
|
||||||
|
}
|
||||||
|
|
||||||
# git4bash <--> C:\Program Files\Git\bin\bash.exe
|
# git4bash <--> C:\Program Files\Git\bin\bash.exe
|
||||||
New-Item -ItemType SymbolicLink -Path "$shellPath\git4bash.exe" -Target "$env:ProgramFiles\Git\bin\bash.exe" | Out-Null
|
New-Item -ItemType SymbolicLink -Path "$shellPath\git4bash.exe" -Target "$env:ProgramFiles\Git\bin\bash.exe" | Out-Null
|
||||||
|
|
||||||
# MSYS2 <--> C:\msys64\usr\bin\bash.exe
|
# MSYS2 <--> C:\msys64\usr\bin\bash.exe
|
||||||
New-Item -ItemType SymbolicLink -Path "$shellPath\msys2.exe" -Target "C:\msys64\usr\bin\bash.exe" | Out-Null
|
New-Item -ItemType SymbolicLink -Path "$shellPath\msys2bash.exe" -Target "C:\msys64\usr\bin\bash.exe" | Out-Null
|
||||||
|
|
||||||
# Add shells to PATH
|
# Add shells to PATH
|
||||||
Add-MachinePathItem $shellPath
|
Add-MachinePathItem $shellPath
|
||||||
@@ -12,15 +12,12 @@ $dash = "-" * 40
|
|||||||
# Downloading msys2
|
# Downloading msys2
|
||||||
$msys2Release = "https://api.github.com/repos/msys2/msys2-installer/releases/latest"
|
$msys2Release = "https://api.github.com/repos/msys2/msys2-installer/releases/latest"
|
||||||
$msys2Uri = ((Invoke-RestMethod $msys2Release).assets | Where-Object {
|
$msys2Uri = ((Invoke-RestMethod $msys2Release).assets | Where-Object {
|
||||||
$_.name -match "x86_64" -and $_.name.EndsWith("tar.xz") }).browser_download_url
|
$_.name -match "x86_64" -and $_.name.EndsWith("sfx.exe") }).browser_download_url
|
||||||
$msys2File = Start-DownloadWithRetry -Url $msys2Uri
|
$msys2File = Start-DownloadWithRetry -Url $msys2Uri
|
||||||
|
|
||||||
# extract tar.xz to C:\
|
# extract sfx.exe to C:\
|
||||||
Write-Host "Starting msys2 extraction"
|
Write-Host "Starting msys2 extraction"
|
||||||
$tempPath = Join-Path $env:Temp msys
|
& $msys2File -y -oC:\
|
||||||
Extract-7Zip -Path $msys2File -DestinationPath $tempPath
|
|
||||||
$tarPath = Resolve-Path $tempPath\msys*.tar
|
|
||||||
Extract-7Zip -Path $tarPath -DestinationPath C:\
|
|
||||||
Write-Host "Finished extraction"
|
Write-Host "Finished extraction"
|
||||||
|
|
||||||
# Add msys2 bin tools folders to PATH temporary
|
# Add msys2 bin tools folders to PATH temporary
|
||||||
@@ -83,7 +80,4 @@ $pathValue = Get-ItemPropertyValue -Path $regEnvKey -Name 'Path'
|
|||||||
$pathValue += ";C:\msys64\mingw64\bin;C:\msys64\usr\bin"
|
$pathValue += ";C:\msys64\mingw64\bin;C:\msys64\usr\bin"
|
||||||
Set-ItemProperty -Path $regEnvKey -Name 'Path' -Value $pathValue
|
Set-ItemProperty -Path $regEnvKey -Name 'Path' -Value $pathValue
|
||||||
|
|
||||||
# Rename python
|
|
||||||
Rename-Item "C:\msys64\usr\bin\python.exe" -NewName "_python.exe"
|
|
||||||
|
|
||||||
Invoke-PesterTests -TestFile "MSYS2"
|
Invoke-PesterTests -TestFile "MSYS2"
|
||||||
|
|||||||
@@ -2,9 +2,8 @@ Describe "Shell" {
|
|||||||
$shellTestCases = @(
|
$shellTestCases = @(
|
||||||
@{Name = "C:\shells\bash.exe"; Target = "C:\msys64\usr\bin\bash.exe"},
|
@{Name = "C:\shells\bash.exe"; Target = "C:\msys64\usr\bin\bash.exe"},
|
||||||
@{Name = "C:\shells\sh.exe"; Target = "C:\msys64\usr\bin\sh.exe"},
|
@{Name = "C:\shells\sh.exe"; Target = "C:\msys64\usr\bin\sh.exe"},
|
||||||
@{Name = "C:\shells\winbash.exe"; Target = "$env:SystemRoot\System32\bash.exe"},
|
|
||||||
@{Name = "C:\shells\git4bash.exe"; Target = "$env:ProgramFiles\Git\bin\bash.exe"},
|
@{Name = "C:\shells\git4bash.exe"; Target = "$env:ProgramFiles\Git\bin\bash.exe"},
|
||||||
@{Name = "C:\shells\msys2.exe"; Target = "C:\msys64\usr\bin\bash.exe"}
|
@{Name = "C:\shells\msys2bash.exe"; Target = "C:\msys64\usr\bin\bash.exe"}
|
||||||
)
|
)
|
||||||
|
|
||||||
$pathTestCases = @(
|
$pathTestCases = @(
|
||||||
@@ -13,6 +12,8 @@ Describe "Shell" {
|
|||||||
@{Path = "C:\msys64\usr\bin"}
|
@{Path = "C:\msys64\usr\bin"}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
$IsWin16 = Test-IsWin16
|
||||||
|
|
||||||
It "Default bash.exe from MSYS2" {
|
It "Default bash.exe from MSYS2" {
|
||||||
(Get-Command bash).Path | Should -BeExactly "C:\shells\bash.exe"
|
(Get-Command bash).Path | Should -BeExactly "C:\shells\bash.exe"
|
||||||
}
|
}
|
||||||
@@ -33,6 +34,12 @@ Describe "Shell" {
|
|||||||
$path.IndexOf("c:\msys64\usr\bin") | Should -BeGreaterThan $indexOfSystem32
|
$path.IndexOf("c:\msys64\usr\bin") | Should -BeGreaterThan $indexOfSystem32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
It "C:\shells\winbash.exe target to $env:SystemRoot\System32\bash.exe" -Skip:$IsWin16 {
|
||||||
|
$Name = "C:\shells\winbash.exe"
|
||||||
|
$Target = "$env:SystemRoot\System32\bash.exe"
|
||||||
|
(Get-Item $Name).Target | Should -BeExactly $Target
|
||||||
|
}
|
||||||
|
|
||||||
It "<Name> target to <Target>" -TestCases $shellTestCases {
|
It "<Name> target to <Target>" -TestCases $shellTestCases {
|
||||||
(Get-Item $Name).Target | Should -BeExactly $Target
|
(Get-Item $Name).Target | Should -BeExactly $Target
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user