Files
runner-images-temp/images/macos/tests/Android.Tests.ps1
T

73 lines
3.4 KiB
PowerShell
Raw Normal View History

2020-09-10 14:34:08 +03:00
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" -DisableNameChecking
Import-Module "$PSScriptRoot/../software-report/SoftwareReport.Android.psm1" -DisableNameChecking
2020-09-10 14:34:08 +03:00
$os = Get-OSVersion
Describe "Android" {
2020-09-29 18:19:26 +03:00
$androidSdkManagerPackages = Get-AndroidPackages
[int]$platformMinVersion = Get-ToolsetValue "android.platform_min_version"
[version]$buildToolsMinVersion = Get-ToolsetValue "android.build_tools_min_version"
2021-02-01 12:56:44 +03:00
[string]$ndkLatestVersion = Get-ToolsetValue "android.ndk.latest"
[string]$ndkLtsVersion = Get-ToolsetValue "android.ndk.lts"
$ndkLatestFullVersion = (Get-ChildItem "$env:ANDROID_HOME/ndk/$ndkLatestVersion.*" | Select-Object -Last 1).Name
$ndkLtsFullVersion = (Get-ChildItem "$env:ANDROID_HOME/ndk/$ndkLtsVersion.*" | Select-Object -Last 1).Name
2020-09-10 14:34:08 +03:00
$platformVersionsList = ($androidSdkManagerPackages | Where-Object { "$_".StartsWith("platforms;") }) -replace 'platforms;android-', ''
$platformNumericList = $platformVersionsList | Where-Object { $_ -match "\d+" } | Where-Object { [int]$_ -ge $platformMinVersion } | Sort-Object -Unique
$platformLetterList = $platformVersionsList | Where-Object { $_ -match "\D+" } | Sort-Object -Unique
$platforms = $platformNumericList + $platformLetterList | ForEach-Object { "platforms/android-${_}" }
2020-10-08 13:20:08 +03:00
$buildToolsList = ($androidSdkManagerPackages | Where-Object { "$_".StartsWith("build-tools;") }) -replace 'build-tools;', ''
$buildTools = $buildToolsList | Where-Object { $_ -match "\d+(\.\d+){2,}$"} | Where-Object { [version]$_ -ge $buildToolsMinVersion } | Sort-Object -Unique |
ForEach-Object { "build-tools/${_}" }
2020-10-08 13:20:08 +03:00
2020-09-10 14:34:08 +03:00
$androidPackages = @(
"tools",
"platform-tools",
"tools/proguard",
"ndk-bundle",
"cmake",
2021-02-01 12:56:44 +03:00
"ndk/$ndkLatestFullVersion",
"ndk/$ndkLtsFullVersion",
2020-10-08 13:20:08 +03:00
$platforms,
$buildTools,
2020-09-10 14:34:08 +03:00
(Get-ToolsetValue "android.extra-list" | ForEach-Object { "extras/${_}" }),
(Get-ToolsetValue "android.addon-list" | ForEach-Object { "add-ons/${_}" }),
(Get-ToolsetValue "android.additional-tools")
2020-09-10 14:34:08 +03:00
) | ForEach-Object { $_ }
2021-01-11 13:30:51 +07:00
# Remove empty strings from array to avoid possible issues
$androidPackages = $androidPackages | Where-Object {$_}
2020-09-10 14:34:08 +03:00
BeforeAll {
$ANDROID_SDK_DIR = Join-Path $env:HOME "Library" "Android" "sdk"
function Validate-AndroidPackage {
param (
[Parameter(Mandatory=$true)]
[string]$PackageName
)
2020-09-29 18:19:26 +03:00
2020-09-10 14:34:08 +03:00
# Convert 'm2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1' ->
# 'm2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta1'
$PackageName = $PackageName.Replace(";", "/")
$targetPath = Join-Path $ANDROID_SDK_DIR $PackageName
$targetPath | Should -Exist
}
}
Context "Packages" {
$testCases = $androidPackages | ForEach-Object { @{ PackageName = $_ } }
It "<PackageName>" -TestCases $testCases {
param ([string] $PackageName)
Validate-AndroidPackage $PackageName
}
}
It "HAXM is installed" {
$haxmPath = Join-Path $ANDROID_SDK_DIR "extras" "intel" "Hardware_Accelerated_Execution_Manager" "silent_install.sh"
"$haxmPath -v" | Should -ReturnZeroExitCode
}
2021-01-11 13:30:51 +07:00
}