Add ability to replay from exe
[lsp-test.git] / lib / Language / Haskell / LSP / Test / Machine.hs
index f407c7d7d44e5a4359c42972b4c0de9356a30f25..7e0a78d247a41838014a7e099245480d4242a35e 100644 (file)
@@ -24,14 +24,14 @@ advance s _ = return s
 mkStates [] = Passed
 mkStates ((n, f, msgs):xs) = State n f msgs (mkStates xs)
 
-runMachine :: String -> [(String, FromServerMessage -> Bool, [Session ()])] -> IO String
-runMachine rootDir encodedStates =
-  runSession "hie --lsp" rootDir $ do
+runMachine :: String -> FilePath -> [(String, FromServerMessage -> Bool, [Session ()])] -> IO Bool
+runMachine cmd rootDir encodedStates =
+  runSession cmd rootDir $ do
     let f Passed = return Passed
         f s = Received <$> anyMessage >>= advance s >>= f
         initState = mkStates encodedStates
     res <- f initState
     case res of
-      Passed -> return "passed"
-      _ -> return "failed"
+      Passed -> return True
+      _ -> return False