projects
/
lsp-test.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Try caching now that v1.1 is out
[lsp-test.git]
/
src
/
Language
/
Haskell
/
LSP
/
Test
/
Replay.hs
diff --git
a/src/Language/Haskell/LSP/Test/Replay.hs
b/src/Language/Haskell/LSP/Test/Replay.hs
index 7d10763aab553ba19c0239df863fdafae057d9c3..ac55e9e749008c575f8a5c50dafbbec70b15040d 100644
(file)
--- a/
src/Language/Haskell/LSP/Test/Replay.hs
+++ b/
src/Language/Haskell/LSP/Test/Replay.hs
@@
-23,6
+23,7
@@
import Control.Monad
import System.FilePath
import System.IO
import Language.Haskell.LSP.Test
import System.FilePath
import System.IO
import Language.Haskell.LSP.Test
+import Language.Haskell.LSP.Test.Compat
import Language.Haskell.LSP.Test.Files
import Language.Haskell.LSP.Test.Decoding
import Language.Haskell.LSP.Test.Messages
import Language.Haskell.LSP.Test.Files
import Language.Haskell.LSP.Test.Decoding
import Language.Haskell.LSP.Test.Messages
@@
-43,8
+44,9
@@
replaySession serverExe sessionDir = do
-- decode session
let unswappedEvents = map (fromJust . decode) entries
-- decode session
let unswappedEvents = map (fromJust . decode) entries
- withServer serverExe False $ \serverIn serverOut
pid
-> do
+ withServer serverExe False $ \serverIn serverOut
serverProc
-> do
+ pid <- getProcessID serverProc
events <- swapCommands pid <$> swapFiles sessionDir unswappedEvents
let clientEvents = filter isClientMsg events
events <- swapCommands pid <$> swapFiles sessionDir unswappedEvents
let clientEvents = filter isClientMsg events
@@
-59,13
+61,12
@@
replaySession serverExe sessionDir = do
mainThread <- myThreadId
sessionThread <- liftIO $ forkIO $
mainThread <- myThreadId
sessionThread <- liftIO $ forkIO $
- runSessionWithHandles serverIn
- serverOut
+ runSessionWithHandles serverIn serverOut serverProc
(listenServer serverMsgs requestMap reqSema rspSema passSema mainThread)
def
fullCaps
sessionDir
(listenServer serverMsgs requestMap reqSema rspSema passSema mainThread)
def
fullCaps
sessionDir
- exitServer
+ (return ()) -- No finalizer cleanup
(sendMessages clientMsgs reqSema rspSema)
takeMVar passSema
killThread sessionThread
(sendMessages clientMsgs reqSema rspSema)
takeMVar passSema
killThread sessionThread