From a13fadbdc63da8ac8133bf46603ecd5c99cbb3b4 Mon Sep 17 00:00:00 2001 From: Mike Pilgrem Date: Mon, 11 May 2026 14:09:33 +0100 Subject: [PATCH] Re #6342 Add an integration test --- .../6342-say-ghc-version-in-build/.gitignore | 1 + .../6342-say-ghc-version-in-build/Main.hs | 25 +++++++++++++++++++ .../files/package.yaml | 9 +++++++ .../files/src/Lib.hs | 1 + .../files/stack.yaml | 1 + 5 files changed, 37 insertions(+) create mode 100644 tests/integration/tests/6342-say-ghc-version-in-build/.gitignore create mode 100644 tests/integration/tests/6342-say-ghc-version-in-build/Main.hs create mode 100644 tests/integration/tests/6342-say-ghc-version-in-build/files/package.yaml create mode 100644 tests/integration/tests/6342-say-ghc-version-in-build/files/src/Lib.hs create mode 100644 tests/integration/tests/6342-say-ghc-version-in-build/files/stack.yaml diff --git a/tests/integration/tests/6342-say-ghc-version-in-build/.gitignore b/tests/integration/tests/6342-say-ghc-version-in-build/.gitignore new file mode 100644 index 0000000000..b0a5a052a1 --- /dev/null +++ b/tests/integration/tests/6342-say-ghc-version-in-build/.gitignore @@ -0,0 +1 @@ +myPackage.cabal diff --git a/tests/integration/tests/6342-say-ghc-version-in-build/Main.hs b/tests/integration/tests/6342-say-ghc-version-in-build/Main.hs new file mode 100644 index 0000000000..51385a13ab --- /dev/null +++ b/tests/integration/tests/6342-say-ghc-version-in-build/Main.hs @@ -0,0 +1,25 @@ +-- Stack outputs the GHC version that it is using during a build. +-- +-- See: https://github.com/commercialhaskell/stack/issues/6342 + +import Control.Monad ( unless ) +import Data.Char ( isSpace ) +import Data.List ( dropWhileEnd, isInfixOf ) +import StackTest + +main :: IO () +main = + -- Query the actual compiler + stackCheckStdout ["query", "compiler", "actual"] $ \compiler -> do + stackCheckStderr ["build"] (expectMessage $ buildWith (trimEnd compiler)) + +buildWith :: String -> String +buildWith compiler = "build (lib) with " <> compiler + +expectMessage :: String -> String -> IO () +expectMessage msg stderr = do + unless (words msg `isInfixOf` words stderr) + (error $ "Expected message: \n" ++ show msg) + +trimEnd :: String -> String +trimEnd = dropWhileEnd isSpace diff --git a/tests/integration/tests/6342-say-ghc-version-in-build/files/package.yaml b/tests/integration/tests/6342-say-ghc-version-in-build/files/package.yaml new file mode 100644 index 0000000000..2e4f2c0854 --- /dev/null +++ b/tests/integration/tests/6342-say-ghc-version-in-build/files/package.yaml @@ -0,0 +1,9 @@ +spec-version: 0.36.0 + +name: myPackage + +dependencies: +- base < 5 + +library: + source-dirs: src diff --git a/tests/integration/tests/6342-say-ghc-version-in-build/files/src/Lib.hs b/tests/integration/tests/6342-say-ghc-version-in-build/files/src/Lib.hs new file mode 100644 index 0000000000..6d85a26fe1 --- /dev/null +++ b/tests/integration/tests/6342-say-ghc-version-in-build/files/src/Lib.hs @@ -0,0 +1 @@ +module Lib where diff --git a/tests/integration/tests/6342-say-ghc-version-in-build/files/stack.yaml b/tests/integration/tests/6342-say-ghc-version-in-build/files/stack.yaml new file mode 100644 index 0000000000..e674eab75a --- /dev/null +++ b/tests/integration/tests/6342-say-ghc-version-in-build/files/stack.yaml @@ -0,0 +1 @@ +snapshot: ghc-9.10.3