From d509c233a2f7171d00b14d3b112d004f0fbb4494 Mon Sep 17 00:00:00 2001 From: Chinmay Garde Date: Wed, 10 Jun 2020 15:37:06 -0700 Subject: [PATCH] Make sure the native callback is registered before running the test. Otherwise, this is a race condition. Fixes https://github.com/flutter/flutter/issues/58785 --- .../embedder/tests/embedder_unittests.cc | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/shell/platform/embedder/tests/embedder_unittests.cc b/shell/platform/embedder/tests/embedder_unittests.cc index fe721c369aa07..a3ece90e032cc 100644 --- a/shell/platform/embedder/tests/embedder_unittests.cc +++ b/shell/platform/embedder/tests/embedder_unittests.cc @@ -2841,6 +2841,16 @@ TEST_F(EmbedderTest, CanUpdateLocales) { CREATE_NATIVE_ENTRY( [&latch](Dart_NativeArguments args) { latch.Signal(); })); + fml::AutoResetWaitableEvent check_latch; + context.AddNativeCallback( + "SignalNativeCount", + CREATE_NATIVE_ENTRY([&check_latch](Dart_NativeArguments args) { + ASSERT_EQ(tonic::DartConverter::FromDart( + Dart_GetNativeArgument(args, 0)), + 2); + check_latch.Signal(); + })); + auto engine = builder.LaunchEngine(); ASSERT_TRUE(engine.is_valid()); @@ -2876,15 +2886,6 @@ TEST_F(EmbedderTest, CanUpdateLocales) { FlutterEngineUpdateLocales(engine.get(), locales.data(), locales.size()), kSuccess); - fml::AutoResetWaitableEvent check_latch; - context.AddNativeCallback( - "SignalNativeCount", - CREATE_NATIVE_ENTRY([&check_latch](Dart_NativeArguments args) { - ASSERT_EQ(tonic::DartConverter::FromDart( - Dart_GetNativeArgument(args, 0)), - 2); - check_latch.Signal(); - })); check_latch.Wait(); }