Skip to content

fix(hig): fix the failing tests on main - #2982

Merged
datlechin merged 2 commits into
mainfrom
fix/main-ci-tests
Sep 18, 2026
Merged

datlechin merged 2 commits into
mainfrom
fix/main-ci-tests

Conversation

@datlechin

Copy link
Copy Markdown
Member

Fixes the three failures macOS Tests has hit on every recent main run.

Unit: "No menu names itself with accessibilityLabel"

#2969 added .accessibilityLabel to four menus: the JSON row inspector options, the AI chat model picker, Export's saved selections and the Users & Roles bulk actions. The guard from #2929 forbids that, because the modifier on a SwiftUI Menu replaces the name its label provides with nothing. Each name now sits on the label content, the same shape ResultSetMenu and #2929 use. AccessibleControlNameTests still passes, since it only needs the label string and the modifier in the file.

UI: ForeignKeyPickerUITests (both cases)

Failing on every run since #2969, which gave each picker row .accessibilityAddTraits(.isButton) and .accessibilityAction. The row's texts stopped reaching the tree as static texts, so staticTexts["AC/DC"] never matched. .accessibilityElement(children: .contain) ahead of them keeps the press action and the button trait on the row and its texts readable as their own elements.

UI: testRunAllLeavesTheUserTransactionOpenAfterAFailure

A race in the test added by #2971, 2 of 3 runs. After the first batch fails, its banner stays up and the chooser reads "Result 3 of 3" until the next batch lands, so chooser.title.contains("2") || banner.exists was already true before the second batch started. One CI run shows it directly: got Statement 3/3 failed: n.... The wait now requires two results and no banner.

Not addressed

"The sample database never finished opening" hits a different test on each run, also on branches before #2969, and UITestCase.waitForSampleDatabaseWindow already documents it as runner contention. Retries usually clear it.

Verification

  • MenuDisclosureIndicatorTests, AccessibleControlNameTests: 5/5 pass.
  • ForeignKeyPickerUITests: both pass.
  • QueryRunUITests: the changed case passed in two separate runs. Each run lost one other case to Critical process testmanagerd crashed (local environment), and each of those passed in the other run.
  • swiftlint lint --strict on the changed files: clean.

No CHANGELOG entry: #2969 and #2971 are both unreleased.

@datlechin
datlechin merged commit 240df13 into main Sep 18, 2026
8 checks passed
@datlechin
datlechin deleted the fix/main-ci-tests branch September 18, 2026 12:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant