[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:
Leonid Lapshin
2020-12-30 13:50:21 +03:00
committed by GitHub
parent 3e1fdc417b
commit 1ce075fe93
9 changed files with 77 additions and 12 deletions

View File

@@ -12,11 +12,4 @@ for package in $common_packages $cmd_packages; do
apt-get install -y --no-install-recommends $package
done
# Run tests to determine that the software installed as expected
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
invoke_tests "Apt"

View File

@@ -23,6 +23,3 @@ touch "$extraction_directory/pinned-version"
# Touch a file to indicate to the toolcache that setting up CodeQL is complete.
touch "$extraction_directory.complete"
# Test that the tool has been extracted successfully.
"$AGENT_TOOLSDIRECTORY/CodeQL/$codeql_bundle_version/x64/codeql/codeql" version

View File

@@ -94,3 +94,5 @@ setEtcEnvironmentVariable DOTNET_NOLOGO 1
setEtcEnvironmentVariable DOTNET_MULTILEVEL_LOOKUP 0
prependEtcEnvironmentPath /home/runner/.dotnet/tools
echo 'export PATH="$PATH:$HOME/.dotnet/tools"' | tee -a /etc/skel/.bashrc
invoke_tests "DotnetSDK"

View 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"
}
}

View 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]*"
}
}
}
}

View File

@@ -22,6 +22,10 @@ Describe "Toolset" {
tools = @("bin/ruby")
command = "--version"
}
CodeQL = @{
tools = @("codeql/codeql")
command = "version"
}
}
foreach($tool in $tools) {
@@ -43,7 +47,7 @@ Describe "Toolset" {
$toolExecs = $toolsExecutables[$toolName]
$foundVersion = Get-Item $expectedVersionPath `
| Sort-Object -Property {[version]$_.name} -Descending `
| Sort-Object -Property {[SemVer]$_.name} -Descending `
| Select-Object -First 1
$foundVersionPath = Join-Path $foundVersion $tool.arch

View File

@@ -69,6 +69,14 @@
"2.7.*",
"3.0.*"
]
},
{
"name": "CodeQL",
"platform" : "linux",
"arch": "x64",
"versions": [
"*"
]
}
],
"android": {

View File

@@ -69,6 +69,14 @@
"2.7.*",
"3.0.*"
]
},
{
"name": "CodeQL",
"platform" : "linux",
"arch": "x64",
"versions": [
"*"
]
}
],
"android": {

View File

@@ -57,6 +57,14 @@
"2.7.*",
"3.0.*"
]
},
{
"name": "CodeQL",
"platform" : "linux",
"arch": "x64",
"versions": [
"*"
]
}
],
"android": {