[macOS] move Pester tests to separate files/contexts/describes (#2573)

* [macOS] Fail Pester tests on error

* return it back

* added all files for testing

* common utils path changed

* linux scripts shouldn't be touched
This commit is contained in:
Darii Nurgaleev
2021-01-29 16:37:48 +07:00
committed by GitHub
parent 2ee29eddc1
commit f5b6afebd0
11 changed files with 264 additions and 204 deletions

View File

@@ -14,4 +14,4 @@ echo "set Soundflower (2ch) as input/output device"
SwitchAudioSource -s "Soundflower (2ch)" -t input
SwitchAudioSource -s "Soundflower (2ch)" -t output
invoke_tests "Common" "Audio Device"
invoke_tests "System" "Audio Device"

View File

@@ -22,5 +22,5 @@ fi
# Invoke bazel to download bazel version via bazelisk
bazel
# Invoke tests for all common tools
invoke_tests "Common" "CommonUtils"
# Invoke tests for all basic tools
invoke_tests "BasicTools"

View File

@@ -31,4 +31,4 @@ git config --global advice.detachedHead false
git config --global advice.amWorkDir false
git config --global advice.rmHints false
invoke_tests "Common" "Git"
invoke_tests "Git"

View File

@@ -10,4 +10,4 @@ brew_smart_install "openssl@1.1"
# Symlink brew openssl@1.1 to `/usr/local/bin` as Homebrew refuses
ln -sf $(brew --prefix openssl@1.1)/bin/openssl /usr/local/bin/openssl
invoke_tests "Common" "OpenSSL"
invoke_tests "OpenSSL"

View File

@@ -0,0 +1,163 @@
$os = Get-OSVersion
Describe "Carthage" {
It "Carthage" {
"carthage version" | Should -ReturnZeroExitCode
}
}
Describe "cmake" {
It "cmake" {
"cmake --version" | Should -ReturnZeroExitCode
}
}
Describe "Subversion" {
It "Subversion" {
"svn --version" | Should -ReturnZeroExitCode
}
}
Describe "Go" {
It "Go" {
"go version" | Should -ReturnZeroExitCode
}
}
Describe "GnuPG" {
It "GnuPG" {
"gpg --version" | Should -ReturnZeroExitCode
}
}
Describe "Clang/LLVM" {
It "Clang/LLVM is installed" {
"$(brew --prefix llvm)/bin/clang --version" | Should -ReturnZeroExitCode
}
}
Describe "zstd" {
It "zstd" {
"zstd --version" | Should -ReturnZeroExitCode
}
}
Describe "Packer" {
It "Packer" {
"packer --version" | Should -ReturnZeroExitCode
}
}
Describe "Perl" {
It "Perl" {
"perl -e 'print substr($^V,1)'" | Should -ReturnZeroExitCode
}
}
Describe "Helm" {
It "Helm" {
"helm version --short" | Should -ReturnZeroExitCode
}
}
Describe "bazelisk" {
It "bazelisk" {
"bazelisk version" | Should -ReturnZeroExitCode
}
}
Describe "Github CLI" {
It "GitHub CLI" {
"gh --version" | Should -ReturnZeroExitCode
}
}
Describe "7-Zip" {
It "7-Zip" {
"7z i" | Should -ReturnZeroExitCode
}
}
Describe "Apache Ant" {
It "Apache Ant" {
"ant -version" | Should -ReturnZeroExitCode
}
}
Describe "Aria2" {
It "Aria2" {
"aria2c --version" | Should -ReturnZeroExitCode
}
}
Describe "GNU Tar" {
It "GNU Tar" {
"gtar --version" | Should -ReturnZeroExitCode
}
}
Describe "bazel" {
It "bazel" {
"bazel --version" | Should -ReturnZeroExitCode
}
}
Describe "Aliyun CLI" {
It "Aliyun CLI" {
"aliyun --version" | Should -ReturnZeroExitCode
}
}
Describe "Julia" {
It "Julia" {
"julia --version" | Should -ReturnZeroExitCode
}
}
Describe "jq" {
It "jq" {
"jq --version" | Should -ReturnZeroExitCode
}
}
Describe "curl" {
It "curl" {
"curl --version" | Should -ReturnZeroExitCode
}
}
Describe "wget" {
It "wget" {
"wget --version" | Should -ReturnZeroExitCode
}
}
Describe "vagrant" -Skip:($os.IsBigSur) {
It "vagrant" {
"vagrant --version" | Should -ReturnZeroExitCode
}
}
Describe "virtualbox" -Skip:($os.IsBigSur) {
It "virtualbox" {
"vboxmanage -v" | Should -ReturnZeroExitCode
}
}
Describe "xctool" -Skip:($os.IsBigSur) {
It "xctool" {
"xctool --version" | Should -ReturnZeroExitCode
}
}
Describe "R" -Skip:($os.IsBigSur) {
It "R" {
"R --version" | Should -ReturnZeroExitCode
}
}
Describe "Homebrew" {
It "Homebrew" {
"brew --version" | Should -ReturnZeroExitCode
}
}

View File

@@ -3,169 +3,12 @@ Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" -DisableNameChecking
$os = Get-OSVersion
Describe "Disk free space" {
It "Image has more than 10GB free space" {
# we should have at least 10 GB of free space on macOS images
# https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops#capabilities-and-limitations
$freeSpace = (Get-PSDrive "/").Free
$freeSpace | Should -BeGreaterOrEqual 10GB
}
}
Describe "Certificate" {
It "Apple Worldwide Developer Relations Certification Authority[expired: 2030-02] is installed" {
$sha1Hash = "06EC06599F4ED0027CC58956B4D3AC1255114F35"
$certs = security find-certificate -a -c Worldwide -p -Z | Out-String
$certs | Should -Match $sha1Hash
}
}
Describe "Git" {
It "git is installed" {
"git --version" | Should -ReturnZeroExitCode
}
It "git lfs is installed" {
"git lfs version" | Should -ReturnZeroExitCode
}
It "hub CLI is installed" {
"hub --version" | Should -ReturnZeroExitCode
}
}
Describe "Audio device" -Skip:($os.IsHighSierra -or $os.IsBigSur) {
It "Sox is installed" {
"sox --version" | Should -ReturnZeroExitCode
}
It "SwitchAudioSource is installed" {
"SwitchAudioSource -c" | Should -ReturnZeroExitCode
}
It "Audio channel Soundflower (2ch)" {
SwitchAudioSource -c | Should -BeLikeExactly "Soundflower (2ch)"
}
}
Describe "CommonUtils" {
It "Carthage" {
"carthage version" | Should -ReturnZeroExitCode
}
It "cmake" {
"cmake --version" | Should -ReturnZeroExitCode
}
It "Subversion" {
"svn --version" | Should -ReturnZeroExitCode
}
It "Go" {
"go version" | Should -ReturnZeroExitCode
}
It "GnuPG" {
"gpg --version" | Should -ReturnZeroExitCode
}
It "Clang/LLVM is installed" {
"$(brew --prefix llvm)/bin/clang --version" | Should -ReturnZeroExitCode
}
It "zstd" {
"zstd --version" | Should -ReturnZeroExitCode
}
It "Packer" {
"packer --version" | Should -ReturnZeroExitCode
}
It "Perl" {
"perl -e 'print substr($^V,1)'" | Should -ReturnZeroExitCode
}
It "Helm" {
"helm version --short" | Should -ReturnZeroExitCode
}
It "bazelisk" {
"bazelisk version" | Should -ReturnZeroExitCode
}
It "GitHub CLI" {
"gh --version" | Should -ReturnZeroExitCode
}
It "7-Zip" {
"7z i" | Should -ReturnZeroExitCode
}
It "Apache Ant" {
"ant -version" | Should -ReturnZeroExitCode
}
It "Aria2" {
"aria2c --version" | Should -ReturnZeroExitCode
}
It "GNU Tar" {
"gtar --version" | Should -ReturnZeroExitCode
}
It "bazel" {
"bazel --version" | Should -ReturnZeroExitCode
}
It "Aliyun CLI" {
"aliyun --version" | Should -ReturnZeroExitCode
}
It "Julia" {
"julia --version" | Should -ReturnZeroExitCode
}
It "jq" {
"jq --version" | Should -ReturnZeroExitCode
}
It "curl" {
"curl --version" | Should -ReturnZeroExitCode
}
It "wget" {
"wget --version" | Should -ReturnZeroExitCode
}
It "vagrant" -Skip:($os.IsBigSur) {
"vagrant --version" | Should -ReturnZeroExitCode
}
It "virtualbox" -Skip:($os.IsBigSur) {
"vboxmanage -v" | Should -ReturnZeroExitCode
}
It "xctool" -Skip:($os.IsBigSur) {
"xctool --version" | Should -ReturnZeroExitCode
}
It "R" -Skip:($os.IsBigSur) {
"R --version" | Should -ReturnZeroExitCode
}
}
Describe ".NET" {
It ".NET" {
"dotnet --version" | Should -ReturnZeroExitCode
}
}
Describe "Homebrew" {
It "Homebrew" {
"brew --version" | Should -ReturnZeroExitCode
}
}
Describe "GCC" -Skip:($os.IsHighSierra) {
$testCases = @("8", "9", "10") | ForEach-Object { @{Version = $_} }
@@ -190,24 +33,12 @@ Describe "GCC" -Skip:($os.IsHighSierra) {
}
}
Describe "Screen Resolution" -Skip:($os.IsHighSierra) {
It "Screen Resolution" {
system_profiler SPDisplaysDataType | Select-String "Resolution" | Should -Match "1176 x 885"
}
}
Describe "vcpkg" -Skip:($os.IsHighSierra -or $os.IsMojave) {
It "vcpkg" {
"vcpkg version" | Should -ReturnZeroExitCode
}
}
Describe "Newman" -Skip:($os.IsHighSierra -or $os.IsMojave) {
It "Newman" {
"newman --version" | Should -ReturnZeroExitCode
}
}
Describe "AWS" {
It "AWS CLI" {
"aws --version" | Should -ReturnZeroExitCode
@@ -227,12 +58,6 @@ Describe "AzCopy" {
}
}
Describe "AzureCLI" {
It "Azure CLI" {
"az -v" | Should -ReturnZeroExitCode
}
}
Describe "Miniconda" {
It "Conda" {
Get-EnvironmentVariable "CONDA" | Should -Not -BeNullOrEmpty
@@ -241,28 +66,6 @@ Describe "Miniconda" {
}
}
Describe "AppCenterCLI" {
It "App Center CLI" {
"appcenter --version" | Should -ReturnZeroExitCode
}
}
Describe "OpenSSL" {
It "OpenSSL is available" {
"openssl version" | Should -ReturnZeroExitCode
}
It "OpenSSL 1.1 path exists" {
$openSSLpath = "/usr/local/opt/openssl@1.1"
$openSSLpath | Should -Exist
}
It "Default OpenSSL version is 1.1" {
$commandResult = Get-CommandResult "openssl version"
$commandResult.Output | Should -Match "OpenSSL 1.1"
}
}
Describe "Stack" -Skip:($os.IsHighSierra) {
It "Stack" {
"stack --version" | Should -ReturnZeroExitCode

View File

@@ -0,0 +1,13 @@
Describe "Git" {
It "git is installed" {
"git --version" | Should -ReturnZeroExitCode
}
It "git lfs is installed" {
"git lfs version" | Should -ReturnZeroExitCode
}
It "hub CLI is installed" {
"hub --version" | Should -ReturnZeroExitCode
}
}

View File

@@ -1,6 +1,8 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" -DisableNameChecking
$os = Get-OSVersion
Describe "Node.js" {
BeforeAll {
$os = Get-OSVersion
@@ -48,3 +50,15 @@ Describe "nvm" {
}
}
}
Describe "AppCenterCLI" {
It "App Center CLI" {
"appcenter --version" | Should -ReturnZeroExitCode
}
}
Describe "Newman" -Skip:($os.IsHighSierra -or $os.IsMojave) {
It "Newman" {
"newman --version" | Should -ReturnZeroExitCode
}
}

View File

@@ -0,0 +1,21 @@
Describe "OpenSSL" {
Context "OpenSSL Version" {
It "OpenSSL is available" {
"openssl version" | Should -ReturnZeroExitCode
}
}
Context "OpenSSL 1.1 Path Check" {
It "OpenSSL 1.1 path exists" {
$openSSLpath = "/usr/local/opt/openssl@1.1"
$openSSLpath | Should -Exist
}
}
Context "OpenSSL 1.1 is default" {
It "Default OpenSSL version is 1.1" {
$commandResult = Get-CommandResult "openssl version"
$commandResult.Output | Should -Match "OpenSSL 1.1"
}
}
}

View File

@@ -2,8 +2,10 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" -DisableNameChecking
Describe "Powershell" {
It "Powershell is installed" {
"pwsh -v" | Should -ReturnZeroExitCode
Context "Powershell is installed" {
It "Powershell is installed" {
"pwsh -v" | Should -ReturnZeroExitCode
}
}
Context "Powershell Modules" {
@@ -38,4 +40,10 @@ Describe "Powershell" {
}
}
}
Context "Azure CLI" {
It "Azure CLI" {
"az -v" | Should -ReturnZeroExitCode
}
}
}

View File

@@ -0,0 +1,38 @@
$os = Get-OSVersion
Describe "Disk free space" {
It "Image has more than 10GB free space" {
# we should have at least 10 GB of free space on macOS images
# https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops#capabilities-and-limitations
$freeSpace = (Get-PSDrive "/").Free
$freeSpace | Should -BeGreaterOrEqual 10GB
}
}
Describe "Certificate" {
It "Apple Worldwide Developer Relations Certification Authority[expired: 2030-02] is installed" {
$sha1Hash = "06EC06599F4ED0027CC58956B4D3AC1255114F35"
$certs = security find-certificate -a -c Worldwide -p -Z | Out-String
$certs | Should -Match $sha1Hash
}
}
Describe "Audio device" -Skip:($os.IsHighSierra -or $os.IsBigSur) {
It "Sox is installed" {
"sox --version" | Should -ReturnZeroExitCode
}
It "SwitchAudioSource is installed" {
"SwitchAudioSource -c" | Should -ReturnZeroExitCode
}
It "Audio channel Soundflower (2ch)" {
SwitchAudioSource -c | Should -BeLikeExactly "Soundflower (2ch)"
}
}
Describe "Screen Resolution" -Skip:($os.IsHighSierra) {
It "Screen Resolution" {
system_profiler SPDisplaysDataType | Select-String "Resolution" | Should -Match "1176 x 885"
}
}