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.