Properly terminate server handler thread on exceptions
[lsp-test.git] / test / Test.hs
index 11114d91fa310b56555e317eec517dfffb14e073..e4aae5517c90362c1d50e87bf12df4105ef4bc8a 100644 (file)
@@ -30,7 +30,7 @@ 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
+      -- TODO: Catch the exception in lsp-test and provide nicer output
       let session = runSession "hie" fullCaps "test/data/renamePass" $ do
                       openDoc "Desktop/simple.hs" "haskell"
                       skipMany loggingNotification
@@ -229,6 +229,12 @@ main = hspec $ do
   describe "getCompletions" $
     it "works" $ runSession "hie" def "test/data/renamePass" $ do
       doc <- openDoc "Desktop/simple.hs" "haskell"
+
+      -- wait for module to be loaded
+      skipMany loggingNotification
+      noDiagnostics
+      noDiagnostics
+
       item:_ <- getCompletions doc (Position 5 5)
       liftIO $ do
         item ^. label `shouldBe` "interactWithUser"