Skip to content

Warn about the use of TestSemantics#184369

Merged
auto-submit[bot] merged 4 commits into
flutter:masterfrom
justinmc:test-semantics-warning
Apr 8, 2026
Merged

Warn about the use of TestSemantics#184369
auto-submit[bot] merged 4 commits into
flutter:masterfrom
justinmc:test-semantics-warning

Conversation

@justinmc

Copy link
Copy Markdown
Contributor

As decided in #183790 (comment), we should avoid using TestSemantics. Let's communicate that for now until we can remove the class entirely.

Part of #184367.

@justinmc justinmc requested a review from chunhtai March 30, 2026 23:09
@justinmc justinmc self-assigned this Mar 30, 2026
@github-actions github-actions Bot added framework flutter/packages/flutter repository. See also f: labels. a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) labels Mar 30, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds a TODO and documentation to the TestSemantics class, advising against its use due to frequent breakages and recommending SemanticsController.find as an alternative. Feedback was provided to correct a typo and improve the punctuation in the added documentation for better clarity.

Comment thread packages/flutter/test/widgets/semantics_tester.dart Outdated
navaronbracke
navaronbracke previously approved these changes Mar 31, 2026

@navaronbracke navaronbracke left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we compile a list of where it is used currently and put that in the linked issue? (yet more cross import cleanup, d'oh!)

/// This class should be avoided due to a high frequency of breakages caused by
/// small semantics tree changes. Instead, prefer [SemanticsController.find],
/// accessible via [WidgetTester.semantics].
class TestSemantics {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we deprecate it? (we do allow deprecated symbols in-repo, so why not?)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I don't think it will show warnings when people flutter test. I'll go ahead and do it and make sure CI is ok with it.

chunhtai
chunhtai previously approved these changes Mar 31, 2026

@chunhtai chunhtai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, marking deprecate is fine, though not must have since this is not public

Comment on lines +26 to +27
/// small semantics tree changes. Instead, prefer [SemanticsController.find],
/// accessible via [WidgetTester.semantics].

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also mention with isSemantics and matchesSemantics matcher

@justinmc justinmc dismissed stale reviews from chunhtai and navaronbracke via ee54e01 April 3, 2026 15:56
@justinmc justinmc added the CICD Run CI/CD label Apr 3, 2026
@justinmc

justinmc commented Apr 3, 2026

Copy link
Copy Markdown
Contributor Author

Added all of the files to migrate to #184367.

@github-actions github-actions Bot removed the CICD Run CI/CD label Apr 3, 2026

@chunhtai chunhtai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@justinmc justinmc added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 3, 2026
@auto-submit

auto-submit Bot commented Apr 3, 2026

Copy link
Copy Markdown
Contributor

auto label is removed for flutter/flutter/184369, Failed to enqueue flutter/flutter/184369 with HTTP 400: GraphQL mutate failed.

@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Apr 3, 2026
@justinmc justinmc added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 7, 2026
@auto-submit

auto-submit Bot commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

auto label is removed for flutter/flutter/184369, Failed to enqueue flutter/flutter/184369 with HTTP 400: GraphQL mutate failed.

@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Apr 7, 2026
justinmc and others added 4 commits April 7, 2026 10:45
@justinmc justinmc force-pushed the test-semantics-warning branch from 1e51b55 to 0c7b7a9 Compare April 7, 2026 17:45
@justinmc justinmc added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 7, 2026
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Apr 8, 2026
@auto-submit

auto-submit Bot commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

auto label is removed for flutter/flutter/184369, Failed to enqueue flutter/flutter/184369 with HTTP 400: GraphQL mutate failed.

@Piinks Piinks mentioned this pull request Apr 8, 2026
4 tasks
@justinmc justinmc added the CICD Run CI/CD label Apr 8, 2026
@justinmc justinmc added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 8, 2026
@auto-submit auto-submit Bot added this pull request to the merge queue Apr 8, 2026
Merged via the queue into flutter:master with commit ef44a7c Apr 8, 2026
82 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Apr 8, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 9, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Apr 9, 2026
flutter/flutter@05e0ae0...81c87ea

2026-04-09 [email protected] Remove last material dependency from cupertino tests (flutter/flutter#184781)
2026-04-09 [email protected] Roll Skia from 7c46cb639dba to 4d0f5389e131 (7 revisions) (flutter/flutter#184812)
2026-04-09 [email protected] Make `windowing_test` follow repo analyzer rules (flutter/flutter#184752)
2026-04-09 [email protected] Improve documentation of `frictionFactor` function (flutter/flutter#184509)
2026-04-09 [email protected] Roll Skia from d2b0bd12576a to 7c46cb639dba (1 revision) (flutter/flutter#184796)
2026-04-09 [email protected] Roll Fuchsia GN SDK from JLBh4Z9PKsjIJcqDU... to SEfYx3xgueX3aFAY3... (flutter/flutter#184797)
2026-04-09 [email protected] Fixed freeze flow (flutter/flutter#184793)
2026-04-09 [email protected] Roll pub packages (flutter/flutter#184795)
2026-04-09 [email protected] Roll Skia from e9ed4fc9f154 to d2b0bd12576a (36 revisions) (flutter/flutter#184791)
2026-04-08 [email protected] [Android] Allow sensitive content to gracefully fail when unregistering host before registering (flutter/flutter#184789)
2026-04-08 [email protected] Refactor: remove material from autocomplete_test, scrollable_restoration_test, semantics_tester_generate_test_semantics_expression_for_current_semantics_tree_test (flutter/flutter#184615)
2026-04-08 [email protected] Warn about the use of TestSemantics (flutter/flutter#184369)
2026-04-08 [email protected] Change freeze flow to pull_request_target (flutter/flutter#184785)
2026-04-08 [email protected] Update to the beta dart version for 3.44 branch cut.  (flutter/flutter#184770)
2026-04-08 [email protected] [Dot shorthands] Migrate examples/api/test (flutter/flutter#183966)
2026-04-08 [email protected] [fuchsia] Give AOT runners the ability to copy FFI callback thunks. (flutter/flutter#184696)
2026-04-08 [email protected] Add await or ignore lint to invokeMethod callsites (flutter/flutter#182870)
2026-04-08 [email protected] Correctly handle failure to read /proc/self/exe link (flutter/flutter#184700)
2026-04-08 [email protected] Roll Skia from e264d870a380 to e9ed4fc9f154 (11 revisions) (flutter/flutter#184713)
2026-04-08 [email protected] Roll Packages from 5299279 to 0e0a032 (5 revisions) (flutter/flutter#184720)
2026-04-08 [email protected] Roll pub packages (flutter/flutter#184772)
2026-04-08 [email protected] Roll Fuchsia Linux SDK from 1rcChbOv4nSTVkUxs... to pDXMXRIjEHTw7B0sk... (flutter/flutter#184722)
2026-04-08 [email protected] Remove navigator_utils cross-imports from cupertino tests (flutter/flutter#184282)
2026-04-08 [email protected] Even more awaits v2 (flutter/flutter#184552)
2026-04-08 [email protected] Allow personal skills to be gitignored (flutter/flutter#184727)
2026-04-08 [email protected] [ci] mac_arm64 build_test re-enable shard 1 presubmit (flutter/flutter#184751)
2026-04-08 [email protected] Fix repo check on code freeze (flutter/flutter#184771)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
@justinmc justinmc deleted the test-semantics-warning branch April 10, 2026 21:25
mbcorona pushed a commit to mbcorona/flutter that referenced this pull request Apr 15, 2026
As decided in
flutter#183790 (comment),
we should avoid using TestSemantics. Let's communicate that for now
until we can remove the class entirely.

Part of flutter#184367.

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) CICD Run CI/CD framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants