]> git.giacomolli.uk - onechat/blobdiff - syncer_test.go
Name the tools that check the Go rules
[onechat] / syncer_test.go
index 09b2bb46f81481d4291e9c42d7985409e1b915c0..16f334530fc5def0b111ea702589926b3b209274 100644 (file)
@@ -28,6 +28,7 @@ func TestFlushWaitsForASyncThatStartsAfterTheWrite(t *testing.T) {
        // This write comes during the first sync, so that sync does not cover
        // it.
        s.Written()
+
        flushed := make(chan error)
        go func() {
                flushed <- s.Flush(t.Context())
@@ -35,6 +36,7 @@ func TestFlushWaitsForASyncThatStartsAfterTheWrite(t *testing.T) {
 
        gate.Release()
        gate.WaitStarted(t, 2)
+
        select {
        case err := <-flushed:
                t.Fatalf("flush returned before the second sync: %v", err)
@@ -52,6 +54,7 @@ func TestOneSyncCoversTheWritesDuringTheSyncBeforeIt(t *testing.T) {
        s := newSyncer(gate.Sync)
        s.Written()
        gate.WaitStarted(t, 1)
+
        for range 10 {
                s.Written()
        }
@@ -86,7 +89,7 @@ func TestAFailedSyncFailsEachLaterFlush(t *testing.T) {
 }
 
 func TestMemoryFlushSyncsTheChat(t *testing.T) {
-       memory, err := openMemory(t.Context(), t.TempDir(), newTestClock().Now, newFakeSummarizer())
+       memory, err := openMemory(t.Context(), t.TempDir(), newTestClock().Now, newFakeSummarizer(), discardLog())
        require.NoError(t, err)
 
        _, err = memory.Append("tool", "shell: ls")
@@ -100,9 +103,10 @@ func TestKilledWriterLosesNoLoggedMessage(t *testing.T) {
        for round := range 3 {
                acknowledged := syncerRunKilledWriter(t, root, 200+100*round)
 
-               memory, err := openMemory(t.Context(), root, time.Now, newFakeSummarizer())
+               memory, err := openMemory(t.Context(), root, time.Now, newFakeSummarizer(), discardLog())
                require.NoError(t, err)
                require.GreaterOrEqual(t, memory.log.Len(), acknowledged)
+
                for id := range memory.log.Len() {
                        message, err := memory.log.Message(id)
                        require.NoError(t, err)
@@ -124,7 +128,7 @@ func TestWriterChild(t *testing.T) {
                t.Skip("runs only as a child process")
        }
 
-       memory, err := openMemory(t.Context(), root, time.Now, newFakeSummarizer())
+       memory, err := openMemory(t.Context(), root, time.Now, newFakeSummarizer(), discardLog())
        require.NoError(t, err)
 
        for id := memory.log.Len(); ; id++ {
@@ -146,10 +150,12 @@ type SyncerGatedSync struct {
 
 func (g *SyncerGatedSync) Sync() error {
        g.mutex.Lock()
+
        g.count++
        g.mutex.Unlock()
 
        g.started <- struct{}{}
+
        <-g.release
 
        return nil
@@ -167,6 +173,7 @@ func (g *SyncerGatedSync) WaitStarted(t *testing.T, n int) {
 // Release lets the running sync end.
 func (g *SyncerGatedSync) Release() {
        <-g.started
+
        g.release <- struct{}{}
 }
 
@@ -206,6 +213,7 @@ func syncerRunKilledWriter(t *testing.T, root string, count int) int {
        }
 
        require.NoError(t, command.Process.Kill())
+
        for scanner.Scan() {
                _, err = strconv.Atoi(strings.TrimSpace(scanner.Text()))
                if err == nil {