Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 14 additions & 6 deletions shell/platform/embedder/tests/embedder_a11y_unittests.cc
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ namespace testing {

using Embedder11yTest = testing::EmbedderTest;

TEST_F(Embedder11yTest, A11yTreeIsConsistent) {
// TODO: This test has been disabled as it is flaky (more reproducible in
// profile more). Multiple calls to a11y changed handler in Dart code is
// suspected. https://github.com/flutter/flutter/issues/35218
TEST_F(Embedder11yTest, DISABLED_A11yTreeIsConsistent) {
auto& context = GetEmbedderContext();

fml::AutoResetWaitableEvent latch;
Expand Down Expand Up @@ -51,7 +54,8 @@ TEST_F(Embedder11yTest, A11yTreeIsConsistent) {
// Wait for initial NotifySemanticsEnabled(false).
callback = [&](Dart_NativeArguments args) {
bool enabled = true;
Dart_GetNativeBooleanArgument(args, 0, &enabled);
auto handle = Dart_GetNativeBooleanArgument(args, 0, &enabled);
ASSERT_FALSE(Dart_IsError(handle));
ASSERT_FALSE(enabled);
latch.Signal();
};
Expand All @@ -60,7 +64,8 @@ TEST_F(Embedder11yTest, A11yTreeIsConsistent) {
// Enable semantics. Wait for NotifySemanticsEnabled(true).
callback = [&](Dart_NativeArguments args) {
bool enabled = false;
Dart_GetNativeBooleanArgument(args, 0, &enabled);
auto handle = Dart_GetNativeBooleanArgument(args, 0, &enabled);
ASSERT_FALSE(Dart_IsError(handle));
ASSERT_TRUE(enabled);
latch.Signal();
};
Expand All @@ -71,7 +76,8 @@ TEST_F(Embedder11yTest, A11yTreeIsConsistent) {
// Wait for initial accessibility features (reduce_motion == false)
callback = [&](Dart_NativeArguments args) {
bool enabled = true;
Dart_GetNativeBooleanArgument(args, 0, &enabled);
auto handle = Dart_GetNativeBooleanArgument(args, 0, &enabled);
ASSERT_FALSE(Dart_IsError(handle));
ASSERT_FALSE(enabled);
latch.Signal();
};
Expand All @@ -80,7 +86,8 @@ TEST_F(Embedder11yTest, A11yTreeIsConsistent) {
// Set accessibility features: (reduce_motion == true)
callback = [&](Dart_NativeArguments args) {
bool enabled = false;
Dart_GetNativeBooleanArgument(args, 0, &enabled);
auto handle = Dart_GetNativeBooleanArgument(args, 0, &enabled);
ASSERT_FALSE(Dart_IsError(handle));
ASSERT_TRUE(enabled);
latch.Signal();
};
Expand Down Expand Up @@ -136,7 +143,8 @@ TEST_F(Embedder11yTest, A11yTreeIsConsistent) {
ASSERT_EQ(42, node_id);

int64_t action_id;
Dart_GetNativeIntegerArgument(args, 1, &action_id);
auto handle = Dart_GetNativeIntegerArgument(args, 1, &action_id);
ASSERT_FALSE(Dart_IsError(handle));
ASSERT_EQ(static_cast<int32_t>(flutter::SemanticsAction::kTap), action_id);

Dart_Handle semantic_args = Dart_GetNativeArgument(args, 2);
Expand Down
5 changes: 3 additions & 2 deletions testing/run_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,9 @@ fi
# Switch to buildroot dir. Some tests assume paths relative to buildroot.
cd "$BUILDROOT_DIR"

# TODO(dnfield): Re-enable this when the upstream Dart changes that make it not be flaky land.
# $HOST_DIR/embedder_unittests
echo "Running embedder_unittests..."
"$HOST_DIR/embedder_unittests"

echo "Running flow_unittests..."
"$HOST_DIR/flow_unittests"

Expand Down