hls-test-utils 2.6.0.0 → 2.7.0.0
raw patch · 3 files changed
+24/−38 lines, 3 filesdep −blaze-markupdep −hls-graphdep −lspdep ~ghcidedep ~hls-plugin-apidep ~lsp-testPVP ok
version bump matches the API change (PVP)
Dependencies removed: blaze-markup, hls-graph, lsp, unordered-containers
Dependency ranges changed: ghcide, hls-plugin-api, lsp-test
API changes (from Hackage documentation)
- Test.Hls: -- | The base type of the enum.
- Test.Hls: infixr 9 |?
+ Test.Hls: (.:!?) :: FromJSON v => Object -> Key -> Parser (Maybe v)
- Test.Hls: AsLspEnum :: a -> AsLspEnum a (b :: k)
+ Test.Hls: AsLspEnum :: a -> AsLspEnum a
- Test.Hls: newtype () => AsLspEnum a (b :: k)
+ Test.Hls: newtype () => AsLspEnum a
Files
- hls-test-utils.cabal +6/−10
- src/Test/Hls.hs +9/−15
- src/Test/Hls/Util.hs +9/−13
hls-test-utils.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-test-utils-version: 2.6.0.0+version: 2.7.0.0 synopsis: Utilities used in the tests of Haskell Language Server description: Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>@@ -35,19 +35,16 @@ , aeson , async , base >=4.12 && <5- , blaze-markup , bytestring , containers , data-default , directory , extra , filepath- , ghcide == 2.6.0.0- , hls-graph- , hls-plugin-api == 2.6.0.0+ , ghcide == 2.7.0.0+ , hls-plugin-api == 2.7.0.0 , lens- , lsp ^>=2.3- , lsp-test ^>=0.16+ , lsp-test ^>=0.17 , lsp-types ^>=2.1 , tasty , tasty-expected-failure@@ -56,11 +53,10 @@ , tasty-rerun , temporary , text- , unordered-containers , row-types- ghc-options: -Wall+ ghc-options: -Wall -Wunused-packages if flag(pedantic) ghc-options: -Werror - default-language: Haskell2010+ default-language: GHC2021
src/Test/Hls.hs view
@@ -1,14 +1,9 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DisambiguateRecordFields #-}-{-# LANGUAGE DuplicateRecordFields #-}-{-# LANGUAGE GADTs #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NamedFieldPuns #-}-{-# LANGUAGE OverloadedLists #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE PolyKinds #-}-{-# LANGUAGE RankNTypes #-}-{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedLists #-}+{-# LANGUAGE OverloadedStrings #-} module Test.Hls ( module Test.Tasty.HUnit, module Test.Tasty,@@ -127,7 +122,6 @@ import Test.Tasty.Golden import Test.Tasty.HUnit import Test.Tasty.Ingredients.Rerun-import Test.Tasty.Runners (NumThreads (..)) data Log = LogIDEMain IDEMain.Log@@ -152,7 +146,7 @@ -- | Run 'defaultMainWithRerun', limiting each single test case running at most 10 minutes defaultTestRunner :: TestTree -> IO ()-defaultTestRunner = defaultMainWithRerun . adjustOption (const $ NumThreads 1) . adjustOption (const $ mkTimeout 600000000)+defaultTestRunner = defaultMainWithRerun . adjustOption (const $ mkTimeout 600000000) gitDiff :: FilePath -> FilePath -> [String] gitDiff fRef fNew = ["git", "-c", "core.fileMode=false", "diff", "--no-index", "--text", "--exit-code", fRef, fNew]@@ -440,12 +434,12 @@ | val /= "0" -> \action -> do (tempDir, _) <- newTempDir a <- action tempDir- logWith recorder Debug $ LogNoCleanup+ logWith recorder Debug LogNoCleanup pure a _ -> \action -> do a <- withTempDir action- logWith recorder Debug $ LogCleanup+ logWith recorder Debug LogCleanup pure a runTestInDir $ \tmpDir -> do
src/Test/Hls/Util.hs view
@@ -1,13 +1,9 @@ {-# LANGUAGE CPP #-}+{-# LANGUAGE DataKinds #-} {-# LANGUAGE DuplicateRecordFields #-}-{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE GADTs #-}-{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedLabels #-} {-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE TypeOperators #-}-{-# LANGUAGE OverloadedLabels #-}-{-# LANGUAGE TypeApplications #-}-{-# LANGUAGE DataKinds #-} module Test.Hls.Util ( -- * Test Capabilities codeActionResolveCaps@@ -54,22 +50,22 @@ import Control.Applicative.Combinators (skipManyTill, (<|>)) import Control.Exception (catch, throwIO)-import Control.Lens ((&), (?~), (^.), _Just, (.~))+import Control.Lens (_Just, (&), (.~), (?~), (^.)) import Control.Monad import Control.Monad.IO.Class import qualified Data.Aeson as A import Data.Bool (bool) import Data.Default-import Data.Row-import Data.Proxy import Data.List.Extra (find)+import Data.Proxy+import Data.Row import qualified Data.Set as Set import qualified Data.Text as T import Development.IDE (GhcVersion (..), ghcVersion)-import qualified Language.LSP.Test as Test-import Language.LSP.Protocol.Types+import qualified Language.LSP.Protocol.Lens as L import Language.LSP.Protocol.Message-import qualified Language.LSP.Protocol.Lens as L+import Language.LSP.Protocol.Types+import qualified Language.LSP.Test as Test import System.Directory import System.FilePath import System.Info.Extra (isMac, isWindows)@@ -304,7 +300,7 @@ handleDiagnostic testId = do diagsNot <- Test.message SMethod_TextDocumentPublishDiagnostics let fileUri = diagsNot ^. L.params . L.uri- ( diags) = diagsNot ^. L.params . L.diagnostics+ diags = diagsNot ^. L.params . L.diagnostics res = filter matches diags if fileUri == document ^. L.uri && not (null res) then return res else handleMessages testId