mirror of
https://github.com/actions/runner-images.git
synced 2025-12-14 05:07:02 +00:00
[ubuntu] Pester tests for dotnet sdk, cmd tools and codeql (#2335)
* dotnet cmd codeql tests * fixed dotnet tests, added codeql to toolset * changed codeql version to wildcard * removed unused import and a test call * tmp * lowercase file name * removed sourcing invoke-tests Co-authored-by: Leonid Lapshin <originalnoe-nazvanie@yandex.ru>
This commit is contained in:
@@ -12,11 +12,4 @@ for package in $common_packages $cmd_packages; do
|
|||||||
apt-get install -y --no-install-recommends $package
|
apt-get install -y --no-install-recommends $package
|
||||||
done
|
done
|
||||||
|
|
||||||
# Run tests to determine that the software installed as expected
|
invoke_tests "Apt"
|
||||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
|
||||||
for cmd in $cmd_packages; do
|
|
||||||
if ! command -v $cmd; then
|
|
||||||
echo "$cmd was not installed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
@@ -23,6 +23,3 @@ touch "$extraction_directory/pinned-version"
|
|||||||
|
|
||||||
# Touch a file to indicate to the toolcache that setting up CodeQL is complete.
|
# Touch a file to indicate to the toolcache that setting up CodeQL is complete.
|
||||||
touch "$extraction_directory.complete"
|
touch "$extraction_directory.complete"
|
||||||
|
|
||||||
# Test that the tool has been extracted successfully.
|
|
||||||
"$AGENT_TOOLSDIRECTORY/CodeQL/$codeql_bundle_version/x64/codeql/codeql" version
|
|
||||||
|
|||||||
@@ -94,3 +94,5 @@ setEtcEnvironmentVariable DOTNET_NOLOGO 1
|
|||||||
setEtcEnvironmentVariable DOTNET_MULTILEVEL_LOOKUP 0
|
setEtcEnvironmentVariable DOTNET_MULTILEVEL_LOOKUP 0
|
||||||
prependEtcEnvironmentPath /home/runner/.dotnet/tools
|
prependEtcEnvironmentPath /home/runner/.dotnet/tools
|
||||||
echo 'export PATH="$PATH:$HOME/.dotnet/tools"' | tee -a /etc/skel/.bashrc
|
echo 'export PATH="$PATH:$HOME/.dotnet/tools"' | tee -a /etc/skel/.bashrc
|
||||||
|
|
||||||
|
invoke_tests "DotnetSDK"
|
||||||
14
images/linux/scripts/tests/Apt.Tests.ps1
Normal file
14
images/linux/scripts/tests/Apt.Tests.ps1
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||||
|
|
||||||
|
$cmd = (Get-ToolsetContent).apt.cmd_packages
|
||||||
|
|
||||||
|
Describe "Apt" {
|
||||||
|
|
||||||
|
$testCases = $cmd | ForEach-Object {
|
||||||
|
@{ toolName = $_ }
|
||||||
|
}
|
||||||
|
|
||||||
|
It "<toolName> is available" -TestCases $testCases {
|
||||||
|
(Get-Command -Name $toolName).CommandType | Should -BeExactly "Application"
|
||||||
|
}
|
||||||
|
}
|
||||||
31
images/linux/scripts/tests/DotnetSDK.Tests.ps1
Normal file
31
images/linux/scripts/tests/DotnetSDK.Tests.ps1
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||||
|
|
||||||
|
Describe "Dotnet" {
|
||||||
|
|
||||||
|
BeforeAll {
|
||||||
|
$dotnetSDKs = dotnet --list-sdks | ConvertTo-Json
|
||||||
|
$dotnetRuntimes = dotnet --list-runtimes | ConvertTo-Json
|
||||||
|
}
|
||||||
|
|
||||||
|
$dotnetVersions = (Get-ToolsetContent).dotnet.versions
|
||||||
|
|
||||||
|
Context "Default" {
|
||||||
|
It "Default Dotnet SDK is available" {
|
||||||
|
"dotnet --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($version in $dotnetVersions) {
|
||||||
|
Context "Dotnet $version" {
|
||||||
|
$dotnet = @{ dotnetVersion = $version }
|
||||||
|
|
||||||
|
It "SDK $version is available" -TestCases $dotnet {
|
||||||
|
$dotnetSDKs | Should -Match "$dotnetVersion.[1-9]*"
|
||||||
|
}
|
||||||
|
|
||||||
|
It "Runtime $version is available" -TestCases $dotnet {
|
||||||
|
$dotnetRuntimes | Should -Match "$dotnetVersion.[1-9]*"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -22,6 +22,10 @@ Describe "Toolset" {
|
|||||||
tools = @("bin/ruby")
|
tools = @("bin/ruby")
|
||||||
command = "--version"
|
command = "--version"
|
||||||
}
|
}
|
||||||
|
CodeQL = @{
|
||||||
|
tools = @("codeql/codeql")
|
||||||
|
command = "version"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach($tool in $tools) {
|
foreach($tool in $tools) {
|
||||||
@@ -43,7 +47,7 @@ Describe "Toolset" {
|
|||||||
|
|
||||||
$toolExecs = $toolsExecutables[$toolName]
|
$toolExecs = $toolsExecutables[$toolName]
|
||||||
$foundVersion = Get-Item $expectedVersionPath `
|
$foundVersion = Get-Item $expectedVersionPath `
|
||||||
| Sort-Object -Property {[version]$_.name} -Descending `
|
| Sort-Object -Property {[SemVer]$_.name} -Descending `
|
||||||
| Select-Object -First 1
|
| Select-Object -First 1
|
||||||
$foundVersionPath = Join-Path $foundVersion $tool.arch
|
$foundVersionPath = Join-Path $foundVersion $tool.arch
|
||||||
|
|
||||||
|
|||||||
@@ -69,6 +69,14 @@
|
|||||||
"2.7.*",
|
"2.7.*",
|
||||||
"3.0.*"
|
"3.0.*"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "CodeQL",
|
||||||
|
"platform" : "linux",
|
||||||
|
"arch": "x64",
|
||||||
|
"versions": [
|
||||||
|
"*"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"android": {
|
"android": {
|
||||||
|
|||||||
@@ -69,6 +69,14 @@
|
|||||||
"2.7.*",
|
"2.7.*",
|
||||||
"3.0.*"
|
"3.0.*"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "CodeQL",
|
||||||
|
"platform" : "linux",
|
||||||
|
"arch": "x64",
|
||||||
|
"versions": [
|
||||||
|
"*"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"android": {
|
"android": {
|
||||||
|
|||||||
@@ -57,6 +57,14 @@
|
|||||||
"2.7.*",
|
"2.7.*",
|
||||||
"3.0.*"
|
"3.0.*"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "CodeQL",
|
||||||
|
"platform" : "linux",
|
||||||
|
"arch": "x64",
|
||||||
|
"versions": [
|
||||||
|
"*"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"android": {
|
"android": {
|
||||||
|
|||||||
Reference in New Issue
Block a user