@@ -2599,6 +2599,8 @@ TEST_F(FirebaseGmaUmpTest, TestUmpRequestConsentInfoUpdate) {
25992599 using firebase::gma::ump::ConsentRequestParameters;
26002600 using firebase::gma::ump::ConsentStatus;
26012601
2602+ FLAKY_TEST_SECTION_BEGIN ();
2603+
26022604 ConsentRequestParameters params;
26032605 params.tag_for_under_age_of_consent = false ;
26042606
@@ -2607,7 +2609,13 @@ TEST_F(FirebaseGmaUmpTest, TestUmpRequestConsentInfoUpdate) {
26072609
26082610 EXPECT_TRUE (future == consent_info_->RequestConsentInfoUpdateLastResult ());
26092611
2610- WaitForCompletion (future, " RequestConsentInfoUpdate" );
2612+ WaitForCompletion (future, " RequestConsentInfoUpdate" ,
2613+ {firebase::gma::ump::kConsentRequestSuccess ,
2614+ firebase::gma::ump::kConsentRequestErrorNetwork });
2615+ // Retry only network errors.
2616+ EXPECT_NE (future.error (), firebase::gma::ump::kConsentRequestErrorNetwork );
2617+
2618+ FLAKY_TEST_SECTION_END ();
26112619
26122620 EXPECT_NE (consent_info_->GetConsentStatus (),
26132621 firebase::gma::ump::kConsentStatusUnknown );
@@ -2622,6 +2630,8 @@ TEST_F(FirebaseGmaUmpTest, TestUmpRequestConsentInfoUpdateDebugEEA) {
26222630 using firebase::gma::ump::ConsentRequestParameters;
26232631 using firebase::gma::ump::ConsentStatus;
26242632
2633+ FLAKY_TEST_SECTION_BEGIN ();
2634+
26252635 ConsentRequestParameters params;
26262636 params.tag_for_under_age_of_consent = false ;
26272637 params.debug_settings .debug_geography =
@@ -2632,7 +2642,13 @@ TEST_F(FirebaseGmaUmpTest, TestUmpRequestConsentInfoUpdateDebugEEA) {
26322642 firebase::Future<void > future =
26332643 consent_info_->RequestConsentInfoUpdate (params);
26342644
2635- WaitForCompletion (future, " RequestConsentInfoUpdate" );
2645+ WaitForCompletion (future, " RequestConsentInfoUpdate" ,
2646+ {firebase::gma::ump::kConsentRequestSuccess ,
2647+ firebase::gma::ump::kConsentRequestErrorNetwork });
2648+ // Retry only network errors.
2649+ EXPECT_NE (future.error (), firebase::gma::ump::kConsentRequestErrorNetwork );
2650+
2651+ FLAKY_TEST_SECTION_END ();
26362652
26372653 EXPECT_EQ (consent_info_->GetConsentStatus (),
26382654 firebase::gma::ump::kConsentStatusRequired );
@@ -2643,6 +2659,8 @@ TEST_F(FirebaseGmaUmpTest, TestUmpRequestConsentInfoUpdateDebugNonEEA) {
26432659 using firebase::gma::ump::ConsentRequestParameters;
26442660 using firebase::gma::ump::ConsentStatus;
26452661
2662+ FLAKY_TEST_SECTION_BEGIN ();
2663+
26462664 ConsentRequestParameters params;
26472665 params.tag_for_under_age_of_consent = false ;
26482666 params.debug_settings .debug_geography =
@@ -2653,7 +2671,13 @@ TEST_F(FirebaseGmaUmpTest, TestUmpRequestConsentInfoUpdateDebugNonEEA) {
26532671 firebase::Future<void > future =
26542672 consent_info_->RequestConsentInfoUpdate (params);
26552673
2656- WaitForCompletion (future, " RequestConsentInfoUpdate" );
2674+ WaitForCompletion (future, " RequestConsentInfoUpdate" ,
2675+ {firebase::gma::ump::kConsentRequestSuccess ,
2676+ firebase::gma::ump::kConsentRequestErrorNetwork });
2677+ // Retry only network errors.
2678+ EXPECT_NE (future.error (), firebase::gma::ump::kConsentRequestErrorNetwork );
2679+
2680+ FLAKY_TEST_SECTION_END ();
26572681
26582682 EXPECT_THAT (consent_info_->GetConsentStatus (),
26592683 AnyOf (Eq (firebase::gma::ump::kConsentStatusNotRequired ),
@@ -2747,15 +2771,25 @@ TEST_F(FirebaseGmaUmpTest, TestUmpLoadFormUnderAgeOfConsent) {
27472771 using firebase::gma::ump::ConsentRequestParameters;
27482772 using firebase::gma::ump::ConsentStatus;
27492773
2774+ FLAKY_TEST_SECTION_BEGIN ();
2775+
27502776 ConsentRequestParameters params;
27512777 params.tag_for_under_age_of_consent = true ;
27522778 params.debug_settings .debug_geography =
27532779 firebase::gma::ump::kConsentDebugGeographyEEA ;
27542780 params.debug_settings .debug_device_ids = kTestDeviceIDs ;
27552781 params.debug_settings .debug_device_ids .push_back (GetDebugDeviceId ());
27562782
2757- WaitForCompletion (consent_info_->RequestConsentInfoUpdate (params),
2758- " RequestConsentInfoUpdate" );
2783+ firebase::Future<void > future =
2784+ consent_info_->RequestConsentInfoUpdate (params);
2785+
2786+ WaitForCompletion (future, " RequestConsentInfoUpdate" ,
2787+ {firebase::gma::ump::kConsentRequestSuccess ,
2788+ firebase::gma::ump::kConsentRequestErrorNetwork });
2789+ // Retry only network errors.
2790+ EXPECT_NE (future.error (), firebase::gma::ump::kConsentRequestErrorNetwork );
2791+
2792+ FLAKY_TEST_SECTION_END ();
27592793
27602794 firebase::Future<void > load_future = consent_info_->LoadConsentForm ();
27612795 WaitForCompletion (load_future, " LoadConsentForm" ,
@@ -2770,15 +2804,25 @@ TEST_F(FirebaseGmaUmpTest, TestUmpLoadFormUnavailableDebugNonEEA) {
27702804 using firebase::gma::ump::ConsentRequestParameters;
27712805 using firebase::gma::ump::ConsentStatus;
27722806
2807+ FLAKY_TEST_SECTION_BEGIN ();
2808+
27732809 ConsentRequestParameters params;
27742810 params.tag_for_under_age_of_consent = false ;
27752811 params.debug_settings .debug_geography =
27762812 firebase::gma::ump::kConsentDebugGeographyNonEEA ;
27772813 params.debug_settings .debug_device_ids = kTestDeviceIDs ;
27782814 params.debug_settings .debug_device_ids .push_back (GetDebugDeviceId ());
27792815
2780- WaitForCompletion (consent_info_->RequestConsentInfoUpdate (params),
2781- " RequestConsentInfoUpdate" );
2816+ firebase::Future<void > future =
2817+ consent_info_->RequestConsentInfoUpdate (params);
2818+
2819+ WaitForCompletion (future, " RequestConsentInfoUpdate" ,
2820+ {firebase::gma::ump::kConsentRequestSuccess ,
2821+ firebase::gma::ump::kConsentRequestErrorNetwork });
2822+ // Retry only network errors.
2823+ EXPECT_NE (future.error (), firebase::gma::ump::kConsentRequestErrorNetwork );
2824+
2825+ FLAKY_TEST_SECTION_END ();
27822826
27832827 if (consent_info_->GetConsentStatus () !=
27842828 firebase::gma::ump::kConsentStatusRequired ) {
@@ -2792,15 +2836,25 @@ TEST_F(FirebaseGmaUmpTest, TestUmpLoadAndShowIfRequiredDebugNonEEA) {
27922836 using firebase::gma::ump::ConsentRequestParameters;
27932837 using firebase::gma::ump::ConsentStatus;
27942838
2839+ FLAKY_TEST_SECTION_BEGIN ();
2840+
27952841 ConsentRequestParameters params;
27962842 params.tag_for_under_age_of_consent = false ;
27972843 params.debug_settings .debug_geography =
27982844 firebase::gma::ump::kConsentDebugGeographyNonEEA ;
27992845 params.debug_settings .debug_device_ids = kTestDeviceIDs ;
28002846 params.debug_settings .debug_device_ids .push_back (GetDebugDeviceId ());
28012847
2802- WaitForCompletion (consent_info_->RequestConsentInfoUpdate (params),
2803- " RequestConsentInfoUpdate" );
2848+ firebase::Future<void > future =
2849+ consent_info_->RequestConsentInfoUpdate (params);
2850+
2851+ WaitForCompletion (future, " RequestConsentInfoUpdate" ,
2852+ {firebase::gma::ump::kConsentRequestSuccess ,
2853+ firebase::gma::ump::kConsentRequestErrorNetwork });
2854+ // Retry only network errors.
2855+ EXPECT_NE (future.error (), firebase::gma::ump::kConsentRequestErrorNetwork );
2856+
2857+ FLAKY_TEST_SECTION_END ();
28042858
28052859 EXPECT_THAT (consent_info_->GetConsentStatus (),
28062860 AnyOf (Eq (firebase::gma::ump::kConsentStatusNotRequired ),
@@ -3024,7 +3078,7 @@ TEST_F(FirebaseGmaUmpTest, TestUmpCleanupRaceCondition) {
30243078 ProcessEvents (5000 );
30253079}
30263080
3027- TEST_F (FirebaseGmaUmpTest, TestUmpCallbacksOnWrongInstance_DISABLED ) {
3081+ TEST_F (FirebaseGmaUmpTest, TestUmpCallbacksOnWrongInstance ) {
30283082 // Ensure that if ConsentInfo is deleted and then recreated, stale
30293083 // callbacks don't call into the new instance and cause crashes.
30303084 using firebase::gma::ump::ConsentFormStatus;
@@ -3038,23 +3092,46 @@ TEST_F(FirebaseGmaUmpTest, TestUmpCallbacksOnWrongInstance_DISABLED) {
30383092 params.debug_settings .debug_device_ids = kTestDeviceIDs ;
30393093 params.debug_settings .debug_device_ids .push_back (GetDebugDeviceId ());
30403094
3041- consent_info_->RequestConsentInfoUpdate (params);
3042- consent_info_->LoadConsentForm ();
3095+ LogDebug (" RequestConsentInfoUpdate" );
3096+ consent_info_->RequestConsentInfoUpdate (params).OnCompletion (
3097+ [](const firebase::Future<void >&) {
3098+ LogDebug (" RequestConsentInfoUpdate done" );
3099+ });
3100+ LogDebug (" LoadConsentForm" );
3101+ consent_info_->LoadConsentForm ().OnCompletion (
3102+ [](const firebase::Future<void >&) { LogDebug (" LoadConsentForm done" ); });
30433103 // In automated tests, only check RequestConsentInfoUpdate and LoadConsentForm
30443104 // as the rest may show UI.
30453105 if (ShouldRunUITests ()) {
3046- consent_info_->ShowConsentForm (app_framework::GetWindowController ());
3047- consent_info_->LoadAndShowConsentFormIfRequired (
3048- app_framework::GetWindowController ());
3049- consent_info_->ShowPrivacyOptionsForm (app_framework::GetWindowController ());
3106+ LogDebug (" ShowConsentForm" );
3107+ consent_info_->ShowConsentForm (app_framework::GetWindowController ())
3108+ .OnCompletion ([](const firebase::Future<void >&) {
3109+ LogDebug (" ShowConsentForm done" );
3110+ });
3111+ LogDebug (" LoadAndShowConsentFormIfRequired" );
3112+ consent_info_
3113+ ->LoadAndShowConsentFormIfRequired (app_framework::GetWindowController ())
3114+ .OnCompletion ([](const firebase::Future<void >&) {
3115+ LogDebug (" LoadAndShowConsentFormIfRequired done" );
3116+ });
3117+ LogDebug (" ShowPrivacyOptionsForm" );
3118+ consent_info_->ShowPrivacyOptionsForm (app_framework::GetWindowController ())
3119+ .OnCompletion ([](const firebase::Future<void >&) {
3120+ LogDebug (" ShowPrivacyOptionsForm done" );
3121+ });
30503122 }
30513123
3124+ LogDebug (" Terminate" );
30523125 TerminateUmp (kNoReset );
30533126
3127+ LogDebug (" Initialize" );
30543128 InitializeUmp (kNoReset );
30553129
30563130 // Give the operations time to complete.
3131+ LogDebug (" Wait" );
30573132 ProcessEvents (5000 );
3133+
3134+ LogDebug (" Done" );
30583135}
30593136
30603137TEST_F (FirebaseGmaUmpTest, TestUmpMethodsReturnOperationInProgress) {
@@ -3086,7 +3163,9 @@ TEST_F(FirebaseGmaUmpTest, TestUmpMethodsReturnOperationInProgress) {
30863163 WaitForCompletion (
30873164 future_request_2, " RequestConsentInfoUpdate second" ,
30883165 firebase::gma::ump::kConsentRequestErrorOperationInProgress );
3089- WaitForCompletion (future_request_1, " RequestConsentInfoUpdate first" );
3166+ WaitForCompletion (future_request_1, " RequestConsentInfoUpdate first" ,
3167+ {firebase::gma::ump::kConsentRequestSuccess ,
3168+ firebase::gma::ump::kConsentRequestErrorNetwork });
30903169
30913170 consent_info_->Reset ();
30923171
0 commit comments