Skip to content

Commit 8c8f89f

Browse files
committed
writer's tets cleanup
1 parent 6f7d4ba commit 8c8f89f

File tree

2 files changed

+5
-37
lines changed

2 files changed

+5
-37
lines changed

agent/immortalstreams/backedpipe/backed_reader_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,7 @@ func TestBackedReader_ReconnectionAfterFailure(t *testing.T) {
217217
// Wait for read to unblock and succeed with new data
218218
readErr := testutil.RequireReceive(ctx, t, readDone)
219219
require.NoError(t, readErr) // Should succeed with new reader
220+
require.True(t, br.Connected())
220221
}
221222

222223
func TestBackedReader_Close(t *testing.T) {

agent/immortalstreams/backedpipe/backed_writer_test.go

Lines changed: 4 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ func TestBackedWriter_WriteToUnderlyingWhenConnected(t *testing.T) {
138138
require.Equal(t, 5, n)
139139

140140
// Data should be buffered
141+
require.Equal(t, uint64(5), bw.SequenceNum())
141142

142143
// Check underlying writer
143144
require.Equal(t, []byte("hello"), writer.buffer.Bytes())
@@ -158,7 +159,7 @@ func TestBackedWriter_BlockOnWriteFailure(t *testing.T) {
158159
// Cause write to fail
159160
writer.setError(xerrors.New("write failed"))
160161

161-
// Write should block when underlying writer fails
162+
// Write should block when underlying writer fails, not succeed immediately
162163
writeComplete := make(chan struct{})
163164
var writeErr error
164165
var n int
@@ -376,6 +377,7 @@ func TestBackedWriter_BufferEviction(t *testing.T) {
376377
err = bw.Reconnect(2, writer3) // From sequence 2, should replay "cdefg"
377378
require.NoError(t, err)
378379
require.Equal(t, []byte("cdefg"), writer3.buffer.Bytes())
380+
require.True(t, bw.Connected())
379381
}
380382

381383
func TestBackedWriter_Close(t *testing.T) {
@@ -414,39 +416,6 @@ func TestBackedWriter_CloseIdempotent(t *testing.T) {
414416
require.NoError(t, err)
415417
}
416418

417-
func TestBackedWriter_ConcurrentWrites(t *testing.T) {
418-
t.Parallel()
419-
420-
errorChan := make(chan error, 1)
421-
bw := backedpipe.NewBackedWriter(backedpipe.DefaultBufferSize, errorChan)
422-
writer := newMockWriter()
423-
bw.Reconnect(0, writer)
424-
425-
var wg sync.WaitGroup
426-
numWriters := 10
427-
writesPerWriter := 50
428-
429-
for i := 0; i < numWriters; i++ {
430-
wg.Add(1)
431-
go func(id int) {
432-
defer wg.Done()
433-
for j := 0; j < writesPerWriter; j++ {
434-
data := []byte{byte(id + '0')}
435-
bw.Write(data)
436-
}
437-
}(i)
438-
}
439-
440-
wg.Wait()
441-
442-
// Should have written expected amount to buffer
443-
expectedBytes := uint64(numWriters * writesPerWriter) //nolint:gosec // Safe conversion: test constants with small values
444-
require.Equal(t, expectedBytes, bw.SequenceNum())
445-
// Note: underlying writer may not receive all bytes due to potential disconnections
446-
// during concurrent operations, but the buffer should track all writes
447-
require.True(t, writer.Len() <= int(expectedBytes)) //nolint:gosec // Safe conversion: expectedBytes is calculated from small test values
448-
}
449-
450419
func TestBackedWriter_ReconnectDuringReplay(t *testing.T) {
451420
t.Parallel()
452421

@@ -463,9 +432,7 @@ func TestBackedWriter_ReconnectDuringReplay(t *testing.T) {
463432

464433
// Create a writer that fails during replay
465434
writer2 := &mockWriter{
466-
writeFunc: func(p []byte) (int, error) {
467-
return 0, xerrors.New("replay failed")
468-
},
435+
err: backedpipe.ErrReplayFailed,
469436
}
470437

471438
err = bw.Reconnect(0, writer2)

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy