Skip to content

Commit

Permalink
Merge pull request haskell#10390 from MercuryTechnologies/wiggles/add…
Browse files Browse the repository at this point in the history
…-repl-keep-temp-files-test

Add `cabal repl --keep-temp-files` test
  • Loading branch information
mergify[bot] authored Oct 3, 2024
2 parents f92d607 + 2a8132e commit 5e3bb1a
Show file tree
Hide file tree
Showing 8 changed files with 81 additions and 0 deletions.
11 changes: 11 additions & 0 deletions cabal-testsuite/PackageTests/MultiRepl/KeepTempFiles/cabal.no.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# cabal clean
# cabal v2-repl
Resolving dependencies...
Build profile: -w ghc-<GHCVER> -O1
In order, the following will be built:
- pkg-a-1 (interactive) (lib) (first run)
- pkg-b-0 (interactive) (lib) (first run)
Configuring library for pkg-a-1...
Preprocessing library for pkg-a-1...
Configuring library for pkg-b-0...
Preprocessing library for pkg-b-0...
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
packages: pkg-a/*.cabal
packages: pkg-b/*.cabal
31 changes: 31 additions & 0 deletions cabal-testsuite/PackageTests/MultiRepl/KeepTempFiles/cabal.test.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import Test.Cabal.Prelude

main = do
cabalTest' "yes" $ do
skipUnlessGhcVersion ">= 9.4"
cabal' "clean" []
res <-
cabalWithStdin
"v2-repl"
[ "--keep-temp-files"
, "--enable-multi-repl"
, "pkg-b"
, "pkg-a"
]
"Bar.bar"
assertOutputContains "foo is 42" res
void $ assertGlobMatchesTestDir testDistDir "multi-out*/"

cabalTest' "no" $ do
skipUnlessGhcVersion ">= 9.4"
cabal' "clean" []
res <-
cabalWithStdin
"v2-repl"
[ "--enable-multi-repl"
, "pkg-b"
, "pkg-a"
]
"Bar.bar"
assertOutputContains "foo is 42" res
void $ assertGlobDoesNotMatchTestDir testDistDir "multi-out*/"
11 changes: 11 additions & 0 deletions cabal-testsuite/PackageTests/MultiRepl/KeepTempFiles/cabal.yes.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# cabal clean
# cabal v2-repl
Resolving dependencies...
Build profile: -w ghc-<GHCVER> -O1
In order, the following will be built:
- pkg-a-1 (interactive) (lib) (first run)
- pkg-b-0 (interactive) (lib) (first run)
Configuring library for pkg-a-1...
Preprocessing library for pkg-a-1...
Configuring library for pkg-b-0...
Preprocessing library for pkg-b-0...
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module Foo where

foo :: Int
foo = 42
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
cabal-version: 2.2
name: pkg-a
version: 1

library
default-language: Haskell2010
build-depends: base
exposed-modules: Foo
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module Bar (foo, bar) where

import Foo (foo)

bar :: String
bar = "foo is " <> show foo
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
cabal-version: 2.2
name: pkg-b
version: 0

library
default-language: Haskell2010
build-depends: base, pkg-a
exposed-modules: Bar

0 comments on commit 5e3bb1a

Please sign in to comment.