EventLoopContext pins itself to the thread that constructed it and refuses ExecuteTasks from any other. The fixture builds one on whichever thread built the fixture, and xUnit gives no guarantee a test method runs on that thread, even inside a sequential collection -- so pumping it was a coin flip. It came up heads locally and on most CI images, and tails on CentOS 10. Each pumping test now constructs its own context, which makes the guard pass by construction rather than by luck, and restores the original afterwards. Both tests share one helper, since both need the real queue rather than ComputeInline. |
||
|---|---|---|
| .. | ||
| Fixtures | ||
| Tests | ||
| UOContent.Tests.csproj | ||