@@ -2599,6 +2599,8 @@ TEST_F(FirebaseGmaUmpTest, TestUmpRequestConsentInfoUpdate) {
2599
2599
using firebase::gma::ump::ConsentRequestParameters;
2600
2600
using firebase::gma::ump::ConsentStatus;
2601
2601
2602
+ FLAKY_TEST_SECTION_BEGIN ();
2603
+
2602
2604
ConsentRequestParameters params;
2603
2605
params.tag_for_under_age_of_consent = false ;
2604
2606
@@ -2607,7 +2609,13 @@ TEST_F(FirebaseGmaUmpTest, TestUmpRequestConsentInfoUpdate) {
2607
2609
2608
2610
EXPECT_TRUE (future == consent_info_->RequestConsentInfoUpdateLastResult ());
2609
2611
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 ();
2611
2619
2612
2620
EXPECT_NE (consent_info_->GetConsentStatus (),
2613
2621
firebase::gma::ump::kConsentStatusUnknown );
@@ -2622,6 +2630,8 @@ TEST_F(FirebaseGmaUmpTest, TestUmpRequestConsentInfoUpdateDebugEEA) {
2622
2630
using firebase::gma::ump::ConsentRequestParameters;
2623
2631
using firebase::gma::ump::ConsentStatus;
2624
2632
2633
+ FLAKY_TEST_SECTION_BEGIN ();
2634
+
2625
2635
ConsentRequestParameters params;
2626
2636
params.tag_for_under_age_of_consent = false ;
2627
2637
params.debug_settings .debug_geography =
@@ -2632,7 +2642,13 @@ TEST_F(FirebaseGmaUmpTest, TestUmpRequestConsentInfoUpdateDebugEEA) {
2632
2642
firebase::Future<void > future =
2633
2643
consent_info_->RequestConsentInfoUpdate (params);
2634
2644
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 ();
2636
2652
2637
2653
EXPECT_EQ (consent_info_->GetConsentStatus (),
2638
2654
firebase::gma::ump::kConsentStatusRequired );
@@ -2643,6 +2659,8 @@ TEST_F(FirebaseGmaUmpTest, TestUmpRequestConsentInfoUpdateDebugNonEEA) {
2643
2659
using firebase::gma::ump::ConsentRequestParameters;
2644
2660
using firebase::gma::ump::ConsentStatus;
2645
2661
2662
+ FLAKY_TEST_SECTION_BEGIN ();
2663
+
2646
2664
ConsentRequestParameters params;
2647
2665
params.tag_for_under_age_of_consent = false ;
2648
2666
params.debug_settings .debug_geography =
@@ -2653,7 +2671,13 @@ TEST_F(FirebaseGmaUmpTest, TestUmpRequestConsentInfoUpdateDebugNonEEA) {
2653
2671
firebase::Future<void > future =
2654
2672
consent_info_->RequestConsentInfoUpdate (params);
2655
2673
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 ();
2657
2681
2658
2682
EXPECT_THAT (consent_info_->GetConsentStatus (),
2659
2683
AnyOf (Eq (firebase::gma::ump::kConsentStatusNotRequired ),
@@ -2747,15 +2771,25 @@ TEST_F(FirebaseGmaUmpTest, TestUmpLoadFormUnderAgeOfConsent) {
2747
2771
using firebase::gma::ump::ConsentRequestParameters;
2748
2772
using firebase::gma::ump::ConsentStatus;
2749
2773
2774
+ FLAKY_TEST_SECTION_BEGIN ();
2775
+
2750
2776
ConsentRequestParameters params;
2751
2777
params.tag_for_under_age_of_consent = true ;
2752
2778
params.debug_settings .debug_geography =
2753
2779
firebase::gma::ump::kConsentDebugGeographyEEA ;
2754
2780
params.debug_settings .debug_device_ids = kTestDeviceIDs ;
2755
2781
params.debug_settings .debug_device_ids .push_back (GetDebugDeviceId ());
2756
2782
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 ();
2759
2793
2760
2794
firebase::Future<void > load_future = consent_info_->LoadConsentForm ();
2761
2795
WaitForCompletion (load_future, " LoadConsentForm" ,
@@ -2770,15 +2804,25 @@ TEST_F(FirebaseGmaUmpTest, TestUmpLoadFormUnavailableDebugNonEEA) {
2770
2804
using firebase::gma::ump::ConsentRequestParameters;
2771
2805
using firebase::gma::ump::ConsentStatus;
2772
2806
2807
+ FLAKY_TEST_SECTION_BEGIN ();
2808
+
2773
2809
ConsentRequestParameters params;
2774
2810
params.tag_for_under_age_of_consent = false ;
2775
2811
params.debug_settings .debug_geography =
2776
2812
firebase::gma::ump::kConsentDebugGeographyNonEEA ;
2777
2813
params.debug_settings .debug_device_ids = kTestDeviceIDs ;
2778
2814
params.debug_settings .debug_device_ids .push_back (GetDebugDeviceId ());
2779
2815
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 ();
2782
2826
2783
2827
if (consent_info_->GetConsentStatus () !=
2784
2828
firebase::gma::ump::kConsentStatusRequired ) {
@@ -2792,15 +2836,25 @@ TEST_F(FirebaseGmaUmpTest, TestUmpLoadAndShowIfRequiredDebugNonEEA) {
2792
2836
using firebase::gma::ump::ConsentRequestParameters;
2793
2837
using firebase::gma::ump::ConsentStatus;
2794
2838
2839
+ FLAKY_TEST_SECTION_BEGIN ();
2840
+
2795
2841
ConsentRequestParameters params;
2796
2842
params.tag_for_under_age_of_consent = false ;
2797
2843
params.debug_settings .debug_geography =
2798
2844
firebase::gma::ump::kConsentDebugGeographyNonEEA ;
2799
2845
params.debug_settings .debug_device_ids = kTestDeviceIDs ;
2800
2846
params.debug_settings .debug_device_ids .push_back (GetDebugDeviceId ());
2801
2847
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 ();
2804
2858
2805
2859
EXPECT_THAT (consent_info_->GetConsentStatus (),
2806
2860
AnyOf (Eq (firebase::gma::ump::kConsentStatusNotRequired ),
@@ -3024,7 +3078,7 @@ TEST_F(FirebaseGmaUmpTest, TestUmpCleanupRaceCondition) {
3024
3078
ProcessEvents (5000 );
3025
3079
}
3026
3080
3027
- TEST_F (FirebaseGmaUmpTest, TestUmpCallbacksOnWrongInstance_DISABLED ) {
3081
+ TEST_F (FirebaseGmaUmpTest, TestUmpCallbacksOnWrongInstance ) {
3028
3082
// Ensure that if ConsentInfo is deleted and then recreated, stale
3029
3083
// callbacks don't call into the new instance and cause crashes.
3030
3084
using firebase::gma::ump::ConsentFormStatus;
@@ -3038,23 +3092,46 @@ TEST_F(FirebaseGmaUmpTest, TestUmpCallbacksOnWrongInstance_DISABLED) {
3038
3092
params.debug_settings .debug_device_ids = kTestDeviceIDs ;
3039
3093
params.debug_settings .debug_device_ids .push_back (GetDebugDeviceId ());
3040
3094
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" ); });
3043
3103
// In automated tests, only check RequestConsentInfoUpdate and LoadConsentForm
3044
3104
// as the rest may show UI.
3045
3105
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
+ });
3050
3122
}
3051
3123
3124
+ LogDebug (" Terminate" );
3052
3125
TerminateUmp (kNoReset );
3053
3126
3127
+ LogDebug (" Initialize" );
3054
3128
InitializeUmp (kNoReset );
3055
3129
3056
3130
// Give the operations time to complete.
3131
+ LogDebug (" Wait" );
3057
3132
ProcessEvents (5000 );
3133
+
3134
+ LogDebug (" Done" );
3058
3135
}
3059
3136
3060
3137
TEST_F (FirebaseGmaUmpTest, TestUmpMethodsReturnOperationInProgress) {
@@ -3086,7 +3163,9 @@ TEST_F(FirebaseGmaUmpTest, TestUmpMethodsReturnOperationInProgress) {
3086
3163
WaitForCompletion (
3087
3164
future_request_2, " RequestConsentInfoUpdate second" ,
3088
3165
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 });
3090
3169
3091
3170
consent_info_->Reset ();
3092
3171
0 commit comments