Not canceling the parent context made sense, but the new context should be cancelable like any other TContext. Found when passing tCtx.WithoutCancel() to StartTestServer and the tear-down function got stuck because it couldn't cancel the context.