Do not hide unexpected accessibility-test dispatcher failures - #82
Blackspirits wants to merge 1 commit into
Conversation
Blackspirits
left a comment
There was a problem hiding this comment.
Independent adversarial re-check: the change remains limited to the accessibility test harness. The tolerated race is narrowed to Avalonia's exact closed-owner InvalidOperationException; unexpected dispatcher failures are no longer swallowed. Full CI run #34762192646 passed restore, build and the complete test suite on the first run; retry was not used. No blocker identified. Keep draft; no merge or upstream change performed.
|
Superseded by draft PR #85 after upstream commit 6840e79 fixed the Video OCR closed-owner race at the source. #85 removes dispatcher exception suppression entirely rather than retaining the narrower exception filter proposed here, and full solution CI #34767627147 is green (UITests: 5,149 passed, 9 skipped, 0 failed). Keeping this PR draft/unmerged for audit history; no upstream action performed. |
Summary
The accessibility sweep added in upstream SubtitleEdit#14825 introduced a helper that drains Avalonia dispatcher jobs while windows are opened/closed headlessly. A follow-up intentionally tolerated one known race: a background Video OCR callback can try to show a dialog after its owner has closed, and Avalonia throws
InvalidOperationException("Cannot show a window with a closed owner.").The helper currently catches
Exception, however, so any unrelated dispatcher failure is silently swallowed. That can let the accessibility test pass while asynchronous window code is actually failing.This change:
InvalidOperationException;Validation
45f7430aa7ec8d32f0079563f12ff7c0bfd1dc8eWindow.EnsureParentStateBeforeShowthrows this exact exception type/message for a closed ownertests/UI/Logic/AccessibleNamesTests.csNo production behavior is changed.
AI assistance: ChatGPT was used to adversarially review the newly merged accessibility test infrastructure and identify the overly broad exception suppression.