Skip to content

Commit

Permalink
Add repl --keep-temp-files test with custom Setup.hs
Browse files Browse the repository at this point in the history
  • Loading branch information
9999years committed Sep 26, 2024
1 parent 1e5a93e commit 8255fc1
Show file tree
Hide file tree
Showing 11 changed files with 109 additions and 0 deletions.
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) (first run)
- pkg-b-0 (interactive) (first run)
Configuring pkg-a-1...
Preprocessing library for pkg-a-1...
Configuring pkg-b-0...
Preprocessing library for pkg-b-0...
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# 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
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import Test.Cabal.Prelude

main = do
cabalTest' "yes" $ do
skipUnlessAnyCabalVersion ">= 3.11"
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
assertGlobMatchesTestDir testDistDir "multi-out*/"

cabalTest' "no" $ do
skipUnlessAnyCabalVersion ">= 3.11"
skipUnlessGhcVersion ">= 9.4"
cabal' "clean" []
res <-
cabalWithStdin
"v2-repl"
[ "--enable-multi-repl"
, "pkg-b"
, "pkg-a"
]
"Bar.bar"
assertOutputContains "foo is 42" res
assertGlobDoesNotMatchTestDir testDistDir "multi-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) (first run)
- pkg-b-0 (interactive) (first run)
Configuring pkg-a-1...
Preprocessing library for pkg-a-1...
Configuring 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,4 @@
import Distribution.Simple

main :: IO ()
main = defaultMain
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
cabal-version: 2.2
name: pkg-a
version: 1
build-type: Custom

custom-setup
setup-depends: Cabal, base

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,4 @@
import Distribution.Simple

main :: IO ()
main = defaultMain
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
cabal-version: 2.2
name: pkg-b
version: 0
build-type: Custom

custom-setup
setup-depends: Cabal, base

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

0 comments on commit 8255fc1

Please sign in to comment.