summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/Test.hs12
1 files changed, 8 insertions, 4 deletions
diff --git a/main/Test.hs b/main/Test.hs
index c978a6a..b1c8f01 100644
--- a/main/Test.hs
+++ b/main/Test.hs
@@ -504,16 +504,18 @@ cmdStartServer = do
let parseParams = \case
(name : value : rest)
- | name == "services" -> T.splitOn "," value
+ | name == "services" -> second ( map splitServiceParams (T.splitOn "," value) ++ ) (parseParams rest)
+ (name : rest)
+ | name == "test-log" -> first (\o -> o { serverTestLog = True }) (parseParams rest)
| otherwise -> parseParams rest
- _ -> []
+ _ -> ( defaultServerOptions { serverErrorPrefix = "server-error-message " }, [] )
splitServiceParams svc =
case T.splitOn ":" svc of
name : params -> ( name, params )
_ -> ( svc, [] )
- serviceNames <- map splitServiceParams . parseParams <$> asks tiParams
+ ( serverOptions, serviceNames ) <- parseParams <$> asks tiParams
h <- getOrLoadHead
rsPeers <- liftIO $ newMVar (1, [])
@@ -547,7 +549,9 @@ cmdStartServer = do
}
( sname, _ ) -> throwOtherError $ "unknown service `" <> T.unpack sname <> "'"
- rsServer <- liftIO $ startServer defaultServerOptions h (B.hPutStr stderr . (`BC.snoc` '\n') . BC.pack) services
+ let logPrint str = do BC.hPutStrLn stdout (BC.pack str)
+ hFlush stdout
+ rsServer <- liftIO $ startServer serverOptions h logPrint services
rsPeerThread <- liftIO $ forkIO $ void $ forever $ do
peer <- getNextPeerChange rsServer