[2026-10-17] legacy-xctest-runner: final macOS 12 results, Duck.ai focus race

This commit is contained in:
Alexey Martemyanov committed 2026-10-17 17:59:59 +06:00
1 parent fe5cc4461c
commit cf047fe7e1
1 file changed
+3
+3
View File
@@ -86,6 +86,7 @@ Without them testmanagerd shows an admin-password prompt on the display
- **Старый XCTest не завершает приложение между тестами.** При запуске класса целиком каждый следующий тест стартует поверх предыдущего: `Failed to synthesize event: Unable to synthesize gesture request N 'click' because gesture request M 'Type 'n' key with modifiers ⌘' is still in progress`, `Timed out while evaluating UI query`, лавина падений без реальных assert (первый прогон: 49 «failures» на 25 тестах Duck.ai, 42 на 24 тестах поискового класса). Тот же тест по одному проходит за ~5 с. **Решение: один `xcodebuild` на каждый тест** со свежим `prepare_environment` (чистые defaults, перезапуск tests-server и приложения), `SKIP_BUILD=1` после первого. 88 тестов ≈ 25–30 мин. Цикл `each.sh` читает `tests-list.txt` (`Class/method`), пишет `summary-each.txt`, запускается из Terminal `.command`.
- **`UITests.setAutocompleteToggleBeforeTestcaseRuns(false)` на macOS 12 падает по таймауту** (`Failed to get matching snapshots: Timed out while evaluating UI query`, окно Settings) → тесты класса не стартуют (`Executed 0 tests, with 1 failure`, ~190 с). Затронуты все классы с этим `setUp`, включая `AddressBarKeyboardShortcutsTests`. Локальный обход без коммита: убрать вызов хелпера при сборке бандла и в `prepare_environment` писать `defaults write com.duckduckgo.macos.browser.review preferences.appearance.show-autocomplete-suggestions -bool false`.
- Duck.ai: ввод сразу после Shift+Enter теряется, пока text view не получил фокус (на macOS 12 в ~3 из 25 тестов) → повторять Cmd+A и ввод, пока содержимое не совпало.
- Редкий флейк: `Failed to compute hit point for (null)` → раннер падает при снятии скриншота (`Restarting after unexpected exit, crash, or test timeout`, итог `noresult`). Перезапуск одного теста помогает.
- Repo `Logger` (`macOS/UITests/Common/UITests.swift`) calls private
`-[XCTContext _recordActivityMessageWithFormat:]`; old XCTest lacks it → guard
@@ -111,5 +112,7 @@ Without them testmanagerd shows an admin-password prompt on the display
- 2026-10-12, MBP 2014 (Intel): воспроизведён Sentry crash `NSInternalInconsistencyException SaveCredentialsViewController.loadView` (`isfinite(newOrigin.x)` on macOS 12) до фикса.
- 2026-10-17, Tart VM macOS 12.7.6 arm64: по-тестовый прогон 88 новых тестов. Первый проход 85 passed / 2 failed (находка про Cmd+Shift+← affinity) / 1 noresult (флейк скриншота). После фикса три теста перепроверены — passed.
- Полный прогон на финальном коде: 85 passed / 3 failed. Все три — Duck.ai: `setUp` набирает prompt сразу после Shift+Enter, клавиши теряются, пока text view не взял фокус (`XCTAssertEqual failed: ("") is not equal to ("alpha beta gamma delta")`). В тесте добавлен retry (до 3 попыток Cmd+A и ввод), класс Duck.ai перегнан — 25/25 passed. Итого 88/88 на macOS 12.
- Те же тесты на macOS 27 (Xcode 27.0) — 88/88 с записью экрана; PR 4548 в duckduckgo/apple-browsers, CI UI Tests на 14/15/27 запущен вручную (workflow_dispatch).
See also [[virfield]].