python-trio / purerpc

Native, async Python gRPC client and server implementation supporting asyncio, uvloop, and trio
Apache License 2.0
217 stars 15 forks source link

fix tests for strict exception groups #42

Closed VincentVanlaer closed 4 months ago

VincentVanlaer commented 4 months ago
belm0 commented 4 months ago

@VincentVanlaer I explained it in a thread of another project, but merely patching tests to handle strict exception groups doesn't provide any assurance that the runtime code supports strict exceptions. For example, where the API was previously raising a bare exception, it might now raise an ExceptionGroup (the API should probably never raise ExceptionGroup, since internal use of nurseries/concurrency is an implementation detail). Likewise, internally to the runtime, if there are any except statements catching bare exceptions, they need to be ported to excptiongroup catches.

VincentVanlaer commented 4 months ago

My main goal wasn't to fully assure the exception groups are as expected, but to have the dependencies be up to date to support python 3.11 (grpc is problematic, as it seems you have noticed) for runnign tests locally. I should have explained that in more detail, my bad! I agree with your assessment about exception groups though. Thanks for making the final changes!

belm0 commented 4 months ago

@VincentVanlaer what version of Trio is used in your project? I'm thinking of doing a purerpc release with the restriction anyio < 4.0 (and hence trio < 0.22), given that the package isn't ready for strict exception groups.

VincentVanlaer commented 4 months ago

I'm currently using the latest trio release, and haven't encountered any problems. I'll make an issue to discuss this further this evening.