Merge origin/testing into hunter

This commit is contained in:
hjozwiak committed 2026-11-03 10:35:41 -05:00
commit a4d427099e
19 files changed
+424 -35

No files matched your search

+51 -3
View File
@@ -58,11 +58,12 @@ The final `live-atomic` run also verifies that busy completion requires no new t
insertion. It covers atomic text updates, atomic child additions, non-atomic
updates, suppression while busy, and release after busy becomes false.
Firefox baseline reading passed. Its tab regression timed out on the second
At the original review, Firefox baseline reading passed. Its tab regression timed
out on the second
“New Tab” announcement in both the modified checkout and an untouched `bf4b9d7`
snapshot. The recorded events include a selected-state event for the previous
unselected tab. This is an unresolved existing/provider case, not a verified
regression introduced by these changes.
unselected tab. That failure predated the changes reviewed here. The browser-test
maintenance below addresses it without relaxing the announcement assertions.
The affected `go vet` checks, normal reader build, BrlAPI helper build, Python
syntax check, parity-ledger validation and whitespace check passed. No installed
@@ -90,6 +91,53 @@ go vet ./internal/atspi ./internal/review ./internal/app
go run ./cmd/parityledger validate testdata/parity-ledger.csv
```
## Browser-test maintenance (2026-11-03)
The fragmented-line fixture expected an empty editor-control stop before its
first text line. Current browse navigation and its unit regression deliberately
descend directly into rich-editor text. The native fixture now requires that same
sequence, retaining forward/backward reading, character/word movement, Read All
and inline Braille-routing checks.
Firefox can emit tab selection before the new tab enters its accessible child
list. Its later child-added event exposes the selected tab. The native adapter
now recognizes that event only for a live, freshly selected browser-chrome tab
whose parent matches the emitting tab list. Document-authored tabs and unselected
background additions do not qualify. Existing foreground checks and tab-identity
deduplication still apply. Child-added origin suffixes such as `:system` are
normalized before dispatch, with the original native type retained in diagnostics.
The browser profile keeps its normal animations; the tab test still requires an
announcement for each creation, switch and close, without duplicate announcements
or automatic address-rewrite speech.
Private-session cleanup now waits up to five seconds for a document portal's
FUSE mount to disappear after D-Bus exits. Only disconnected/busy cleanup errors
are retried; unrelated errors and a persistent mount still fail the run. The
isolation regressions also verify that retries preserve a failing child test's
exit status.
All 33 Chromium proofs passed in the final combined run, and Firefox baseline
and tab checks passed in repeated runs with normal animations. Eight private-
session regressions, focused package race tests, affected-package vet checks and
a separate reader build passed. An earlier Chromium run failed generated-link
Read All with “accessible children require recapture”; its isolated and final
combined reruns passed. That intermittent failure's cause is not established.
```sh
python3 -B tests/test_native_test_session.py
CTHULHU_NATIVE_BROWSER_TESTS=fragments,tabs,linkedheadings,selection,modes,live,live-atomic python3 tests/native_browser.py
python3 tests/native_firefox.py
```
For live acceptance, create two Firefox tabs in quick succession, switch between
them, then close them. Each action should announce the newly selected tab once;
editing and deleting text in the address bar must still speak. Open a link in a
background tab and check that its creation does not announce a tab switch. Check
page-authored ARIA tabs and an ordinary GTK notebook retain their own behavior.
In `tests/browser-fragments.html`, navigate to “Embedded suggestion”: Down should
read “Review the code.” immediately, followed by “Report actionable issues.” and
“After the suggestion.” Check reverse navigation, Read All and Braille routing.
## Human acceptance before submission
Review the generated diff under the project's AI-assisted contribution policy.