Skip to content

Track changes to persistVirtualFile in haskell-lsp #67

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from

Conversation

mpickering
Copy link
Owner

@alanz
Copy link

alanz commented Nov 26, 2019

LGTM, this bring in the opaque type for the virtual file too.

@mpickering
Copy link
Owner Author

@fendor These are the current failing tests with this branch for me locally.

test/functional/CompletionSpec.hs:35:7: 
  1) Completion.completions works
       expected: Just "String -> IO ()\nPrelude"
        but got: Just "Prelude"

  To rerun use: --match "/Completion/completions/works/"

  test/functional/CompletionSpec.hs:206:7: 
  2) Completion.completions have implicit foralls on basic polymorphic types
       expected: Just "a -> a\nPrelude"
        but got: Just "Prelude"

  To rerun use: --match "/Completion/completions/have implicit foralls on basic polymorphic types/"

  test/functional/CompletionSpec.hs:218:7: 
  3) Completion.completions have implicit foralls with multiple type variables
       expected: Just "(a -> b -> c) -> b -> a -> c\nPrelude"
        but got: Just "Prelude"

  To rerun use: --match "/Completion/completions/have implicit foralls with multiple type variables/"

  test/functional/CompletionSpec.hs:249:9: 
  4) Completion.completions.snippets work for polymorphic types
       expected: Just "foldl ${1:b -> a -> b} ${2:b} ${3:t a}"
        but got: Nothing

  To rerun use: --match "/Completion/completions/snippets/work for polymorphic types/"

  test/functional/CompletionSpec.hs:266:9: 
  5) Completion.completions.snippets work for complex types
       expected: Just "mapM ${1:a -> m b} ${2:t a}"
        but got: Nothing

  To rerun use: --match "/Completion/completions/snippets/work for complex types/"

  test/functional/DiagnosticsSpec.hs:72:5: 
  6) Diagnostics, diagnostics providers, Warnings are warnings, Overrides -Werror
       uncaught exception: SessionException
       Timed out waiting to receive a message from the server.
       Last message received:
       {
           "tag": "NotPublishDiagnostics",
           "contents": {
               "jsonrpc": "2.0",
               "params": {
                   "uri": "file:///home/matt/haskell-ide-engine/test/testdata/wErrorTest/src/WError.hs",
                   "diagnostics": []
               },
               "method": "textDocument/publishDiagnostics"
           }
       }

  To rerun use: --match "/Diagnostics/diagnostics providers/Warnings are warnings/Overrides -Werror/"

  test/functional/FunctionalCodeActionsSpec.hs:677:9: 
  7) FunctionalCodeActions, code actions, import suggestions, formats with brittany, Execute HsImport with formatter brittany, complex import-list
       expected: ["{-# LANGUAGE NoImplicitPrelude #-}","import           System.IO                      ( IO","                                                , hPutStrLn","                                                , stderr","                                                )","import           Prelude                        ( Bool(..) )","import           Control.Monad                  ( when )","import           Data.Function                  ( ($) )","import           Data.Maybe                     ( fromMaybe","                                                , Maybe(Just)","                                                )","-- | Main entry point to the program","main :: IO ()","main =","    when True","        $ hPutStrLn stderr","        $ fromMaybe \"Good night, World!\" (Just \"Hello, World!\")"]
        but got: ["{-# LANGUAGE NoImplicitPrelude #-}","import           System.IO                      ( IO","                                                , hPutStrLn","                                                , stderr","                                                )","import           Prelude                        ( Bool(..) )","import           Data.Function                  ( ($) )","import           Data.Maybe                     ( fromMaybe","                                                , Maybe(Just)","                                                )","import           Control.Monad                  ( when )","-- | Main entry point to the program","main :: IO ()","main =","    when True","        $ hPutStrLn stderr","        $ fromMaybe \"Good night, World!\" (Just \"Hello, World!\")"]

  To rerun use: --match "/FunctionalCodeActions/code actions/import suggestions/formats with brittany/Execute HsImport with formatter brittany/complex import-list/"

  test/functional/FunctionalCodeActionsSpec.hs:698:9: 
  8) FunctionalCodeActions, code actions, import suggestions, formats with brittany, Execute HsImport with formatter brittany, complex import-list respects format config
       expected: ["{-# LANGUAGE NoImplicitPrelude #-}","import System.IO (IO, hPutStrLn, stderr)","import Prelude (Bool(..))","import Control.Monad (when)","import Data.Function (($))","import Data.Maybe (fromMaybe, Maybe(Just))","-- | Main entry point to the program","main :: IO ()","main =","    when True","        $ hPutStrLn stderr","        $ fromMaybe \"Good night, World!\" (Just \"Hello, World!\")"]
        but got: ["{-# LANGUAGE NoImplicitPrelude #-}","import System.IO (IO, hPutStrLn, stderr)","import Prelude (Bool(..))","import Data.Function (($))","import Data.Maybe (fromMaybe, Maybe(Just))","import Control.Monad (when)","-- | Main entry point to the program","main :: IO ()","main =","    when True","        $ hPutStrLn stderr","        $ fromMaybe \"Good night, World!\" (Just \"Hello, World!\")"]

  To rerun use: --match "/FunctionalCodeActions/code actions/import suggestions/formats with brittany/Execute HsImport with formatter brittany/complex import-list respects format config/"

  test/functional/FunctionalCodeActionsSpec.hs:677:9: 
  9) FunctionalCodeActions, code actions, import suggestions, formats with floskell, Execute HsImport with formatter floskell, complex import-list
       expected: ["{-# LANGUAGE NoImplicitPrelude #-}","import           System.IO (IO, hPutStrLn, stderr)","import           Prelude (Bool(..))","import           Control.Monad (when)","import           Data.Function (($))","import           Data.Maybe (fromMaybe, Maybe(Just))","-- | Main entry point to the program","main :: IO ()","main =","    when True","        $ hPutStrLn stderr","        $ fromMaybe \"Good night, World!\" (Just \"Hello, World!\")"]
        but got: ["{-# LANGUAGE NoImplicitPrelude #-}","import           System.IO (IO, hPutStrLn, stderr)","import           Prelude (Bool(..))","import           Data.Function (($))","import           Data.Maybe (fromMaybe, Maybe(Just))","import           Control.Monad (when)","-- | Main entry point to the program","main :: IO ()","main =","    when True","        $ hPutStrLn stderr","        $ fromMaybe \"Good night, World!\" (Just \"Hello, World!\")"]

  To rerun use: --match "/FunctionalCodeActions/code actions/import suggestions/formats with floskell/Execute HsImport with formatter floskell/complex import-list/"

  test/functional/FunctionalCodeActionsSpec.hs:698:9: 
  10) FunctionalCodeActions, code actions, import suggestions, formats with floskell, Execute HsImport with formatter floskell, complex import-list respects format config
       expected: ["{-# LANGUAGE NoImplicitPrelude #-}","import System.IO (IO, hPutStrLn, stderr)","import Prelude (Bool(..))","import Control.Monad (when)","import Data.Function (($))","import Data.Maybe (fromMaybe, Maybe(Just))","-- | Main entry point to the program","main :: IO ()","main =","    when True","        $ hPutStrLn stderr","        $ fromMaybe \"Good night, World!\" (Just \"Hello, World!\")"]
        but got: ["{-# LANGUAGE NoImplicitPrelude #-}","import System.IO (IO, hPutStrLn, stderr)","import Prelude (Bool(..))","import Data.Function (($))","import Data.Maybe (fromMaybe, Maybe(Just))","import Control.Monad (when)","-- | Main entry point to the program","main :: IO ()","main =","    when True","        $ hPutStrLn stderr","        $ fromMaybe \"Good night, World!\" (Just \"Hello, World!\")"]

  To rerun use: --match "/FunctionalCodeActions/code actions/import suggestions/formats with floskell/Execute HsImport with formatter floskell/complex import-list respects format config/"

  test/functional/FunctionalCodeActionsSpec.hs:215:5: 
  11) FunctionalCodeActions, code actions, add package suggestions, adds to .cabal files
       uncaught exception: SessionException
       Received an unexpected message from the server:
       Was parsing: Pattern match failure in do expression at test/functional/FunctionalCodeActionsSpec.hs:221:9-18
       Last message received:
       {
           "tag": "NotPublishDiagnostics",
           "contents": {
               "jsonrpc": "2.0",
               "params": {
                   "uri": "file:///home/matt/haskell-ide-engine/test/testdata/addPackageTest/cabal-exe/AddPackage.hs",
                   "diagnostics": []
               },
               "method": "textDocument/publishDiagnostics"
           }
       }

  To rerun use: --match "/FunctionalCodeActions/code actions/add package suggestions/adds to .cabal files/"

  test/functional/FunctionalCodeActionsSpec.hs:277:5: 
  12) FunctionalCodeActions, code actions, redundant import code actions, remove solitary redundant imports
       uncaught exception: SessionException
       Received an unexpected message from the server:
       Was parsing: Pattern match failure in do expression at test/functional/FunctionalCodeActionsSpec.hs:282:9-18
       Last message received:
       {
           "tag": "NotPublishDiagnostics",
           "contents": {
               "jsonrpc": "2.0",
               "params": {
                   "uri": "file:///home/matt/haskell-ide-engine/test/testdata/redundantImportTest/src/CodeActionRedundant.hs",
                   "diagnostics": []
               },
               "method": "textDocument/publishDiagnostics"
           }
       }

  To rerun use: --match "/FunctionalCodeActions/code actions/redundant import code actions/remove solitary redundant imports/"

  test/functional/FunctionalCodeActionsSpec.hs:307:5: 
  13) FunctionalCodeActions, code actions, redundant import code actions, doesn't touch other imports
       uncaught exception: SessionException
       Received an unexpected message from the server:
       Was parsing: Pattern match failure in do expression at test/functional/FunctionalCodeActionsSpec.hs:312:7-24
       Last message received:
       {
           "tag": "NotPublishDiagnostics",
           "contents": {
               "jsonrpc": "2.0",
               "params": {
                   "uri": "file:///home/matt/haskell-ide-engine/test/testdata/redundantImportTest/src/MultipleImports.hs",
                   "diagnostics": []
               },
               "method": "textDocument/publishDiagnostics"
           }
       }

  To rerun use: --match "/FunctionalCodeActions/code actions/redundant import code actions/doesn't touch other imports/"

  test/functional/FunctionalCodeActionsSpec.hs:337:26: 
  14) FunctionalCodeActions, code actions, typed hole code actions, works
       Actual list is not a permutation of expected list!
         expected list contains:   ["Substitute hole (Int) with x ([Int])", "Substitute hole (Int) with foo ([Int] -> Int)", "Substitute hole (Int) with maxBound (forall a. Bounded a => a with maxBound @Int)", "Substitute hole (Int) with minBound (forall a. Bounded a => a with minBound @Int)"]
         actual list contains:     ["Substitute hole (Int) with x ([Int])", "Substitute hole (Int) with foo ([Int] -> Int Valid hole fits include)", "Substitute hole (Int) with maxBound (forall a. Bounded a => a with maxBound @Int)", "Substitute hole (Int) with minBound (forall a. Bounded a => a with minBound @Int)"]
         the missing elements are: ["Substitute hole (Int) with foo ([Int] -> Int)"]
         the extra elements are:   ["Substitute hole (Int) with foo ([Int] -> Int Valid hole fits include)"]

  To rerun use: --match "/FunctionalCodeActions/code actions/typed hole code actions/works/"

  test/functional/FunctionalLiquidSpec.hs:67:5: 
  15) FunctionalLiquid, liquid haskell diagnostics, runs diagnostics on save, with liquid haskell
       uncaught exception: SessionException
       Timed out waiting to receive a message from the server.
       Last message received:
       {
           "tag": "NotPublishDiagnostics",
           "contents": {
               "jsonrpc": "2.0",
               "params": {
                   "uri": "file:///home/matt/haskell-ide-engine/test/testdata/liquid/Evens.hs",
                   "diagnostics": []
               },
               "method": "textDocument/publishDiagnostics"
           }
       }

  To rerun use: --match "/FunctionalLiquid/liquid haskell diagnostics/runs diagnostics on save, with liquid haskell/"

  test/functional/HieBiosSpec.hs:18:3: 
  16) HieBios.hie-bios reports errors in hie.yaml
       uncaught exception: ConduitParserException
       NamedParserException "Logging notification" (BothFailed (Unexpected "ConduitParser.empty") (NamedParserException "Logging notification" (BothFailed (Unexpected "ConduitParser.empty") (NamedParserException "Logging notification" (BothFailed (Unexpected "ConduitParser.empty") (Unexpected "ConduitParser.empty"))))))

  To rerun use: --match "/HieBios/hie-bios/reports errors in hie.yaml/"

  test/functional/ProgressSpec.hs:20:3: 
  17) Progress.window/workDoneProgress sends indefinite progress notifications
       uncaught exception: SessionException
       Received an unexpected message from the server:
       Was parsing: NotificationMessage ServerMethod (ProgressParams WorkDoneProgressReportParams)
       Last message received:
       {
           "tag": "NotWorkDoneProgressEnd",
           "contents": {
               "jsonrpc": "2.0",
               "params": {
                   "value": {
                       "kind": "end"
                   },
                   "token": 0
               },
               "method": "$/progress"
           }
       }

  To rerun use: --match "/Progress/window/workDoneProgress/sends indefinite progress notifications/"

  test/functional/ProgressSpec.hs:74:3: 
  18) Progress.window/workDoneProgress sends indefinite progress notifications with liquid
       uncaught exception: SessionException
       Received an unexpected message from the server:
       Was parsing: NotificationMessage ServerMethod (ProgressParams WorkDoneProgressReportParams)
       Last message received:
       {
           "tag": "NotWorkDoneProgressEnd",
           "contents": {
               "jsonrpc": "2.0",
               "params": {
                   "value": {
                       "kind": "end"
                   },
                   "token": 0
               },
               "method": "$/progress"
           }
       }

  To rerun use: --match "/Progress/window/workDoneProgress/sends indefinite progress notifications with liquid/"

Randomized with seed 1427967900

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants