uvicorn 0.41's shutdown() requests task.cancel() on grace-timeout expiry;
the CancelledError is only delivered on the lingerer's next loop pass, so
asserting task.cancelled() immediately after shutdown() returns flaked.
Await the lingerer once (suppressing CancelledError) so the assertion
checks the cancellation that actually landed.
Co-authored-by: liuhao1024 <sunsky.lau@gmail.com>