X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/e86df5fad9aa2f280aad845adeefd239b0e944ae..42b4acd4ba70d3c12da4513d139717e592eefe4a:/syncer_test.go?ds=inline diff --git a/syncer_test.go b/syncer_test.go index 8eeb1ee..65a9672 100644 --- a/syncer_test.go +++ b/syncer_test.go @@ -2,6 +2,7 @@ package main import ( "bufio" + "context" "errors" "fmt" "os" @@ -89,6 +90,24 @@ func TestAFailedSyncFailsEachLaterFlush(t *testing.T) { 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)