From 343775cbaa6abbc557460479af6a9d6ee1ff157b Mon Sep 17 00:00:00 2001 From: Jeremiah Millay <5504449+floatingstatic@users.noreply.github.com> Date: Sat, 24 Jun 2023 04:13:11 -0400 Subject: [PATCH] Return ctx.Err() from RunWithContext() and Run() (#50) Signed-off-by: Jeremiah Millay --- ping.go | 1 + ping_test.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ping.go b/ping.go index 14d73c6..5e0f20d 100644 --- a/ping.go +++ b/ping.go @@ -498,6 +498,7 @@ func (p *Pinger) run(ctx context.Context, conn packetConn) error { select { case <-ctx.Done(): p.Stop() + return ctx.Err() case <-p.done: } return nil diff --git a/ping_test.go b/ping_test.go index 3e96611..c9a3bc2 100644 --- a/ping_test.go +++ b/ping_test.go @@ -801,7 +801,7 @@ func TestRunWithTimeoutContext(t *testing.T) { ctx, cancel := context.WithTimeout(context.Background(), 100*time.Millisecond) defer cancel() err = pinger.run(ctx, conn) - AssertTrue(t, err == nil) + AssertTrue(t, errors.Is(err, context.DeadlineExceeded)) elapsedTime := time.Since(start) AssertTrue(t, elapsedTime < 10*time.Second)