corrected a bug reported by Claude Agent

This commit is contained in:
christophe-duc 2026-01-07 20:24:51 -04:00
parent 94cf4d2d0e
commit 5e5dad8721
3 changed files with 28 additions and 8 deletions

View file

@ -72,10 +72,12 @@ func (r *LibpodRuntime) PruneContainers(ctx context.Context) error {
}
func (r *LibpodRuntime) ContainerStats(ctx context.Context, id string, stream bool) (<-chan ContainerStatsEntry, <-chan error) {
statsChan := make(chan ContainerStatsEntry)
close(statsChan)
errChan := make(chan error, 1)
errChan <- ErrLibpodNotAvailable
close(errChan)
return nil, errChan
return statsChan, errChan
}
// Image operations - all return ErrLibpodNotAvailable
@ -135,16 +137,20 @@ func (r *LibpodRuntime) ListPods(ctx context.Context) ([]PodSummary, error) {
}
func (r *LibpodRuntime) PodStats(ctx context.Context, id string, stream bool) (<-chan PodStatsEntry, <-chan error) {
statsChan := make(chan PodStatsEntry)
close(statsChan)
errChan := make(chan error, 1)
errChan <- ErrLibpodNotAvailable
close(errChan)
return nil, errChan
return statsChan, errChan
}
// Events returns an error channel on non-Linux platforms.
func (r *LibpodRuntime) Events(ctx context.Context) (<-chan Event, <-chan error) {
eventsChan := make(chan Event)
close(eventsChan)
errChan := make(chan error, 1)
errChan <- ErrLibpodNotAvailable
close(errChan)
return nil, errChan
return eventsChan, errChan
}

View file

@ -155,10 +155,12 @@ func (m *MockRuntime) ContainerStats(ctx context.Context, id string, stream bool
if m.ContainerStatsFunc != nil {
return m.ContainerStatsFunc(ctx, id, stream)
}
statsCh := make(chan ContainerStatsEntry)
close(statsCh)
errCh := make(chan error, 1)
errCh <- ErrMockNotImplemented
close(errCh)
return nil, errCh
return statsCh, errCh
}
// Image operations
@ -270,10 +272,12 @@ func (m *MockRuntime) PodStats(ctx context.Context, id string, stream bool) (<-c
if m.PodStatsFunc != nil {
return m.PodStatsFunc(ctx, id, stream)
}
statsCh := make(chan PodStatsEntry)
close(statsCh)
errCh := make(chan error, 1)
errCh <- ErrMockNotImplemented
close(errCh)
return nil, errCh
return statsCh, errCh
}
// Events
@ -283,10 +287,12 @@ func (m *MockRuntime) Events(ctx context.Context) (<-chan Event, <-chan error) {
if m.EventsFunc != nil {
return m.EventsFunc(ctx)
}
eventsCh := make(chan Event)
close(eventsCh)
errCh := make(chan error, 1)
errCh <- ErrMockNotImplemented
close(errCh)
return nil, errCh
return eventsCh, errCh
}
// Lifecycle

View file

@ -196,7 +196,11 @@ func TestMockRuntimeContainerStats(t *testing.T) {
t.Run("returns error channel when not implemented", func(t *testing.T) {
statsChan, errChan := mock.ContainerStats(ctx, "container1", false)
assert.Nil(t, statsChan)
assert.NotNil(t, statsChan)
// Stats channel should be closed (empty)
_, ok := <-statsChan
assert.False(t, ok, "stats channel should be closed")
err := <-errChan
assert.Equal(t, ErrMockNotImplemented, err)
@ -392,7 +396,11 @@ func TestMockRuntimeEvents(t *testing.T) {
t.Run("returns error when not implemented", func(t *testing.T) {
eventChan, errChan := mock.Events(ctx)
assert.Nil(t, eventChan)
assert.NotNil(t, eventChan)
// Events channel should be closed (empty)
_, ok := <-eventChan
assert.False(t, ok, "events channel should be closed")
err := <-errChan
assert.Equal(t, ErrMockNotImplemented, err)