From ad4d6a9a31a8a897a9857a483eb86f094a5529e2 Mon Sep 17 00:00:00 2001 From: gowridurgad <159780674+gowridurgad@users.noreply.github.com> Date: Wed, 26 Jun 2024 11:59:22 +0530 Subject: [PATCH] Update Node.Tests.ps1 --- tests/Node.Tests.ps1 | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/tests/Node.Tests.ps1 b/tests/Node.Tests.ps1 index 5db2faa..c8141ef 100644 --- a/tests/Node.Tests.ps1 +++ b/tests/Node.Tests.ps1 @@ -2,14 +2,28 @@ Import-Module (Join-Path $PSScriptRoot "../helpers/pester-extensions.psm1") BeforeAll { function Get-UseNodeLogs { - # GitHub Windows images don't have `HOME` variable - $homeDir = $env:HOME ?? $env:HOMEDRIVE - $logsFolderPath = Join-Path -Path $homeDir -ChildPath "runners/*/_diag/pages" -Resolve + # Determine if the current environment is Windows or Linux + $isWindows = $PSVersionTable.PSVersion.Platform -eq "Win32NT" + $isArm64 = $env:PROCESSOR_ARCHITECTURE -eq "ARM64" + + # 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 } }