Closed mpickering closed 4 years ago
LGTM, this bring in the opaque type for the virtual file too.
@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
See https://github.com/alanz/haskell-lsp/pull/204