Loading
Fix broken tests and improve some flaky tests
Here we try to improve the test reliability, especially for events, by adding more synchronisation.
- Database: set the working directory for the subprocess in the runtime attribute configuration test so that the tests can load
tango._tangowhen PyTango wasn't installed in place. This was broken in !1058 (merged). - Events: wait for initial callbacks before mutations, send one batch from the user-thread test, and wait for all results and output. Use local buffers, monotonic deadlines, callback error reporting, and cleanup in
finally.
subscribe → wait for initial callback → trigger updates
→ wait for completion → assert results → unsubscribe- Subscription modes: replace timestamp comparisons with an explicit read gate.
- Crash regression: wait for all 50 callbacks to unsubscribe and release their proxies.
- Logging: accept reversed delivery of entry and exit messages while preserving content assertions (seen on some Windows runner tests)
- Telemetry: retain provider objects so recycled object IDs cannot cause false failures.
Co-authored-by: Codex codex@openai.com