mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2025-12-20 06:29:50 +00:00
233 lines
7.3 KiB
PowerShell
233 lines
7.3 KiB
PowerShell
Describe "Azure Cosmos DB Emulator" {
|
|
$cosmosDbEmulatorRegKey = Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*" | Get-ItemProperty | Where-Object { $_.DisplayName -eq 'Azure Cosmos DB Emulator' }
|
|
$installDir = $cosmosDbEmulatorRegKey.InstallLocation
|
|
|
|
It "Azure Cosmos DB Emulator install location registry key exists" -TestCases @{installDir = $installDir} {
|
|
$installDir | Should -Not -BeNullOrEmpty
|
|
}
|
|
|
|
It "Azure Cosmos DB Emulator exe file exists" -TestCases @{installDir = $installDir} {
|
|
$exeFilePath = Join-Path $installDir 'CosmosDB.Emulator.exe'
|
|
$exeFilePath | Should -Exist
|
|
}
|
|
}
|
|
|
|
Describe "Bazel" {
|
|
It "<ToolName>" -TestCases @(
|
|
@{ ToolName = "bazel" }
|
|
@{ ToolName = "bazelisk" }
|
|
) {
|
|
"$ToolName --version"| Should -ReturnZeroExitCode
|
|
}
|
|
}
|
|
|
|
Describe "CodeQLBundles" {
|
|
It "Latest CodeQL Bundle" {
|
|
$CodeQLVersionsWildcard = Join-Path $Env:AGENT_TOOLSDIRECTORY -ChildPath "CodeQL" | Join-Path -ChildPath "*"
|
|
$LatestCodeQLVersionPath = Get-ChildItem $CodeQLVersionsWildcard | Sort-Object -Descending | Select-Object -First 1 -Expand FullName
|
|
$LatestCodeQLPath = Join-Path $LatestCodeQLVersionPath -ChildPath "x64" | Join-Path -ChildPath "codeql" | Join-Path -ChildPath "codeql.exe"
|
|
"$LatestCodeQLPath version --quiet" | Should -ReturnZeroExitCode
|
|
|
|
$LatestCodeQLPacksPath = Join-Path $LatestCodeQLVersionPath -ChildPath "x64" | Join-Path -ChildPath "codeql" | Join-Path -ChildPath "qlpacks"
|
|
$LatestCodeQLPacksPath | Should -Exist
|
|
}
|
|
|
|
It "Prior CodeQL Bundle" {
|
|
$CodeQLVersionsWildcard = Join-Path $Env:AGENT_TOOLSDIRECTORY -ChildPath "CodeQL" | Join-Path -ChildPath "*"
|
|
$PriorCodeQLVersionPath = Get-ChildItem $CodeQLVersionsWildcard | Sort-Object -Descending | Select-Object -Last 1 -Expand FullName
|
|
$PriorCodeQLPath = Join-Path $PriorCodeQLVersionPath -ChildPath "x64" | Join-Path -ChildPath "codeql" | Join-Path -ChildPath "codeql.exe"
|
|
"$PriorCodeQLPath version --quiet" | Should -ReturnZeroExitCode
|
|
|
|
$PriorCodeQLPacksPath = Join-Path $PriorCodeQLVersionPath -ChildPath "x64" | Join-Path -ChildPath "codeql" | Join-Path -ChildPath "qlpacks"
|
|
$PriorCodeQLPacksPath | Should -Exist
|
|
}
|
|
|
|
It "Latest and Prior CodeQL Bundles are unique" {
|
|
$CodeQLVersionsWildcard = Join-Path $Env:AGENT_TOOLSDIRECTORY -ChildPath "CodeQL" | Join-Path -ChildPath "*"
|
|
|
|
$LatestCodeQLVersionPath = Get-ChildItem $CodeQLVersionsWildcard | Sort-Object -Descending | Select-Object -First 1 -Expand FullName
|
|
$LatestCodeQLPath = Join-Path $LatestCodeQLVersionPath -ChildPath "x64" | Join-Path -ChildPath "codeql" | Join-Path -ChildPath "codeql.exe"
|
|
$LatestCodeQLVersion = & $LatestCodeQLPath version --quiet
|
|
|
|
$PriorCodeQLVersionPath = Get-ChildItem $CodeQLVersionsWildcard | Sort-Object -Descending | Select-Object -Last 1 -Expand FullName
|
|
$PriorCodeQLPath = Join-Path $PriorCodeQLVersionPath -ChildPath "x64" | Join-Path -ChildPath "codeql" | Join-Path -ChildPath "codeql.exe"
|
|
$PriorCodeQLVersion = & $PriorCodeQLPath version --quiet
|
|
|
|
$LatestCodeQLVersion | Should -Not -Match $PriorCodeQLVersion
|
|
}
|
|
|
|
}
|
|
|
|
Describe "R" {
|
|
It "Rscript" {
|
|
"Rscript --version" | Should -ReturnZeroExitCode
|
|
}
|
|
}
|
|
|
|
Describe "DACFx" {
|
|
It "DACFx" {
|
|
(Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*).DisplayName -Contains "Microsoft SQL Server Data-Tier Application Framework" | Should -BeTrue
|
|
$sqlPackagePath = 'C:\Program Files\Microsoft SQL Server\160\DAC\bin\SqlPackage.exe'
|
|
"${sqlPackagePath}" | Should -Exist
|
|
}
|
|
|
|
It "SqlLocalDB" -Skip:(Test-IsWin22) {
|
|
$sqlLocalDBPath = 'C:\Program Files\Microsoft SQL Server\130\Tools\Binn\SqlLocalDB.exe'
|
|
"${sqlLocalDBPath}" | Should -Exist
|
|
}
|
|
}
|
|
|
|
Describe "DotnetTLS" -Skip:(Test-IsWin22) {
|
|
It "Tls 1.2 is enabled" {
|
|
[Net.ServicePointManager]::SecurityProtocol -band "Tls12" | Should -Be Tls12
|
|
}
|
|
}
|
|
|
|
Describe "Mercurial" {
|
|
It "Mercurial" {
|
|
"hg --version" | Should -ReturnZeroExitCode
|
|
}
|
|
}
|
|
|
|
Describe "KubernetesTools" {
|
|
It "Kind" {
|
|
"kind version" | Should -ReturnZeroExitCode
|
|
}
|
|
|
|
It "kubectl" {
|
|
"kubectl version --client=true --short=true" | Should -ReturnZeroExitCode
|
|
}
|
|
|
|
It "Helm" {
|
|
"helm version --short" | Should -ReturnZeroExitCode
|
|
}
|
|
|
|
It "minikube" {
|
|
"minikube version --short" | Should -ReturnZeroExitCode
|
|
}
|
|
}
|
|
|
|
Describe "Mingw64" {
|
|
It "<ToolName>" -TestCases @(
|
|
@{ ToolName = "gcc" }
|
|
@{ ToolName = "g++" }
|
|
@{ ToolName = "make" }
|
|
) {
|
|
"$ToolName --version" | Should -ReturnZeroExitCode
|
|
}
|
|
}
|
|
|
|
Describe "GoogleCloudSDK" -Skip:(Test-IsWin22) {
|
|
It "<ToolName>" -TestCases @(
|
|
@{ ToolName = "bq" }
|
|
@{ ToolName = "gcloud" }
|
|
@{ ToolName = "gsutil" }
|
|
) {
|
|
"$ToolName version" | Should -ReturnZeroExitCode
|
|
}
|
|
}
|
|
|
|
Describe "NET48" {
|
|
It "NET48" {
|
|
Get-ChildItem -Path "${env:ProgramFiles(x86)}\Microsoft SDKs\Windows\*\*\NETFX 4.8 Tools" -Directory | Should -HaveCount 1
|
|
}
|
|
}
|
|
|
|
Describe "NSIS" {
|
|
It "NSIS" {
|
|
"makensis /VERSION" | Should -ReturnZeroExitCode
|
|
}
|
|
}
|
|
|
|
Describe "PowerShell Core" {
|
|
It "pwsh" {
|
|
"pwsh --version" | Should -ReturnZeroExitCode
|
|
}
|
|
|
|
It "Execute 2+2 command" {
|
|
pwsh -Command "2+2" | Should -BeExactly 4
|
|
}
|
|
}
|
|
|
|
Describe "Sbt" {
|
|
It "sbt" {
|
|
"sbt --version" | Should -ReturnZeroExitCode
|
|
}
|
|
}
|
|
|
|
Describe "ServiceFabricSDK" {
|
|
It "PowerShell Module" {
|
|
Get-Module -Name ServiceFabric -ListAvailable | Should -Not -BeNullOrEmpty
|
|
}
|
|
|
|
It "ServiceFabricSDK version" {
|
|
Get-ItemPropertyValue 'HKLM:\SOFTWARE\Microsoft\Service Fabric\' -Name FabricVersion | Should -Not -BeNullOrEmpty
|
|
}
|
|
}
|
|
|
|
Describe "Stack" {
|
|
It "Stack" {
|
|
"stack --version" | Should -ReturnZeroExitCode
|
|
}
|
|
}
|
|
|
|
Describe "Vcpkg" {
|
|
It "vcpkg" {
|
|
"vcpkg version" | Should -ReturnZeroExitCode
|
|
}
|
|
|
|
It "env variable VCPKG_INSTALLATION_ROOT is set" {
|
|
$env:VCPKG_INSTALLATION_ROOT | Should -Not -BeNullOrEmpty
|
|
}
|
|
|
|
It "VCPKG_INSTALLATION_ROOT directory" {
|
|
$env:VCPKG_INSTALLATION_ROOT | Should -Exist
|
|
}
|
|
}
|
|
|
|
Describe "VCRedist" -Skip:(Test-IsWin22) {
|
|
It "vcredist_2010_x64" {
|
|
"HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1D8E6291-B0D5-35EC-8441-6616F567A0F7}" | Should -Exist
|
|
"C:\Windows\System32\msvcr100.dll" | Should -Exist
|
|
}
|
|
}
|
|
|
|
Describe "WebPlatformInstaller" {
|
|
It "WebPlatformInstaller" {
|
|
"WebPICMD" | Should -ReturnZeroExitCode
|
|
}
|
|
}
|
|
|
|
Describe "Zstd" {
|
|
It "zstd" {
|
|
"zstd -V" | Should -ReturnZeroExitCode
|
|
}
|
|
}
|
|
|
|
Describe "Pipx" {
|
|
It "Pipx" {
|
|
"pipx --version" | Should -ReturnZeroExitCode
|
|
}
|
|
}
|
|
|
|
Describe "Kotlin" {
|
|
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlin-dce-js", "kotlinc-jvm")
|
|
|
|
It "<toolName> is available" -TestCases ($kotlinPackages | ForEach-Object { @{ toolName = $_ } }) {
|
|
"$toolName -version" | Should -ReturnZeroExitCode
|
|
}
|
|
}
|
|
|
|
Describe "SQL OLEDB Driver" {
|
|
It "SQL OLEDB Driver" {
|
|
"HKLM:\SOFTWARE\Microsoft\MSOLEDBSQL" | Should -Exist
|
|
}
|
|
}
|
|
|
|
Describe "OpenSSL" {
|
|
It "OpenSSL" {
|
|
$OpenSSLVersion = (Get-ToolsetContent).openssl.version
|
|
openssl version | Should -BeLike "* ${OpenSSLVersion}*"
|
|
}
|
|
}
|