diff --git a/internal/plugins/backends/bedrock/plugin.go b/internal/plugins/backends/bedrock/plugin.go index d2ff3172..708754ff 100644 --- a/internal/plugins/backends/bedrock/plugin.go +++ b/internal/plugins/backends/bedrock/plugin.go @@ -30,7 +30,7 @@ const DefaultLoadConfigTimeout = 30 * time.Second // indefinitely. The caller must invoke the returned CancelFunc. func ensureLoadConfigDeadline(ctx context.Context) (context.Context, context.CancelFunc) { if ctx == nil { - return context.WithTimeout(context.TODO(), DefaultLoadConfigTimeout) + return context.WithTimeout(context.Background(), DefaultLoadConfigTimeout) } if _, ok := ctx.Deadline(); ok { return ctx, func() {} diff --git a/internal/plugins/backends/bedrock/plugin_deadline_test.go b/internal/plugins/backends/bedrock/plugin_deadline_test.go index 358c8d6a..b3803b03 100644 --- a/internal/plugins/backends/bedrock/plugin_deadline_test.go +++ b/internal/plugins/backends/bedrock/plugin_deadline_test.go @@ -15,6 +15,15 @@ func TestEnsureLoadConfigDeadline_todoYieldsDeadline(t *testing.T) { } } +func TestEnsureLoadConfigDeadline_nilYieldsDeadline(t *testing.T) { + t.Parallel() + c, cancel := ensureLoadConfigDeadline(nil) //nolint:staticcheck // nil ctx: ensureLoadConfigDeadline must coerce to a usable deadline context + defer cancel() + if _, ok := c.Deadline(); !ok { + t.Fatal("expected child deadline when parent is nil") + } +} + func TestEnsureLoadConfigDeadline_backgroundYieldsDeadline(t *testing.T) { t.Parallel() c, cancel := ensureLoadConfigDeadline(context.Background())