mirror of
https://github.com/actions/runner-images.git
synced 2025-12-20 06:35:47 +00:00
[Ubuntu] Migrate Toolset tests to Pester (#2339)
* migrate toolset tests to pester * move test invocation * minor fixes
This commit is contained in:
committed by
GitHub
parent
ab06a8a68f
commit
f58f2c1e02
62
images/linux/scripts/tests/Toolset.Tests.ps1
Normal file
62
images/linux/scripts/tests/Toolset.Tests.ps1
Normal file
@@ -0,0 +1,62 @@
|
||||
Describe "Toolset" {
|
||||
$tools = (Get-ToolsetContent).toolcache
|
||||
|
||||
$toolsExecutables = @{
|
||||
Python = @{
|
||||
tools = @("python", "bin/pip")
|
||||
command = "--version"
|
||||
}
|
||||
node = @{
|
||||
tools = @("bin/node", "bin/npm")
|
||||
command = "--version"
|
||||
}
|
||||
PyPy = @{
|
||||
tools = @("bin/python", "bin/pip")
|
||||
command = "--version"
|
||||
}
|
||||
go = @{
|
||||
tools = @("bin/go")
|
||||
command = "version"
|
||||
}
|
||||
Ruby = @{
|
||||
tools = @("bin/ruby")
|
||||
command = "--version"
|
||||
}
|
||||
}
|
||||
|
||||
foreach($tool in $tools) {
|
||||
$toolName = $tool.Name
|
||||
Context "$toolName" {
|
||||
$toolExecs = $toolsExecutables[$toolName]
|
||||
|
||||
foreach ($version in $tool.versions) {
|
||||
# Add wildcard if missing
|
||||
if ($version.Split(".").Length -lt 3) {
|
||||
$version += ".*"
|
||||
}
|
||||
|
||||
$expectedVersionPath = Join-Path $env:AGENT_TOOLSDIRECTORY $toolName $version
|
||||
|
||||
It "$version version folder exists" -TestCases @{ ExpectedVersionPath = $expectedVersionPath} {
|
||||
$ExpectedVersionPath | Should -Exist
|
||||
}
|
||||
|
||||
$toolExecs = $toolsExecutables[$toolName]
|
||||
$foundVersion = Get-Item $expectedVersionPath `
|
||||
| Sort-Object -Property {[version]$_.name} -Descending `
|
||||
| Select-Object -First 1
|
||||
$foundVersionPath = Join-Path $foundVersion $tool.arch
|
||||
|
||||
if($toolExecs) {
|
||||
foreach ($executable in $toolExecs["tools"]) {
|
||||
$executablePath = Join-Path $foundVersionPath $executable
|
||||
|
||||
It "Validate $executable" -TestCases @{ExecutablePath = $executablePath} {
|
||||
$ExecutablePath | Should -Exist
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user