]> git.giacomolli.uk - onechat/blobdiff - daemon_message_helper_test.go
Make intentional error discards explicit
[onechat] / daemon_message_helper_test.go
index 2122a934650ca72c9251c00452a6d2d290d6f70d..6b599ae17dfb7bb1a4e5a430594e48ed5e77050b 100644 (file)
@@ -22,31 +22,40 @@ type DaemonMessageTest struct {
        done     []chan error
 }
 
-func (r *DaemonMessageTest) Start(t *testing.T, indices ...int) {
+func newDaemonMessageTest(t *testing.T, dir string, server *ModelFake) *DaemonMessageTest {
        t.Helper()
 
-       ctx, cancel := context.WithCancel(t.Context())
-       r.cancel = cancel
-       for _, index := range indices {
-               done := make(chan error, 1)
-               r.done = append(r.done, done)
-               go func() {
-                       done <- r.loops[index].Run(ctx)
-               }()
+       _, err := os.Stat(filepath.Join(dir, daemonAgentDirName, "children"))
+       if errors.Is(err, os.ErrNotExist) {
+               daemonChildConfig(t, dir, "Garden")
+               daemonChildConfig(t, dir, "Library")
+       } else {
+               require.NoError(t, err)
        }
-}
 
-func (r *DaemonMessageTest) Queue(t *testing.T) DaemonMessageFile {
-       t.Helper()
+       test := &DaemonMessageTest{
+               logs: &SyncBuffer{},
+       }
 
-       data, err := os.ReadFile(r.messages.path)
+       test.agents, err = openDaemonAgents(t.Context(), dir, server.URL, ModelAPIKey(modelTestKey), defaultConfig().Compactor, newTestClock().Now, daemonTestLogger(test.logs))
        require.NoError(t, err)
+       t.Cleanup(func() {
+               test.Close(t)
+       })
 
-       var file DaemonMessageFile
+       for _, agent := range test.agents {
+               events := &TurnEventRecorder{}
+               loop, err := agent.Loop(nil, events.Add)
+               require.NoError(t, err)
 
-       require.NoError(t, json.Unmarshal(data, &file))
+               test.events = append(test.events, events)
+               test.loops = append(test.loops, loop)
+       }
 
-       return file
+       test.messages, err = openDaemonMessages(test.loops)
+       require.NoError(t, err)
+
+       return test
 }
 
 func (r *DaemonMessageTest) Close(t *testing.T) {
@@ -68,37 +77,29 @@ func (r *DaemonMessageTest) Close(t *testing.T) {
        r.agents = nil
 }
 
-func newDaemonMessageTest(t *testing.T, dir string, server *ModelFake) *DaemonMessageTest {
+func (r *DaemonMessageTest) Start(t *testing.T, indices ...int) {
        t.Helper()
 
-       _, err := os.Stat(filepath.Join(dir, daemonAgentDirName, "children"))
-       if errors.Is(err, os.ErrNotExist) {
-               daemonChildConfig(t, dir, "Garden")
-               daemonChildConfig(t, dir, "Library")
-       } else {
-               require.NoError(t, err)
+       ctx, cancel := context.WithCancel(t.Context())
+       r.cancel = cancel
+       for _, index := range indices {
+               done := make(chan error, 1)
+               r.done = append(r.done, done)
+               go func() {
+                       done <- r.loops[index].Run(ctx)
+               }()
        }
+}
 
-       test := &DaemonMessageTest{
-               logs: &SyncBuffer{},
-       }
-       test.agents, err = openDaemonAgents(t.Context(), dir, server.URL, ModelAPIKey(modelTestKey), defaultConfig().Compactor, newTestClock().Now, daemonTestLogger(test.logs))
-       require.NoError(t, err)
-       t.Cleanup(func() {
-               test.Close(t)
-       })
+func (r *DaemonMessageTest) Queue(t *testing.T) DaemonMessageFile {
+       t.Helper()
 
-       for _, agent := range test.agents {
-               events := &TurnEventRecorder{}
-               loop, err := agent.Loop(nil, events.Add)
-               require.NoError(t, err)
+       data, err := os.ReadFile(r.messages.path)
+       require.NoError(t, err)
 
-               test.events = append(test.events, events)
-               test.loops = append(test.loops, loop)
-       }
+       var file DaemonMessageFile
 
-       test.messages, err = openDaemonMessages(test.loops)
-       require.NoError(t, err)
+       require.NoError(t, json.Unmarshal(data, &file))
 
-       return test
+       return file
 }