Update Node.Tests.ps1

This commit is contained in:
gowridurgad 2024-06-26 14:43:49 +05:30 committed by GitHub
parent ad4d6a9a31
commit d920d43ef0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,22 +2,17 @@ Import-Module (Join-Path $PSScriptRoot "../helpers/pester-extensions.psm1")
BeforeAll {
function Get-UseNodeLogs {
# Determine if the current environment is Windows or Linux
$isWindows = $PSVersionTable.PSVersion.Platform -eq "Win32NT"
$isArm64 = $env:PROCESSOR_ARCHITECTURE -eq "ARM64"
# GitHub Windows images don't have `HOME` variable
$homeDir = $env:HOME ?? $env:HOMEDRIVE
$logsFolderPath = Join-Path -Path $homeDir -ChildPath "runners/*/_diag/pages" -Resolve
# For Windows, use HOMEDRIVE if HOME is not available
# For Linux, use HOME directly
$homeDir = if ($isWindows) { $env:HOME ?? $env:HOMEDRIVE } else { $env:HOME }
# Check if the OS is Windows ARM64 or Linux ARM64 and set the logs folder path accordingly
if ($isWindows -and $isArm64) {
$logsFolderPath = Join-Path -Path $homeDir -ChildPath "runners/_diag/pages" -Resolve
} elseif (-not $isWindows -and $isArm64) {
$logsFolderPath = Join-Path -Path $homeDir -ChildPath "runners/_diag/pages" -Resolve
} else {
throw "Unsupported OS or architecture."
}
$useNodeLogFile = Get-ChildItem -Path $logsFolderPath | Where-Object {
$logContent = Get-Content $_.Fullname -Raw
return $logContent -match "setup-node@v"
} | Select-Object -First 1
return $useNodeLogFile.Fullname
}
}
$useNodeLogFile = Get-ChildItem -Path $logsFolderPath | Where-Object {
$logContent = Get-Content $_.Fullname -Raw
@ -51,9 +46,12 @@ Describe "Node.js" {
It "cached version is used without downloading" {
# Analyze output of previous steps to check if Node.js was consumed from cache or downloaded
$useNodeLogFile = Get-UseNodeLogs
if ($useNodeLogFile -eq $null) {
Set-ItResult -Skipped -Because "Log file does not exist"
} else {
$useNodeLogFile | Should -Exist
$useNodeLogContent = Get-Content $useNodeLogFile -Raw
$useNodeLogContent | Should -Match "Found in cache"
}
}
It "Run simple code" {