Skip to content

Commit

Permalink
feat(sut): Make dumblog show sent messages
Browse files Browse the repository at this point in the history
  • Loading branch information
symbiont-daniel-gustafsson committed Mar 16, 2022
1 parent 45c21d7 commit 8b8f44d
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 8 deletions.
10 changes: 5 additions & 5 deletions src/new-debugger/src/Debugger/UI.hs
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ drawUI as = [ui]
, vLimit 7 $ borderWithLabel (str "Reactor Log") $ renderLogs as
]

renderEvent :: DebEvent -> String
renderEvent (DebEvent from to event receivedLogical _) =
event <> ": " <> from <> " -> " <> to <> " @ " <> show receivedLogical
renderEvent :: Bool -> DebEvent -> String
renderEvent showMsg (DebEvent from to event receivedLogical msg) =
event <> ": " <> from <> " -> " <> to <> " @ " <> show receivedLogical <> if showMsg then " : " <> msg else mempty

renderToString :: AppState -> (InstanceState -> String) -> Widget ()
renderToString as f = center$ strWrapWith wrapSettings (fromMaybe "?" . fmap (f . snd) $ L.listSelectedElement $ asLog as)
Expand All @@ -60,7 +60,7 @@ renderMessage :: AppState -> Widget ()
renderMessage as = renderToString as (message . isCurrentEvent)

renderSentMessage :: AppState -> Widget ()
renderSentMessage as = renderToString as (addEmpty . unlines . map renderEvent . isSent)
renderSentMessage as = renderToString as (addEmpty . unlines . map (renderEvent True) . isSent)
where
addEmpty [] = "\n"
addEmpty xs = xs
Expand All @@ -76,7 +76,7 @@ listDrawElement sel is =
let selStr s = if sel
then withAttr customAttr (str $ ">" <> s)
else str $ " " <> s
in selStr $ renderEvent $ isCurrentEvent is
in selStr $ renderEvent False $ isCurrentEvent is

customAttr :: AttrName
customAttr = L.listSelectedAttr <> "custom"
Expand Down
14 changes: 11 additions & 3 deletions src/sut/dumblog/src/Dumblog/Journal/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,10 @@ replayDebug originCommands originState = do
pure dfile
go logger logTime dfile (cmd:cmds) s = do
putStrLn $ "[REPLAY-DEBUG] running: " <> show cmd
(s', _) <- runCommand (DLogger.queueLogger logger) s cmd
(s', r) <- runCommand (DLogger.queueLogger logger) s cmd
logLines <- DLogger.flushQueue logger
let
lbsToString = LText.unpack . LEncoding.decodeUtf8
(ev, msg) = case cmd of
Read i -> ("read", show i)
Write logMsg -> ("write", Text.unpack (decodeUtf8 logMsg))
Expand All @@ -100,10 +101,17 @@ replayDebug originCommands originState = do
, message = msg
}
is = InstanceStateRepr
{ state = LText.unpack (LEncoding.decodeUtf8 (Aeson.encode (mergePatch (Aeson.toJSON s) (Aeson.toJSON s'))))
{ state = lbsToString (Aeson.encode (mergePatch (Aeson.toJSON s) (Aeson.toJSON s')))
, currentEvent = ce
, logs = logLines
, sent = []
, sent = [ DebEvent
{ from = "dumblog"
, to = "client"
, event = ev
, receivedLogical = logTime
, message = lbsToString r
}
]
}
go logger (succ logTime) (Vector.snoc dfile is) cmds s'

Expand Down

0 comments on commit 8b8f44d

Please sign in to comment.