From 1d84a5ea799a50451bfc0742a5ef60cc43c62af8 Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev Date: Sun, 18 Oct 2020 20:07:40 +0300 Subject: [PATCH 1/4] fix test to work with haskell revisions --- images/win/scripts/Tests/Haskell.Tests.ps1 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/images/win/scripts/Tests/Haskell.Tests.ps1 b/images/win/scripts/Tests/Haskell.Tests.ps1 index b6ebb7630..53a0bf6ce 100644 --- a/images/win/scripts/Tests/Haskell.Tests.ps1 +++ b/images/win/scripts/Tests/Haskell.Tests.ps1 @@ -3,12 +3,14 @@ Describe "Haskell" { [array]$ghcVersionList = Get-ChildItem -Path $chocoPackagesPath -Filter "ghc.*" | ForEach-Object { $_.Name.TrimStart("ghc.") } $ghcCount = $ghcVersionList.Count $defaultGhcVersion = $ghcVersionList | Sort-Object {[Version]$_} | Select-Object -Last 1 + $defaultGhcShortVersion = ([version]$defaultGhcVersion).ToString(3) $ghcTestCases = $ghcVersionList | ForEach-Object { $ghcVersion = $_ + $ghcShortVersion = ([version]$ghcVersion).ToString(3) @{ - ghcVersion = $ghcVersion - binGhcPath = Join-Path $chocoPackagesPath "ghc.$ghcVersion\tools\ghc-$ghcVersion\bin\ghc.exe" + ghcVersion = $ghcShortVersion + binGhcPath = Join-Path $chocoPackagesPath "ghc.$ghcVersion\tools\ghc-$ghcShortVersion\bin\ghc.exe" } } @@ -20,7 +22,7 @@ Describe "Haskell" { "$binGhcPath --version" | Should -MatchCommandOutput $ghcVersion } - It "GHC is the default version and should be the latest installed" -TestCases @{defaultGhcVersion = $defaultGhcVersion} { + It "GHC is the default version and should be the latest installed" -TestCases @{defaultGhcVersion = $defaultGhcShortVersion} { "ghc --version" | Should -MatchCommandOutput $defaultGhcVersion } From 57a08bac71edeea90bfa48d6496782dfafb41f78 Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev Date: Sun, 18 Oct 2020 20:52:32 +0300 Subject: [PATCH 2/4] add correct path to install haskell --- images/win/scripts/Installers/Install-Haskell.ps1 | 3 ++- images/win/scripts/Tests/Haskell.Tests.ps1 | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/images/win/scripts/Installers/Install-Haskell.ps1 b/images/win/scripts/Installers/Install-Haskell.ps1 index 50c0c6d4a..18b256a3b 100644 --- a/images/win/scripts/Installers/Install-Haskell.ps1 +++ b/images/win/scripts/Installers/Install-Haskell.ps1 @@ -17,7 +17,8 @@ ForEach ($version in $VersionsList) # Add default version of GHC to path, because choco formula updates path on user level $DefaultGhcVersion = $VersionsList | Select-Object -Last 1 -$DefaultGhcPath = Join-Path $env:ChocolateyInstall "lib\ghc.$DefaultGhcVersion\tools\ghc-$DefaultGhcVersion\bin" +$DefaultGhcShortVersion = ([version]$DefaultGhcVersion).ToString(3) +$DefaultGhcPath = Join-Path $env:ChocolateyInstall "lib\ghc.$DefaultGhcVersion\tools\ghc-$DefaultGhcShortVersion\bin" Add-MachinePathItem -PathItem $DefaultGhcPath Write-Host "Installing cabal..." diff --git a/images/win/scripts/Tests/Haskell.Tests.ps1 b/images/win/scripts/Tests/Haskell.Tests.ps1 index 53a0bf6ce..38a558de8 100644 --- a/images/win/scripts/Tests/Haskell.Tests.ps1 +++ b/images/win/scripts/Tests/Haskell.Tests.ps1 @@ -9,7 +9,8 @@ Describe "Haskell" { $ghcVersion = $_ $ghcShortVersion = ([version]$ghcVersion).ToString(3) @{ - ghcVersion = $ghcShortVersion + ghcVersion = $ghcVersion + ghcShortVersion = $ghcShortVersion binGhcPath = Join-Path $chocoPackagesPath "ghc.$ghcVersion\tools\ghc-$ghcShortVersion\bin\ghc.exe" } } @@ -19,11 +20,11 @@ Describe "Haskell" { } It "GHC is installed" -TestCases $ghcTestCases { - "$binGhcPath --version" | Should -MatchCommandOutput $ghcVersion + "$binGhcPath --version" | Should -MatchCommandOutput $ghcShortVersion } - It "GHC is the default version and should be the latest installed" -TestCases @{defaultGhcVersion = $defaultGhcShortVersion} { - "ghc --version" | Should -MatchCommandOutput $defaultGhcVersion + It "GHC is the default version and should be the latest installed" -TestCases @{defaultGhcShortVersion = $defaultGhcShortVersion} { + "ghc --version" | Should -MatchCommandOutput $defaultGhcShortVersion } It "Cabal is installed" { From 12d5315961c319a62310c32694d3a196cec88a74 Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev Date: Sun, 18 Oct 2020 21:14:39 +0300 Subject: [PATCH 3/4] add ghcdefault cases --- images/win/scripts/Tests/Haskell.Tests.ps1 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/images/win/scripts/Tests/Haskell.Tests.ps1 b/images/win/scripts/Tests/Haskell.Tests.ps1 index 38a558de8..1576c83ca 100644 --- a/images/win/scripts/Tests/Haskell.Tests.ps1 +++ b/images/win/scripts/Tests/Haskell.Tests.ps1 @@ -3,7 +3,10 @@ Describe "Haskell" { [array]$ghcVersionList = Get-ChildItem -Path $chocoPackagesPath -Filter "ghc.*" | ForEach-Object { $_.Name.TrimStart("ghc.") } $ghcCount = $ghcVersionList.Count $defaultGhcVersion = $ghcVersionList | Sort-Object {[Version]$_} | Select-Object -Last 1 - $defaultGhcShortVersion = ([version]$defaultGhcVersion).ToString(3) + $ghcDefaultCases = @{ + defaultGhcVersion = $defaultGhcVersion + defaultGhcShortVersion = ([version]$defaultGhcVersion).ToString(3) + } $ghcTestCases = $ghcVersionList | ForEach-Object { $ghcVersion = $_ @@ -23,7 +26,7 @@ Describe "Haskell" { "$binGhcPath --version" | Should -MatchCommandOutput $ghcShortVersion } - It "GHC is the default version and should be the latest installed" -TestCases @{defaultGhcShortVersion = $defaultGhcShortVersion} { + It "GHC is the default version and should be the latest installed" -TestCases @ghcDefaultCases { "ghc --version" | Should -MatchCommandOutput $defaultGhcShortVersion } From a9b5e805215a31c76b522bfce9f4307308c85326 Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev Date: Sun, 18 Oct 2020 21:45:48 +0300 Subject: [PATCH 4/4] Fix testcase name --- images/win/scripts/Tests/Haskell.Tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/win/scripts/Tests/Haskell.Tests.ps1 b/images/win/scripts/Tests/Haskell.Tests.ps1 index 1576c83ca..826dc16d8 100644 --- a/images/win/scripts/Tests/Haskell.Tests.ps1 +++ b/images/win/scripts/Tests/Haskell.Tests.ps1 @@ -26,7 +26,7 @@ Describe "Haskell" { "$binGhcPath --version" | Should -MatchCommandOutput $ghcShortVersion } - It "GHC is the default version and should be the latest installed" -TestCases @ghcDefaultCases { + It "GHC is the default version and should be the latest installed" -TestCases $ghcDefaultCases { "ghc --version" | Should -MatchCommandOutput $defaultGhcShortVersion }