X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/6b21fcf78372995c6d8130c63f2f8aa2609bf7fe..75b9579355e1adcdbb1255a7e8e4582e0a431f3d:/daemon_test.go?ds=inline diff --git a/daemon_test.go b/daemon_test.go index 4b0ba0a..9f45792 100644 --- a/daemon_test.go +++ b/daemon_test.go @@ -36,6 +36,8 @@ func TestClientsSeeTheTurnAsItHappens(t *testing.T) { first.Type(stopCommand) first.WaitFor(t, "[error] no turn runs") + first.Type(stopCommand + " BlueFox") + first.WaitFor(t, "[error] no subagent BlueFox runs") require.NotContains(t, second.Output(), "no turn runs") require.NoError(t, first.Close()) } @@ -96,6 +98,35 @@ func TestDaemonWritesNoFileForALongSocketPath(t *testing.T) { require.Empty(t, entries) } +func TestDaemonLogHasATimeStampOnlyOutsideTheJournal(t *testing.T) { + testCases := []struct { + name string + journal string + line string + }{ + { + name: "the journal adds the time itself", + journal: "8:12345", + line: `^onechat: the agent is ready\n$`, + }, + { + name: "a terminal gets the time in the line", + journal: "", + line: `^onechat: \d{4}/\d\d/\d\d \d\d:\d\d:\d\d the agent is ready\n$`, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + t.Setenv("JOURNAL_STREAM", tc.journal) + + var out strings.Builder + daemonLogger(&out, "onechat: ").Print("the agent is ready") + require.Regexp(t, tc.line, out.String()) + }) + } +} + // daemonStartTest serves a new agent on a socket in a temporary directory and // returns the socket path. The commands of the agent run in a temporary // directory.