Return ctx.Err() from RunWithContext() and Run() (#50)

Signed-off-by: Jeremiah Millay <jmillay@fastly.com>
This commit is contained in:
Jeremiah Millay 2023-06-24 04:13:11 -04:00 committed by Kaj Niemi
parent 118abe2a50
commit 343775cbaa
2 changed files with 2 additions and 1 deletions

View File

@ -498,6 +498,7 @@ func (p *Pinger) run(ctx context.Context, conn packetConn) error {
select { select {
case <-ctx.Done(): case <-ctx.Done():
p.Stop() p.Stop()
return ctx.Err()
case <-p.done: case <-p.done:
} }
return nil return nil

View File

@ -801,7 +801,7 @@ func TestRunWithTimeoutContext(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), 100*time.Millisecond) ctx, cancel := context.WithTimeout(context.Background(), 100*time.Millisecond)
defer cancel() defer cancel()
err = pinger.run(ctx, conn) err = pinger.run(ctx, conn)
AssertTrue(t, err == nil) AssertTrue(t, errors.Is(err, context.DeadlineExceeded))
elapsedTime := time.Since(start) elapsedTime := time.Since(start)
AssertTrue(t, elapsedTime < 10*time.Second) AssertTrue(t, elapsedTime < 10*time.Second)