X-Git-Url: https://git.lukelau.me/?a=blobdiff_plain;f=test%2FTest.hs;h=d4c1529ed7ac1ea2af30c7686d2c623d2a62b672;hb=refs%2Fheads%2Ftravis-windows;hp=9319a779ee22cc4f2cac5d9e7563a16c878e3ae7;hpb=3c3116cfde875e483ec70df6069a864838283885;p=lsp-test.git diff --git a/test/Test.hs b/test/Test.hs index 9319a77..d4c1529 100644 --- a/test/Test.hs +++ b/test/Test.hs @@ -30,12 +30,11 @@ import System.Timeout main = hspec $ do describe "Session" $ do it "fails a test" $ - -- TODO: Catch the exception in haskell-lsp-test and provide nicer output let session = runSession "hie" fullCaps "test/data/renamePass" $ do openDoc "Desktop/simple.hs" "haskell" skipMany loggingNotification anyRequest - in session `shouldThrow` anyException + in session `shouldThrow` anySessionException it "initializeResponse" $ runSession "hie" fullCaps "test/data/renamePass" $ do rsp <- initializeResponse liftIO $ rsp ^. result `shouldNotBe` Nothing @@ -53,19 +52,20 @@ main = hspec $ do withTimeout 5 $ skipManyTill anyMessage message :: Session ApplyWorkspaceEditRequest -- wait just a bit longer than 5 seconds so we have time -- to open the document - in timeout 6000000 sesh `shouldThrow` anySessionException + in timeout 6e6 sesh `shouldThrow` anySessionException it "doesn't time out" $ let sesh = runSession "hie" fullCaps "test/data/renamePass" $ do openDoc "Desktop/simple.hs" "haskell" withTimeout 5 $ skipManyTill anyMessage publishDiagnosticsNotification - in void $ timeout 6000000 sesh + in void $ timeout 6e6 sesh - it "further timeout messages are ignored" $ runSession "hie" fullCaps "test/data/renamePass" $ do + it "further timeout messages are ignored" $ runSessionWithConfig (defaultConfig { logStdErr = True, logMessages = True }) "hie" fullCaps "test/data/renamePass" $ do doc <- openDoc "Desktop/simple.hs" "haskell" + getDocumentSymbols doc withTimeout 3 $ getDocumentSymbols doc - liftIO $ threadDelay 5000000 -- shouldn't throw an exception + liftIO $ threadDelay 5e6 getDocumentSymbols doc return () @@ -74,7 +74,7 @@ main = hspec $ do runSessionWithConfig (def { messageTimeout = 5 }) "hie" fullCaps "test/data/renamePass" $ do doc <- openDoc "Desktop/simple.hs" "haskell" -- shouldn't time out in here since we are overriding it - withTimeout 10 $ liftIO $ threadDelay 7000000 + withTimeout 10 $ liftIO $ threadDelay 7e6 getDocumentSymbols doc return True in sesh `shouldReturn` True @@ -84,7 +84,7 @@ main = hspec $ do runSessionWithConfig (def { messageTimeout = 5 }) "hie" fullCaps "test/data/renamePass" $ do doc <- openDoc "Desktop/simple.hs" "haskell" -- shouldn't time out in here since we are overriding it - withTimeout 10 $ liftIO $ threadDelay 7000000 + withTimeout 10 $ liftIO $ threadDelay 7e6 getDocumentSymbols doc -- should now timeout skipManyTill anyMessage message :: Session ApplyWorkspaceEditRequest