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._tango when 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

Merge request reports

Loading
Loading