@@ -12,45 +12,39 @@ import qualified Data.Text.Internal.Search as T
12
12
import Distribution.Utils.Generic (safeHead )
13
13
import Ide.Plugin.Cabal.CabalAdd (hiddenPackageSuggestion )
14
14
import qualified Language.LSP.Protocol.Lens as L
15
- import Language.LSP.Protocol.Types (Diagnostic (.. ), mkRange )
15
+ import Language.LSP.Protocol.Types as J (Diagnostic (.. ))
16
16
import System.FilePath
17
- import Test.Hls (Session , TestTree , _R , anyMessage ,
18
- assertEqual , documentContents ,
19
- executeCodeAction ,
20
- getAllCodeActions ,
21
- getDocumentEdit , liftIO , openDoc ,
22
- skipManyTill , testCase , testGroup ,
23
- waitForDiagnosticsFrom , (@?=) )
17
+ import Test.Hls
24
18
import Utils
25
19
26
20
cabalAddTests :: TestTree
27
21
cabalAddTests =
28
22
testGroup
29
23
" CabalAdd Tests"
30
- [ runHaskellTestCaseSession " Code Actions - Can add hidden package to an executable" (" cabal-add-testdata" </> " exe" )
24
+ [ ignoreOnWindows $ runHaskellTestCaseSession " Code Actions - Can add hidden package to an executable" (" cabal-add-testdata" </> " exe" )
31
25
(generateAddDependencyTestSession " exe.cabal" (" src" </> " Main.hs" ) " split" [253 ])
32
- , runHaskellTestCaseSession " Code Actions - Can add hidden package to a library" (" cabal-add-testdata" </> " lib" )
26
+ , ignoreOnWindows $ runHaskellTestCaseSession " Code Actions - Can add hidden package to a library" (" cabal-add-testdata" </> " lib" )
33
27
(generateAddDependencyTestSession " lib.cabal" (" src" </> " MyLib.hs" ) " split" [348 ])
34
- , runHaskellTestCaseSession " Code Actions - Can add hidden package to a test" (" cabal-add-testdata" </> " tests" )
28
+ , ignoreOnWindows $ runHaskellTestCaseSession " Code Actions - Can add hidden package to a test" (" cabal-add-testdata" </> " tests" )
35
29
(generateAddDependencyTestSession " tests.cabal" (" test" </> " Main.hs" ) " split" [478 ])
36
- , runHaskellTestCaseSession " Code Actions - Can add hidden package to a test with PackageImports" (" cabal-add-testdata" </> " tests" )
30
+ , ignoreOnWindows $ runHaskellTestCaseSession " Code Actions - Can add hidden package to a test with PackageImports" (" cabal-add-testdata" </> " tests" )
37
31
(generateAddDependencyTestSession " tests.cabal" (" test" </> " MainPackageImports.hs" ) " split" [731 ])
38
- , runHaskellTestCaseSession " Code Actions - Can add hidden package to a benchmark" (" cabal-add-testdata" </> " bench" )
32
+ , ignoreOnWindows $ runHaskellTestCaseSession " Code Actions - Can add hidden package to a benchmark" (" cabal-add-testdata" </> " bench" )
39
33
(generateAddDependencyTestSession " bench.cabal" (" bench" </> " Main.hs" ) " split" [403 ])
40
34
41
- , runHaskellTestCaseSession " Code Actions - Can add hidden package to an executable, multiple targets" (" cabal-add-testdata" </> " multitarget" )
35
+ , ignoreOnWindows $ runHaskellTestCaseSession " Code Actions - Can add hidden package to an executable, multiple targets" (" cabal-add-testdata" </> " multitarget" )
42
36
(generateAddDependencyTestSession " multitarget.cabal" (" src" </> " Main.hs" ) " split" [269 ])
43
- , runHaskellTestCaseSession " Code Actions - Can add hidden package to a library, multiple targets" (" cabal-add-testdata" </> " multitarget" )
37
+ , ignoreOnWindows $ runHaskellTestCaseSession " Code Actions - Can add hidden package to a library, multiple targets" (" cabal-add-testdata" </> " multitarget" )
44
38
(generateAddDependencyTestSession " multitarget.cabal" (" lib" </> " MyLib.hs" ) " split" [413 ])
45
- , runHaskellTestCaseSession " Code Actions - Can add hidden package to an internal library, multiple targets" (" cabal-add-testdata" </> " multitarget" )
39
+ , ignoreOnWindows $ runHaskellTestCaseSession " Code Actions - Can add hidden package to an internal library, multiple targets" (" cabal-add-testdata" </> " multitarget" )
46
40
(generateAddDependencyTestSession " multitarget.cabal" (" lib" </> " InternalLib.hs" ) " split" [413 ])
47
- , runHaskellTestCaseSession " Code Actions - Can add hidden package to a test, multiple targets" (" cabal-add-testdata" </> " multitarget" )
41
+ , ignoreOnWindows $ runHaskellTestCaseSession " Code Actions - Can add hidden package to a test, multiple targets" (" cabal-add-testdata" </> " multitarget" )
48
42
(generateAddDependencyTestSession " multitarget.cabal" (" test" </> " Main.hs" ) " split" [655 ])
49
- , runHaskellTestCaseSession " Code Actions - Can add hidden package to a benchmark, multiple targets" (" cabal-add-testdata" </> " multitarget" )
43
+ , ignoreOnWindows $ runHaskellTestCaseSession " Code Actions - Can add hidden package to a benchmark, multiple targets" (" cabal-add-testdata" </> " multitarget" )
50
44
(generateAddDependencyTestSession " multitarget.cabal" (" bench" </> " Main.hs" ) " split" [776 ])
51
45
52
46
53
- , runHaskellTestCaseSession " Code Actions - Guard against HPack" (" cabal-add-testdata" </> " packageYaml" )
47
+ , ignoreOnWindows $ runHaskellTestCaseSession " Code Actions - Guard against HPack" (" cabal-add-testdata" </> " packageYaml" )
54
48
(generatePackageYAMLTestSession (" src" </> " Main.hs" ))
55
49
56
50
, testHiddenPackageSuggestions " Check CabalAdd's parser, no version"
@@ -143,6 +137,10 @@ cabalAddTests =
143
137
]
144
138
]
145
139
where
140
+ -- windows is suffering from long path issues for *some* reasons, as our XDG_CACHE_HOME
141
+ -- is freshly created for each test. The prefix for windows is like 40 characters, which is too long
142
+ -- for these tests in particular
143
+ ignoreOnWindows = ignoreInEnv [HostOS Windows ] " Long Path issues on windows"
146
144
generateAddDependencyTestSession :: FilePath -> FilePath -> T. Text -> [Int ] -> Session ()
147
145
generateAddDependencyTestSession cabalFile haskellFile dependency indicesRes = do
148
146
hsdoc <- openDoc haskellFile " haskell"
@@ -164,15 +162,15 @@ cabalAddTests =
164
162
in test
165
163
messageToDiagnostic :: T. Text -> Diagnostic
166
164
messageToDiagnostic msg = Diagnostic {
167
- _range = mkRange 0 0 0 0
168
- , _severity = Nothing
169
- , _code = Nothing
170
- , _source = Nothing
171
- , _message = msg
172
- , _relatedInformation = Nothing
173
- , _tags = Nothing
174
- , _codeDescription = Nothing
175
- , _data_ = Nothing
165
+ J. _range = mkRange 0 0 0 0
166
+ , J. _severity = Nothing
167
+ , J. _code = Nothing
168
+ , J. _source = Nothing
169
+ , J. _message = msg
170
+ , J. _relatedInformation = Nothing
171
+ , J. _tags = Nothing
172
+ , J. _codeDescription = Nothing
173
+ , J. _data_ = Nothing
176
174
}
177
175
178
176
0 commit comments