@@ -12,45 +12,39 @@ import qualified Data.Text.Internal.Search as T
1212import Distribution.Utils.Generic (safeHead )
1313import Ide.Plugin.Cabal.CabalAdd (hiddenPackageSuggestion )
1414import qualified Language.LSP.Protocol.Lens as L
15- import Language.LSP.Protocol.Types (Diagnostic (.. ), mkRange )
15+ import Language.LSP.Protocol.Types as J (Diagnostic (.. ))
1616import 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
2418import Utils
2519
2620cabalAddTests :: TestTree
2721cabalAddTests =
2822 testGroup
2923 " 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" )
3125 (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" )
3327 (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" )
3529 (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" )
3731 (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" )
3933 (generateAddDependencyTestSession " bench.cabal" (" bench" </> " Main.hs" ) " split" [403 ])
4034
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" )
4236 (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" )
4438 (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" )
4640 (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" )
4842 (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" )
5044 (generateAddDependencyTestSession " multitarget.cabal" (" bench" </> " Main.hs" ) " split" [776 ])
5145
5246
53- , runHaskellTestCaseSession " Code Actions - Guard against HPack" (" cabal-add-testdata" </> " packageYaml" )
47+ , ignoreOnWindows $ runHaskellTestCaseSession " Code Actions - Guard against HPack" (" cabal-add-testdata" </> " packageYaml" )
5448 (generatePackageYAMLTestSession (" src" </> " Main.hs" ))
5549
5650 , testHiddenPackageSuggestions " Check CabalAdd's parser, no version"
@@ -143,6 +137,10 @@ cabalAddTests =
143137 ]
144138 ]
145139 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"
146144 generateAddDependencyTestSession :: FilePath -> FilePath -> T. Text -> [Int ] -> Session ()
147145 generateAddDependencyTestSession cabalFile haskellFile dependency indicesRes = do
148146 hsdoc <- openDoc haskellFile " haskell"
@@ -164,15 +162,15 @@ cabalAddTests =
164162 in test
165163 messageToDiagnostic :: T. Text -> Diagnostic
166164 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
176174 }
177175
178176
0 commit comments