Skip to content

Commit b2188f9

Browse files
committed
writer's tets cleanup
1 parent d0ab610 commit b2188f9

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)