Skip to content
This repository was archived by the owner on Oct 7, 2020. It is now read-only.

Commit 6d36db5

Browse files
committed
Add unit-tests for Cabal-Helper cradles
1 parent 6fb1a54 commit 6d36db5

34 files changed

+378
-1
lines changed

haskell-ide-engine.cabal

+2
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ test-suite unit-test
177177
hs-source-dirs: test/unit
178178
main-is: Main.hs
179179
other-modules: ApplyRefactPluginSpec
180+
CabalHelperSpec
180181
CodeActionsSpec
181182
ContextSpec
182183
DiffSpec
@@ -193,6 +194,7 @@ test-suite unit-test
193194
build-tool-depends: cabal-helper:cabal-helper-main, hspec-discover:hspec-discover
194195
build-depends: QuickCheck
195196
, aeson
197+
, cabal-helper
196198
, ghc
197199
, base
198200
, bytestring

hie-plugin-api/Haskell/Ide/Engine/Cradle.hs

+2-1
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,12 @@ isStackCradle = (`elem` ["stack", "Cabal-Helper-Stack", "Cabal-Helper-Stack-None
6868
isCabalCradle :: Cradle -> Bool
6969
isCabalCradle =
7070
(`elem`
71-
["cabal"
71+
[ "cabal"
7272
, "Cabal-Helper-Cabal-V1"
7373
, "Cabal-Helper-Cabal-V2"
7474
, "Cabal-Helper-Cabal-V1-Dir"
7575
, "Cabal-Helper-Cabal-V2-Dir"
76+
, "Cabal-Helper-Cabal-V2-None"
7677
, "Cabal-Helper-Cabal-None"
7778
]
7879
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import Distribution.Simple
2+
main = defaultMain
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
packages: ./
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
cabal-version: >=1.10
2+
name: implicit-exe
3+
version: 0.1.0.0
4+
license-file: LICENSE
5+
build-type: Simple
6+
7+
library
8+
exposed-modules: Lib
9+
hs-source-dirs: src
10+
build-depends: base >=4.12 && <4.13
11+
default-language: Haskell2010
12+
13+
14+
executable implicit-exe
15+
main-is: src/Exe.hs
16+
build-depends: base >=4.12 && <4.13, implicit-exe
17+
default-language: Haskell2010
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
import Lib (someFunc)
3+
4+
main = someFunc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module Lib (someFunc) where
2+
3+
someFunc :: IO ()
4+
someFunc = putStrLn "someFunc"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
cabal-version: >=2.0
2+
name: A
3+
version: 0.1.0.0
4+
build-type: Simple
5+
6+
library
7+
exposed-modules: MyLib
8+
build-depends: base >=4.9 && < 5
9+
default-language: Haskell2010
10+
11+
executable A
12+
main-is: Main.hs
13+
other-modules: MyLib
14+
build-depends: base >= 4.9 && < 5, A
15+
default-language: Haskell2010
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
module Main where
2+
3+
import qualified MyLib (someFunc)
4+
5+
main :: IO ()
6+
main = do
7+
putStrLn "Hello, Haskell!"
8+
MyLib.someFunc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module MyLib (someFunc) where
2+
3+
someFunc :: IO ()
4+
someFunc = putStrLn "someFunc"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import Distribution.Simple
2+
main = defaultMain
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
cabal-version: >=2.0
2+
name: B
3+
version: 0.1.0.0
4+
build-type: Simple
5+
6+
library
7+
exposed-modules: MyLib
8+
build-depends: base >= 4.9 && < 5
9+
default-language: Haskell2010
10+
11+
executable B
12+
main-is: Main.hs
13+
other-modules: MyLib
14+
build-depends: base >= 4.9 && < 5, B
15+
default-language: Haskell2010
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
module Main where
2+
3+
import qualified MyLib (someFunc)
4+
5+
main :: IO ()
6+
main = do
7+
putStrLn "Hello, Haskell!"
8+
MyLib.someFunc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module MyLib (someFunc) where
2+
3+
someFunc :: IO ()
4+
someFunc = putStrLn "someFunc"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import Distribution.Simple
2+
main = defaultMain
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
cabal-version: >=2.0
2+
name: C
3+
version: 0.1.0.0
4+
build-type: Simple
5+
6+
library
7+
exposed-modules: MyLib
8+
build-depends: base>= 4.9 && < 5
9+
default-language: Haskell2010
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module MyLib (someFunc) where
2+
3+
someFunc :: IO ()
4+
someFunc = putStrLn "someFunc"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import Distribution.Simple
2+
main = defaultMain
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
packages:
2+
./A/
3+
./B/
4+
./C/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module MyLib (someFunc) where
2+
3+
someFunc :: IO ()
4+
someFunc = putStrLn "someFunc"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import Distribution.Simple
2+
main = defaultMain
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
cabal-version: >=1.10
2+
name: simple-cabal-test
3+
version: 0.1.0.0
4+
license-file: LICENSE
5+
build-type: Simple
6+
7+
library
8+
exposed-modules: MyLib
9+
build-depends: base >=4.12 && <4.13
10+
default-language: Haskell2010
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module MyLib (someFunc) where
2+
3+
someFunc :: IO ()
4+
someFunc = putStrLn "someFunc"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import Distribution.Simple
2+
main = defaultMain
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
cabal-version: >=1.10
2+
name: simple-stack-test
3+
version: 0.1.0.0
4+
license-file: LICENSE
5+
build-type: Simple
6+
7+
library
8+
exposed-modules: MyLib
9+
build-depends: base >=4.12 && <4.13
10+
default-language: Haskell2010
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import Distribution.Simple
2+
main = defaultMain
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
module Main where
2+
3+
import qualified MyLib (someFunc)
4+
5+
main :: IO ()
6+
main = do
7+
putStrLn "Hello, Haskell!"
8+
MyLib.someFunc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module PluginLib (someFunc) where
2+
3+
someFunc :: IO ()
4+
someFunc = putStrLn "someFunc"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import Distribution.Simple
2+
main = defaultMain
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
cabal-version: >=1.10
2+
name: plugins-api
3+
version: 0.1.0.0
4+
license-file: LICENSE
5+
build-type: Simple
6+
7+
library
8+
exposed-modules: PluginLib
9+
build-depends: base >=4.12 && <4.13
10+
default-language: Haskell2010
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module MyLib (someFunc) where
2+
3+
import qualified PluginLib as L
4+
5+
someFunc :: IO ()
6+
someFunc = L.someFunc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
cabal-version: >=1.10
2+
name: sub-package
3+
version: 0.1.0.0
4+
license-file: LICENSE
5+
build-type: Simple
6+
7+
library
8+
exposed-modules: MyLib
9+
build-depends: base >=4.12 && <4.13, plugins-api
10+
hs-source-dirs: src
11+
default-language: Haskell2010
12+
13+
executable sub-package
14+
main-is: Main.hs
15+
build-depends: base >=4.12 && <4.13, sub-package
16+
hs-source-dirs: app
17+
default-language: Haskell2010

0 commit comments

Comments
 (0)