-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Use a more deterministic way of waiting for ad widgets to be ready. #8920
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use a more deterministic way of waiting for ad widgets to be ready. #8920
Conversation
These unit tests were failing when a skwasm change caused a subtle timing difference. See flutter/flutter#165347
ditman
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This LGTM! I'd make the allCalled a Future so we can race it against a timeout, and not leave the test hanging "forever" in a busy while loop; we can also spit out a better error message when the timeout fails, rather than the generic "the test timed out" failure, which is quite obscure in the CI logs.
packages/google_adsense/example/integration_test/experimental_ad_unit_widget_test.dart
Show resolved
Hide resolved
packages/google_adsense/example/integration_test/experimental_ad_unit_widget_test.dart
Show resolved
Hide resolved
packages/google_adsense/example/integration_test/experimental_ad_unit_widget_test.dart
Show resolved
Hide resolved
|
Ah, just noticed the |
| final Stopwatch timer = Stopwatch()..start(); | ||
| while (!tracker.allCalled) { | ||
| if (timer.elapsedMilliseconds > 1000) { | ||
| fail('timeout while waiting for ad widget to be injected'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sweet!
This is a reland of flutter#164748, which was reverted here: flutter#165350 It was reverted due to some issues in the flutter packages roller: flutter#165347 The unit test in flutter/packages was modified to be more deterministic and less affected by minor timing differences: flutter/packages#8920 So this is basically being relanded without any significant changes, since the downstream tests have been fixed.
flutter/packages@125c117...07496eb 2025-04-02 alexander.irion@siemens.com [multicast_dns] MDnsClient::listen supports onError callback (flutter/packages#8888) 2025-04-02 15619084+vashworth@users.noreply.github.com Upgrade tests to use Xcode 16 and iOS 18 (flutter/packages#8968) 2025-04-01 engine-flutter-autoroll@skia.org Manual roll Flutter from 1d954f4 to 05b5e79 (225 revisions) (flutter/packages#8960) 2025-04-01 kevmoo@users.noreply.github.com Drop deprecated HTML head meta tags (flutter/packages#8970) 2025-04-01 stuartmorgan@google.com Adjust PR checklist formatter discussion (flutter/packages#8924) 2025-04-01 stuartmorgan@google.com Update CODEOWNERS username (flutter/packages#8933) 2025-04-01 69054810+M97Chahboun@users.noreply.github.com [flutter_markdown] Added sizedImageBuilder to Markdown widget (flutter/packages#6739) 2025-04-01 stuartmorgan@google.com [google_maps_flutter] Skip impl copy of iOS tests (flutter/packages#8975) 2025-04-01 stuartmorgan@google.com [google_maps_flutter] Skip more hanging iOS tests (flutter/packages#8967) 2025-04-01 stanleycocoa@gmail.com [url_launcher] When not fully loaded, clicking close causes the callback to not be triggered correctly. (flutter/packages#8582) 2025-04-01 robert.odrowaz@leancode.pl [camera_avfoundation] Test utils and mocks swift migration - part 2 (flutter/packages#8892) 2025-03-31 15619084+vashworth@users.noreply.github.com [webview_flutter] Skip flaky legacy tests on iOS (flutter/packages#8911) 2025-03-31 davidmartos96@gmail.com [camera_android] Don't override default fps range when not recording (flutter/packages#8891) 2025-03-31 filiph@users.noreply.github.com [google_maps_flutter] Fix typo and remove duplicitous CHANGELOG entry (flutter/packages#8754) 2025-03-31 kevmoo@users.noreply.github.com [extension_gsi] Support the latest version of googleapis_auth (flutter/packages#8931) 2025-03-31 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump com.android.tools.build:gradle from 8.0.0 to 8.9.1 in /packages/pigeon/platform_tests/test_plugin/android (flutter/packages#8955) 2025-03-31 linxunfeng@yeah.net [webview_flutter_wkwebview] Fixes crash when sending undefined message via javascript channel (flutter/packages#8776) 2025-03-31 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump com.android.tools.build:gradle from 8.0.0 to 8.9.1 in /packages/pigeon/platform_tests/alternate_language_test_plugin/android (flutter/packages#8946) 2025-03-31 10687576+bparrishMines@users.noreply.github.com [interactive_media_ads] Fixes `AdEventType`s not triggering on iOS in release mode (flutter/packages#8918) 2025-03-31 stuartmorgan@google.com [google_maps_flutter] Skip test that hangs iOS CI (flutter/packages#8958) 2025-03-28 engine-flutter-autoroll@skia.org Manual roll Flutter from b16430b to 1d954f4 (114 revisions) (flutter/packages#8922) 2025-03-28 robert.odrowaz@leancode.pl [camera_avfoundation] Test utils and mocks swift migration - part 3 (flutter/packages#8912) 2025-03-27 jacksongardner@google.com Use a more deterministic way of waiting for ad widgets to be ready. (flutter/packages#8920) 2025-03-27 robert.odrowaz@leancode.pl [camera_avfoundation] Test utils and mocks swift migration - part 1 (flutter/packages#8890) 2025-03-27 tarrinneal@gmail.com [pigeon] correct usage of extended generics in generator methods (flutter/packages#8910) 2025-03-27 34892635+fa0311@users.noreply.github.com [video_player] Fix layout issue caused by `Transform.rotate` not affecting space calculation. (flutter/packages#8685) 2025-03-27 43759233+kenzieschmoll@users.noreply.github.com [shared_preferences] Fix a late initialized error with the example app (flutter/packages#8540) 2025-03-26 stuartmorgan@google.com [various] Disable sandbox in Chrome dart tests (flutter/packages#8909) 2025-03-25 stuartmorgan@google.com [tool] Move changed file detection to base command class (flutter/packages#8730) 2025-03-25 34327253+lenzpaul@users.noreply.github.com [Camera] Add lens type information (iOS) (flutter/packages#8723) 2025-03-25 tarrinneal@gmail.com [pigeon] kotlin equality methods (flutter/packages#8887) 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-flutter-autoroll Please CC flutter-ecosystem@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: 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 --------- Co-authored-by: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com>
This is a reland of #164748, which was reverted here: #165350 It was reverted due to some issues in the flutter packages roller: #165347 The unit test in flutter/packages was modified to be more deterministic and less affected by minor timing differences: flutter/packages#8920 So this is basically being relanded without any significant changes, since the downstream tests have been fixed.
flutter/packages@125c117...07496eb 2025-04-02 alexander.irion@siemens.com [multicast_dns] MDnsClient::listen supports onError callback (flutter/packages#8888) 2025-04-02 15619084+vashworth@users.noreply.github.com Upgrade tests to use Xcode 16 and iOS 18 (flutter/packages#8968) 2025-04-01 engine-flutter-autoroll@skia.org Manual roll Flutter from 1d954f4 to 05b5e79 (225 revisions) (flutter/packages#8960) 2025-04-01 kevmoo@users.noreply.github.com Drop deprecated HTML head meta tags (flutter/packages#8970) 2025-04-01 stuartmorgan@google.com Adjust PR checklist formatter discussion (flutter/packages#8924) 2025-04-01 stuartmorgan@google.com Update CODEOWNERS username (flutter/packages#8933) 2025-04-01 69054810+M97Chahboun@users.noreply.github.com [flutter_markdown] Added sizedImageBuilder to Markdown widget (flutter/packages#6739) 2025-04-01 stuartmorgan@google.com [google_maps_flutter] Skip impl copy of iOS tests (flutter/packages#8975) 2025-04-01 stuartmorgan@google.com [google_maps_flutter] Skip more hanging iOS tests (flutter/packages#8967) 2025-04-01 stanleycocoa@gmail.com [url_launcher] When not fully loaded, clicking close causes the callback to not be triggered correctly. (flutter/packages#8582) 2025-04-01 robert.odrowaz@leancode.pl [camera_avfoundation] Test utils and mocks swift migration - part 2 (flutter/packages#8892) 2025-03-31 15619084+vashworth@users.noreply.github.com [webview_flutter] Skip flaky legacy tests on iOS (flutter/packages#8911) 2025-03-31 davidmartos96@gmail.com [camera_android] Don't override default fps range when not recording (flutter/packages#8891) 2025-03-31 filiph@users.noreply.github.com [google_maps_flutter] Fix typo and remove duplicitous CHANGELOG entry (flutter/packages#8754) 2025-03-31 kevmoo@users.noreply.github.com [extension_gsi] Support the latest version of googleapis_auth (flutter/packages#8931) 2025-03-31 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump com.android.tools.build:gradle from 8.0.0 to 8.9.1 in /packages/pigeon/platform_tests/test_plugin/android (flutter/packages#8955) 2025-03-31 linxunfeng@yeah.net [webview_flutter_wkwebview] Fixes crash when sending undefined message via javascript channel (flutter/packages#8776) 2025-03-31 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump com.android.tools.build:gradle from 8.0.0 to 8.9.1 in /packages/pigeon/platform_tests/alternate_language_test_plugin/android (flutter/packages#8946) 2025-03-31 10687576+bparrishMines@users.noreply.github.com [interactive_media_ads] Fixes `AdEventType`s not triggering on iOS in release mode (flutter/packages#8918) 2025-03-31 stuartmorgan@google.com [google_maps_flutter] Skip test that hangs iOS CI (flutter/packages#8958) 2025-03-28 engine-flutter-autoroll@skia.org Manual roll Flutter from b16430b to 1d954f4 (114 revisions) (flutter/packages#8922) 2025-03-28 robert.odrowaz@leancode.pl [camera_avfoundation] Test utils and mocks swift migration - part 3 (flutter/packages#8912) 2025-03-27 jacksongardner@google.com Use a more deterministic way of waiting for ad widgets to be ready. (flutter/packages#8920) 2025-03-27 robert.odrowaz@leancode.pl [camera_avfoundation] Test utils and mocks swift migration - part 1 (flutter/packages#8890) 2025-03-27 tarrinneal@gmail.com [pigeon] correct usage of extended generics in generator methods (flutter/packages#8910) 2025-03-27 34892635+fa0311@users.noreply.github.com [video_player] Fix layout issue caused by `Transform.rotate` not affecting space calculation. (flutter/packages#8685) 2025-03-27 43759233+kenzieschmoll@users.noreply.github.com [shared_preferences] Fix a late initialized error with the example app (flutter/packages#8540) 2025-03-26 stuartmorgan@google.com [various] Disable sandbox in Chrome dart tests (flutter/packages#8909) 2025-03-25 stuartmorgan@google.com [tool] Move changed file detection to base command class (flutter/packages#8730) 2025-03-25 34327253+lenzpaul@users.noreply.github.com [Camera] Add lens type information (iOS) (flutter/packages#8723) 2025-03-25 tarrinneal@gmail.com [pigeon] kotlin equality methods (flutter/packages#8887) 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-flutter-autoroll Please CC flutter-ecosystem@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: 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 --------- Co-authored-by: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com>
This is a reland of flutter#164748, which was reverted here: flutter#165350 It was reverted due to some issues in the flutter packages roller: flutter#165347 The unit test in flutter/packages was modified to be more deterministic and less affected by minor timing differences: flutter/packages#8920 So this is basically being relanded without any significant changes, since the downstream tests have been fixed.
…lutter#8920) These unit tests were failing when a skwasm change caused a subtle timing difference. See flutter/flutter#165347
This is a reland of flutter#164748, which was reverted here: flutter#165350 It was reverted due to some issues in the flutter packages roller: flutter#165347 The unit test in flutter/packages was modified to be more deterministic and less affected by minor timing differences: flutter/packages#8920 So this is basically being relanded without any significant changes, since the downstream tests have been fixed.
flutter/packages@125c117...07496eb 2025-04-02 alexander.irion@siemens.com [multicast_dns] MDnsClient::listen supports onError callback (flutter/packages#8888) 2025-04-02 15619084+vashworth@users.noreply.github.com Upgrade tests to use Xcode 16 and iOS 18 (flutter/packages#8968) 2025-04-01 engine-flutter-autoroll@skia.org Manual roll Flutter from 1d954f4 to 05b5e79 (225 revisions) (flutter/packages#8960) 2025-04-01 kevmoo@users.noreply.github.com Drop deprecated HTML head meta tags (flutter/packages#8970) 2025-04-01 stuartmorgan@google.com Adjust PR checklist formatter discussion (flutter/packages#8924) 2025-04-01 stuartmorgan@google.com Update CODEOWNERS username (flutter/packages#8933) 2025-04-01 69054810+M97Chahboun@users.noreply.github.com [flutter_markdown] Added sizedImageBuilder to Markdown widget (flutter/packages#6739) 2025-04-01 stuartmorgan@google.com [google_maps_flutter] Skip impl copy of iOS tests (flutter/packages#8975) 2025-04-01 stuartmorgan@google.com [google_maps_flutter] Skip more hanging iOS tests (flutter/packages#8967) 2025-04-01 stanleycocoa@gmail.com [url_launcher] When not fully loaded, clicking close causes the callback to not be triggered correctly. (flutter/packages#8582) 2025-04-01 robert.odrowaz@leancode.pl [camera_avfoundation] Test utils and mocks swift migration - part 2 (flutter/packages#8892) 2025-03-31 15619084+vashworth@users.noreply.github.com [webview_flutter] Skip flaky legacy tests on iOS (flutter/packages#8911) 2025-03-31 davidmartos96@gmail.com [camera_android] Don't override default fps range when not recording (flutter/packages#8891) 2025-03-31 filiph@users.noreply.github.com [google_maps_flutter] Fix typo and remove duplicitous CHANGELOG entry (flutter/packages#8754) 2025-03-31 kevmoo@users.noreply.github.com [extension_gsi] Support the latest version of googleapis_auth (flutter/packages#8931) 2025-03-31 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump com.android.tools.build:gradle from 8.0.0 to 8.9.1 in /packages/pigeon/platform_tests/test_plugin/android (flutter/packages#8955) 2025-03-31 linxunfeng@yeah.net [webview_flutter_wkwebview] Fixes crash when sending undefined message via javascript channel (flutter/packages#8776) 2025-03-31 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump com.android.tools.build:gradle from 8.0.0 to 8.9.1 in /packages/pigeon/platform_tests/alternate_language_test_plugin/android (flutter/packages#8946) 2025-03-31 10687576+bparrishMines@users.noreply.github.com [interactive_media_ads] Fixes `AdEventType`s not triggering on iOS in release mode (flutter/packages#8918) 2025-03-31 stuartmorgan@google.com [google_maps_flutter] Skip test that hangs iOS CI (flutter/packages#8958) 2025-03-28 engine-flutter-autoroll@skia.org Manual roll Flutter from b16430b to 1d954f4 (114 revisions) (flutter/packages#8922) 2025-03-28 robert.odrowaz@leancode.pl [camera_avfoundation] Test utils and mocks swift migration - part 3 (flutter/packages#8912) 2025-03-27 jacksongardner@google.com Use a more deterministic way of waiting for ad widgets to be ready. (flutter/packages#8920) 2025-03-27 robert.odrowaz@leancode.pl [camera_avfoundation] Test utils and mocks swift migration - part 1 (flutter/packages#8890) 2025-03-27 tarrinneal@gmail.com [pigeon] correct usage of extended generics in generator methods (flutter/packages#8910) 2025-03-27 34892635+fa0311@users.noreply.github.com [video_player] Fix layout issue caused by `Transform.rotate` not affecting space calculation. (flutter/packages#8685) 2025-03-27 43759233+kenzieschmoll@users.noreply.github.com [shared_preferences] Fix a late initialized error with the example app (flutter/packages#8540) 2025-03-26 stuartmorgan@google.com [various] Disable sandbox in Chrome dart tests (flutter/packages#8909) 2025-03-25 stuartmorgan@google.com [tool] Move changed file detection to base command class (flutter/packages#8730) 2025-03-25 34327253+lenzpaul@users.noreply.github.com [Camera] Add lens type information (iOS) (flutter/packages#8723) 2025-03-25 tarrinneal@gmail.com [pigeon] kotlin equality methods (flutter/packages#8887) 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-flutter-autoroll Please CC flutter-ecosystem@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: 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 --------- Co-authored-by: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com>
…lutter#8920) These unit tests were failing when a skwasm change caused a subtle timing difference. See flutter/flutter#165347
This is a reland of flutter#164748, which was reverted here: flutter#165350 It was reverted due to some issues in the flutter packages roller: flutter#165347 The unit test in flutter/packages was modified to be more deterministic and less affected by minor timing differences: flutter/packages#8920 So this is basically being relanded without any significant changes, since the downstream tests have been fixed.
flutter/packages@125c117...07496eb 2025-04-02 alexander.irion@siemens.com [multicast_dns] MDnsClient::listen supports onError callback (flutter/packages#8888) 2025-04-02 15619084+vashworth@users.noreply.github.com Upgrade tests to use Xcode 16 and iOS 18 (flutter/packages#8968) 2025-04-01 engine-flutter-autoroll@skia.org Manual roll Flutter from 1d954f4 to 05b5e79 (225 revisions) (flutter/packages#8960) 2025-04-01 kevmoo@users.noreply.github.com Drop deprecated HTML head meta tags (flutter/packages#8970) 2025-04-01 stuartmorgan@google.com Adjust PR checklist formatter discussion (flutter/packages#8924) 2025-04-01 stuartmorgan@google.com Update CODEOWNERS username (flutter/packages#8933) 2025-04-01 69054810+M97Chahboun@users.noreply.github.com [flutter_markdown] Added sizedImageBuilder to Markdown widget (flutter/packages#6739) 2025-04-01 stuartmorgan@google.com [google_maps_flutter] Skip impl copy of iOS tests (flutter/packages#8975) 2025-04-01 stuartmorgan@google.com [google_maps_flutter] Skip more hanging iOS tests (flutter/packages#8967) 2025-04-01 stanleycocoa@gmail.com [url_launcher] When not fully loaded, clicking close causes the callback to not be triggered correctly. (flutter/packages#8582) 2025-04-01 robert.odrowaz@leancode.pl [camera_avfoundation] Test utils and mocks swift migration - part 2 (flutter/packages#8892) 2025-03-31 15619084+vashworth@users.noreply.github.com [webview_flutter] Skip flaky legacy tests on iOS (flutter/packages#8911) 2025-03-31 davidmartos96@gmail.com [camera_android] Don't override default fps range when not recording (flutter/packages#8891) 2025-03-31 filiph@users.noreply.github.com [google_maps_flutter] Fix typo and remove duplicitous CHANGELOG entry (flutter/packages#8754) 2025-03-31 kevmoo@users.noreply.github.com [extension_gsi] Support the latest version of googleapis_auth (flutter/packages#8931) 2025-03-31 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump com.android.tools.build:gradle from 8.0.0 to 8.9.1 in /packages/pigeon/platform_tests/test_plugin/android (flutter/packages#8955) 2025-03-31 linxunfeng@yeah.net [webview_flutter_wkwebview] Fixes crash when sending undefined message via javascript channel (flutter/packages#8776) 2025-03-31 49699333+dependabot[bot]@users.noreply.github.com [dependabot]: Bump com.android.tools.build:gradle from 8.0.0 to 8.9.1 in /packages/pigeon/platform_tests/alternate_language_test_plugin/android (flutter/packages#8946) 2025-03-31 10687576+bparrishMines@users.noreply.github.com [interactive_media_ads] Fixes `AdEventType`s not triggering on iOS in release mode (flutter/packages#8918) 2025-03-31 stuartmorgan@google.com [google_maps_flutter] Skip test that hangs iOS CI (flutter/packages#8958) 2025-03-28 engine-flutter-autoroll@skia.org Manual roll Flutter from b16430b to 1d954f4 (114 revisions) (flutter/packages#8922) 2025-03-28 robert.odrowaz@leancode.pl [camera_avfoundation] Test utils and mocks swift migration - part 3 (flutter/packages#8912) 2025-03-27 jacksongardner@google.com Use a more deterministic way of waiting for ad widgets to be ready. (flutter/packages#8920) 2025-03-27 robert.odrowaz@leancode.pl [camera_avfoundation] Test utils and mocks swift migration - part 1 (flutter/packages#8890) 2025-03-27 tarrinneal@gmail.com [pigeon] correct usage of extended generics in generator methods (flutter/packages#8910) 2025-03-27 34892635+fa0311@users.noreply.github.com [video_player] Fix layout issue caused by `Transform.rotate` not affecting space calculation. (flutter/packages#8685) 2025-03-27 43759233+kenzieschmoll@users.noreply.github.com [shared_preferences] Fix a late initialized error with the example app (flutter/packages#8540) 2025-03-26 stuartmorgan@google.com [various] Disable sandbox in Chrome dart tests (flutter/packages#8909) 2025-03-25 stuartmorgan@google.com [tool] Move changed file detection to base command class (flutter/packages#8730) 2025-03-25 34327253+lenzpaul@users.noreply.github.com [Camera] Add lens type information (iOS) (flutter/packages#8723) 2025-03-25 tarrinneal@gmail.com [pigeon] kotlin equality methods (flutter/packages#8887) 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-flutter-autoroll Please CC flutter-ecosystem@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: 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 --------- Co-authored-by: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com>
These unit tests were failing when a skwasm change caused a subtle timing difference. See flutter/flutter#165347