diff --git a/tests/Go.Tests.ps1 b/tests/Go.Tests.ps1 index 8a108c1..6f9edf2 100644 --- a/tests/Go.Tests.ps1 +++ b/tests/Go.Tests.ps1 @@ -7,17 +7,13 @@ Import-Module (Join-Path $PSScriptRoot "../helpers/pester-extensions.psm1") Import-Module (Join-Path $PSScriptRoot "../helpers/common-helpers.psm1") function Get-UseGoLogs { - $homeDir = $env:HOME - if ([string]::IsNullOrEmpty($homeDir)) { - # GitHub Windows images don't have `HOME` variable - $homeDir = $env:HOMEDRIVE - } - + # GitHub Windows images don't have `HOME` variable + $homeDir = $env:HOME ?? $env:HOMEDRIVE $logsFolderPath = Join-Path -Path $homeDir -ChildPath "runners/*/_diag/pages" -Resolve $useGoLogFile = Get-ChildItem -Path $logsFolderPath | Where-Object { $logContent = Get-Content $_.Fullname -Raw - return $logContent -match "GoTool" + return $logContent -match "setup-go@v" } | Select-Object -First 1 return $useGoLogFile.Fullname } @@ -28,18 +24,17 @@ Describe "Go" { } It "version is correct" { - $versionOutput = Invoke-Expression -Command "go version" - $finalVersion = $Version.ToString(3) - If ($Version.Build -eq "0"){ - $finalVersion = $Version.ToString(2) - } - $versionOutput | Should -Match $finalVersion + $versionOutput = Invoke-Expression "go --version" + $versionOutput | Should -Match $Version } It "is used from tool-cache" { $goPath = (Get-Command "go").Path $goPath | Should -Not -BeNullOrEmpty - $expectedPath = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath "go" + + # GitHub Windows images don't have `AGENT_TOOLSDIRECTORY` variable + $toolcacheDir = $env:AGENT_TOOLSDIRECTORY ?? $env:RUNNER_TOOL_CACHE + $expectedPath = Join-Path -Path $toolcacheDir -ChildPath "go" $goPath.startsWith($expectedPath) | Should -BeTrue -Because "'$goPath' is not started with '$expectedPath'" } @@ -48,33 +43,6 @@ Describe "Go" { $useGoLogFile = Get-UseGoLogs $useGoLogFile | Should -Exist $useGoLogContent = Get-Content $useGoLogFile -Raw - $useGoLogContent | Should -Match "Found tool in cache" - } - - Set-Location -Path "source" - $sourceLocation = Get-Location - - It "Run simple code" { - $simpleLocation = Join-Path -Path $sourceLocation -ChildPath "simple" - Set-Location -Path $simpleLocation - "go run simple.go" | Should -ReturnZeroExitCode - "go build simple.go" | Should -ReturnZeroExitCode - "./simple" | Should -ReturnZeroExitCode - } - - It "Run maps code" { - $mapsLocation = Join-Path -Path $sourceLocation -ChildPath "maps" - Set-Location -Path $mapsLocation - "go run maps.go" | Should -ReturnZeroExitCode - "go build maps.go" | Should -ReturnZeroExitCode - "./maps" | Should -ReturnZeroExitCode - } - - It "Run methods code" { - $methodsLocation = Join-Path -Path $sourceLocation -ChildPath "methods" - Set-Location -Path $methodsLocation - "go run methods.go" | Should -ReturnZeroExitCode - "go build methods.go" | Should -ReturnZeroExitCode - "./methods" | Should -ReturnZeroExitCode + $useGoLogContent | Should -Match "Found cache" } } \ No newline at end of file