70ef87aea2
The last portable failure: pytest-asyncio 1.x does not install a current event loop for synchronous tests and clears it after each async test, so a later sync test that builds a grpc.aio.Channel (create_channel) hit "RuntimeError: There is no current event loop" on Python 3.12 depending on test order (CI hit it; local order did not). Add an autouse conftest fixture that ensures a usable current loop per test. Local: 127 passed, 1 skipped. Claude-Session: https://claude.ai/code/session_01DMXXvNuPekkkrTEyPNxEkW