X-Git-Url: https://git.giacomolli.uk/onehouse/blobdiff_plain/2015860819c6228bf5ec708a48e5ca9b7c04e27d..d1910130620af1355128795e5dbcacab4f476950:/driver/runner_test.go?ds=inline diff --git a/driver/runner_test.go b/driver/runner_test.go index 2ece6cd..c1c32aa 100644 --- a/driver/runner_test.go +++ b/driver/runner_test.go @@ -20,8 +20,14 @@ func TestRunRefreshesDriversAndWaitsForCleanup(t *testing.T) { ctx, cancel := context.WithCancel(t.Context()) defer cancel() - first := &fakeDriver{stopped: make(chan struct{}), refreshed: make(chan struct{}, 1)} - second := &fakeDriver{stopped: make(chan struct{}), refreshed: make(chan struct{}, 1)} + first := &fakeDriver{ + stopped: make(chan struct{}), + refreshed: make(chan struct{}, 1), + } + second := &fakeDriver{ + stopped: make(chan struct{}), + refreshed: make(chan struct{}, 1), + } connected := make(chan struct{}, 1) finished := make(chan error, 1) go func() { @@ -53,18 +59,67 @@ func TestRunClassifiesStopsAndJoinedFailures(t *testing.T) { canceled bool failure bool }{ - {name: "normal completion", err: nil}, - {name: "cancellation is a stop", err: context.Canceled, canceled: true}, - {name: "closed transport is a stop", err: net.ErrClosed, canceled: true}, - {name: "closed pipe is a stop", err: io.ErrClosedPipe, canceled: true}, - {name: "broken pipe is a stop", err: syscall.EPIPE, canceled: true}, - {name: "reset connection is a stop", err: syscall.ECONNRESET, canceled: true}, - {name: "wrapped stop stays a stop", err: fmt.Errorf("read: %w", net.ErrClosed), canceled: true}, - {name: "joined stops stay stops", err: errors.Join(context.Canceled, net.ErrClosed), canceled: true}, - {name: "joined failure stays a failure", err: errors.Join(context.Canceled, failure), canceled: true, failure: true}, - {name: "request timeout stays a failure", err: context.DeadlineExceeded, failure: true}, - {name: "active transport close is a failure", err: net.ErrClosed, failure: true}, - {name: "independent failure stays a failure", err: failure, canceled: true, failure: true}, + { + name: "normal completion", + err: nil, + }, + { + name: "cancellation is a stop", + err: context.Canceled, + canceled: true, + }, + { + name: "closed transport is a stop", + err: net.ErrClosed, + canceled: true, + }, + { + name: "closed pipe is a stop", + err: io.ErrClosedPipe, + canceled: true, + }, + { + name: "broken pipe is a stop", + err: syscall.EPIPE, + canceled: true, + }, + { + name: "reset connection is a stop", + err: syscall.ECONNRESET, + canceled: true, + }, + { + name: "wrapped stop stays a stop", + err: fmt.Errorf("read: %w", net.ErrClosed), + canceled: true, + }, + { + name: "joined stops stay stops", + err: errors.Join(context.Canceled, net.ErrClosed), + canceled: true, + }, + { + name: "joined failure stays a failure", + err: errors.Join(context.Canceled, failure), + canceled: true, + failure: true, + }, + { + name: "request timeout stays a failure", + err: context.DeadlineExceeded, + failure: true, + }, + { + name: "active transport close is a failure", + err: net.ErrClosed, + failure: true, + }, + { + name: "independent failure stays a failure", + err: failure, + canceled: true, + failure: true, + }, } for _, tc := range testCases {