import (
"bufio"
+ "context"
"errors"
"fmt"
"os"
require.ErrorIs(t, s.Close(), failure)
}
+func TestFlushCancellationKeepsTheDirectContextError(t *testing.T) {
+ gate := newSyncerGatedSync()
+ s := newSyncer(gate.Sync)
+ s.Written()
+ gate.WaitStarted(t, 1)
+
+ ctx, cancel := context.WithCancel(t.Context())
+ defer cancel()
+
+ cancel()
+
+ err := s.Flush(ctx)
+ require.Equal(t, context.Canceled, err)
+
+ gate.Release()
+ require.NoError(t, s.Close())
+}
+
func TestMemoryFlushSyncsTheChat(t *testing.T) {
memory, err := openMemory(t.Context(), t.TempDir(), newTestClock().Now, newFakeSummarizer(), discardLog())
require.NoError(t, err)