@@ -873,15 +873,27 @@ TEST_F(FirebaseGmaTest, TestInterstitialAdLoad) {
873
873
firebase::Future<firebase::gma::AdResult> load_ad_future =
874
874
interstitial->LoadAd (kInterstitialAdUnit , GetAdRequest ());
875
875
876
- WaitForCompletion (load_ad_future, " LoadAd" );
877
- const firebase::gma::AdResult* result_ptr = load_ad_future.result ();
878
- ASSERT_NE (result_ptr, nullptr );
879
- EXPECT_TRUE (result_ptr->is_successful ());
880
- EXPECT_FALSE (result_ptr->response_info ().adapter_responses ().empty ());
881
- EXPECT_FALSE (
882
- result_ptr->response_info ().mediation_adapter_class_name ().empty ());
883
- EXPECT_FALSE (result_ptr->response_info ().response_id ().empty ());
884
- EXPECT_FALSE (result_ptr->response_info ().ToString ().empty ());
876
+ // This test behaves differently if it's running in UI mode
877
+ // (manually on a device) or in non-UI mode (via automated tests).
878
+ if (ShouldRunUITests ()) {
879
+ // Run in manual mode: fail if any error occurs.
880
+ WaitForCompletion (load_ad_future, " LoadAd" );
881
+ } else {
882
+ // Run in automated test mode: don't fail if NoFill occurred.
883
+ WaitForCompletion (
884
+ load_ad_future, " LoadAd (ignoring NoFill error)" ,
885
+ {firebase::gma::kAdErrorCodeNone , firebase::gma::kAdErrorCodeNoFill });
886
+ }
887
+ if (load_ad_future.error () == firebase::gma::kAdErrorCodeNone ) {
888
+ const firebase::gma::AdResult* result_ptr = load_ad_future.result ();
889
+ ASSERT_NE (result_ptr, nullptr );
890
+ EXPECT_TRUE (result_ptr->is_successful ());
891
+ EXPECT_FALSE (result_ptr->response_info ().adapter_responses ().empty ());
892
+ EXPECT_FALSE (
893
+ result_ptr->response_info ().mediation_adapter_class_name ().empty ());
894
+ EXPECT_FALSE (result_ptr->response_info ().response_id ().empty ());
895
+ EXPECT_FALSE (result_ptr->response_info ().ToString ().empty ());
896
+ }
885
897
886
898
load_ad_future.Release ();
887
899
delete interstitial;
@@ -907,10 +919,9 @@ TEST_F(FirebaseGmaTest, TestRewardedAdLoad) {
907
919
WaitForCompletion (load_ad_future, " LoadAd" );
908
920
} else {
909
921
// Run in automated test mode: don't fail if NoFill occurred.
910
- WaitForCompletionAnyResult (load_ad_future,
911
- " LoadAd (ignoring NoFill error)" );
912
- EXPECT_TRUE (load_ad_future.error () == firebase::gma::kAdErrorCodeNone ||
913
- load_ad_future.error () == firebase::gma::kAdErrorCodeNoFill );
922
+ WaitForCompletion (
923
+ load_ad_future, " LoadAd (ignoring NoFill error)" ,
924
+ {firebase::gma::kAdErrorCodeNone , firebase::gma::kAdErrorCodeNoFill });
914
925
}
915
926
if (load_ad_future.error () == firebase::gma::kAdErrorCodeNone ) {
916
927
// In UI mode, or in non-UI mode if a NoFill error didn't occur, check that
@@ -942,9 +953,9 @@ TEST_F(FirebaseGmaTest, TestNativeAdLoad) {
942
953
native_ad->LoadAd (kNativeAdUnit , GetAdRequest ());
943
954
944
955
// Don't fail loadAd, if NoFill occurred.
945
- WaitForCompletionAnyResult (load_ad_future, " LoadAd (ignoring NoFill error) " );
946
- EXPECT_TRUE ( load_ad_future. error () == firebase::gma:: kAdErrorCodeNone ||
947
- load_ad_future. error () == firebase::gma::kAdErrorCodeNoFill );
956
+ WaitForCompletion (
957
+ load_ad_future, " LoadAd (ignoring NoFill error) " ,
958
+ {firebase::gma:: kAdErrorCodeNone , firebase::gma::kAdErrorCodeNoFill } );
948
959
949
960
if (load_ad_future.error () == firebase::gma::kAdErrorCodeNone ) {
950
961
const firebase::gma::AdResult* result_ptr = load_ad_future.result ();
@@ -1759,16 +1770,27 @@ TEST_F(FirebaseGmaTest, TestInterstitialAdLoadEmptyRequest) {
1759
1770
firebase::Future<firebase::gma::AdResult> load_ad_future =
1760
1771
interstitial->LoadAd (kInterstitialAdUnit , request);
1761
1772
1762
- WaitForCompletion (load_ad_future, " LoadAd" );
1763
- const firebase::gma::AdResult* result_ptr = load_ad_future.result ();
1764
- ASSERT_NE (result_ptr, nullptr );
1765
- EXPECT_TRUE (result_ptr->is_successful ());
1766
- EXPECT_FALSE (result_ptr->response_info ().adapter_responses ().empty ());
1767
- EXPECT_FALSE (
1768
- result_ptr->response_info ().mediation_adapter_class_name ().empty ());
1769
- EXPECT_FALSE (result_ptr->response_info ().response_id ().empty ());
1770
- EXPECT_FALSE (result_ptr->response_info ().ToString ().empty ());
1771
-
1773
+ // This test behaves differently if it's running in UI mode
1774
+ // (manually on a device) or in non-UI mode (via automated tests).
1775
+ if (ShouldRunUITests ()) {
1776
+ // Run in manual mode: fail if any error occurs.
1777
+ WaitForCompletion (load_ad_future, " LoadAd" );
1778
+ } else {
1779
+ // Run in automated test mode: don't fail if NoFill occurred.
1780
+ WaitForCompletion (
1781
+ load_ad_future, " LoadAd (ignoring NoFill error)" ,
1782
+ {firebase::gma::kAdErrorCodeNone , firebase::gma::kAdErrorCodeNoFill });
1783
+ }
1784
+ if (load_ad_future.error () == firebase::gma::kAdErrorCodeNone ) {
1785
+ const firebase::gma::AdResult* result_ptr = load_ad_future.result ();
1786
+ ASSERT_NE (result_ptr, nullptr );
1787
+ EXPECT_TRUE (result_ptr->is_successful ());
1788
+ EXPECT_FALSE (result_ptr->response_info ().adapter_responses ().empty ());
1789
+ EXPECT_FALSE (
1790
+ result_ptr->response_info ().mediation_adapter_class_name ().empty ());
1791
+ EXPECT_FALSE (result_ptr->response_info ().response_id ().empty ());
1792
+ EXPECT_FALSE (result_ptr->response_info ().ToString ().empty ());
1793
+ }
1772
1794
load_ad_future.Release ();
1773
1795
delete interstitial;
1774
1796
}
@@ -1943,10 +1965,9 @@ TEST_F(FirebaseGmaTest, TestRewardedAdLoadEmptyRequest) {
1943
1965
WaitForCompletion (load_ad_future, " LoadAd" );
1944
1966
} else {
1945
1967
// Run in automated test mode: don't fail if NoFill occurred.
1946
- WaitForCompletionAnyResult (load_ad_future,
1947
- " LoadAd (ignoring NoFill error)" );
1948
- EXPECT_TRUE (load_ad_future.error () == firebase::gma::kAdErrorCodeNone ||
1949
- load_ad_future.error () == firebase::gma::kAdErrorCodeNoFill );
1968
+ WaitForCompletion (
1969
+ load_ad_future, " LoadAd (ignoring NoFill error)" ,
1970
+ {firebase::gma::kAdErrorCodeNone , firebase::gma::kAdErrorCodeNoFill });
1950
1971
}
1951
1972
if (load_ad_future.error () == firebase::gma::kAdErrorCodeNone ) {
1952
1973
// In UI mode, or in non-UI mode if a NoFill error didn't occur, check that
@@ -2120,10 +2141,9 @@ TEST_F(FirebaseGmaTest, TestNativeAdLoadEmptyRequest) {
2120
2141
native_ad->LoadAd (kNativeAdUnit , request);
2121
2142
2122
2143
// Don't fail loadAd, if NoFill occurred.
2123
- WaitForCompletionAnyResult (load_ad_future, " LoadAd (ignoring NoFill error)" );
2124
- EXPECT_TRUE (load_ad_future.error () == firebase::gma::kAdErrorCodeNone ||
2125
- load_ad_future.error () == firebase::gma::kAdErrorCodeNoFill );
2126
-
2144
+ WaitForCompletion (
2145
+ load_ad_future, " LoadAd (ignoring NoFill error)" ,
2146
+ {firebase::gma::kAdErrorCodeNone , firebase::gma::kAdErrorCodeNoFill });
2127
2147
if (load_ad_future.error () == firebase::gma::kAdErrorCodeNone ) {
2128
2148
const firebase::gma::AdResult* result_ptr = load_ad_future.result ();
2129
2149
ASSERT_NE (result_ptr, nullptr );
@@ -2155,9 +2175,9 @@ TEST_F(FirebaseGmaTest, TestNativeRecordImpression) {
2155
2175
native_ad->LoadAd (kNativeAdUnit , GetAdRequest ());
2156
2176
2157
2177
// Don't fail loadAd, if NoFill occurred.
2158
- WaitForCompletionAnyResult (load_ad_future, " LoadAd (ignoring NoFill error) " );
2159
- EXPECT_TRUE ( load_ad_future. error () == firebase::gma:: kAdErrorCodeNone ||
2160
- load_ad_future. error () == firebase::gma::kAdErrorCodeNoFill );
2178
+ WaitForCompletion (
2179
+ load_ad_future, " LoadAd (ignoring NoFill error) " ,
2180
+ {firebase::gma:: kAdErrorCodeNone , firebase::gma::kAdErrorCodeNoFill } );
2161
2181
2162
2182
// Proceed verifying the RecordImpression, only when loadAd is successful.
2163
2183
if (load_ad_future.error () == firebase::gma::kAdErrorCodeNone ) {
@@ -2206,9 +2226,9 @@ TEST_F(FirebaseGmaTest, TestNativePerformClick) {
2206
2226
native_ad->LoadAd (kNativeAdUnit , GetAdRequest ());
2207
2227
2208
2228
// Don't fail loadAd, if NoFill occurred.
2209
- WaitForCompletionAnyResult (load_ad_future, " LoadAd (ignoring NoFill error) " );
2210
- EXPECT_TRUE ( load_ad_future. error () == firebase::gma:: kAdErrorCodeNone ||
2211
- load_ad_future. error () == firebase::gma::kAdErrorCodeNoFill );
2229
+ WaitForCompletion (
2230
+ load_ad_future, " LoadAd (ignoring NoFill error) " ,
2231
+ {firebase::gma:: kAdErrorCodeNone , firebase::gma::kAdErrorCodeNoFill } );
2212
2232
2213
2233
// Proceed verifying the PerformClick, only when loadAd is successful.
2214
2234
if (load_ad_future.error () == firebase::gma::kAdErrorCodeNone ) {
@@ -2353,11 +2373,11 @@ TEST_F(FirebaseGmaTest, TestAdViewStress) {
2353
2373
// Load the AdView ad.
2354
2374
firebase::gma::AdRequest request = GetAdRequest ();
2355
2375
firebase::Future<firebase::gma::AdResult> future = ad_view->LoadAd (request);
2356
- WaitForCompletionAnyResult (future, " TestAdViewStress LoadAd" );
2376
+ WaitForCompletion (
2377
+ future, " TestAdViewStress LoadAd" ,
2378
+ {firebase::gma::kAdErrorCodeNone , firebase::gma::kAdErrorCodeNoFill });
2357
2379
// Stress tests may exhaust the ad pool. If so, loadAd will return
2358
2380
// kAdErrorCodeNoFill.
2359
- EXPECT_TRUE (future.error () == firebase::gma::kAdErrorCodeNone ||
2360
- future.error () == firebase::gma::kAdErrorCodeNoFill );
2361
2381
if (future.error () == firebase::gma::kAdErrorCodeNone ) {
2362
2382
EXPECT_EQ (ad_view->ad_size ().width (), kBannerWidth );
2363
2383
EXPECT_EQ (ad_view->ad_size ().height (), kBannerHeight );
@@ -2387,11 +2407,11 @@ TEST_F(FirebaseGmaTest, TestInterstitialAdStress) {
2387
2407
firebase::gma::AdRequest request = GetAdRequest ();
2388
2408
firebase::Future<firebase::gma::AdResult> future =
2389
2409
interstitial->LoadAd (kInterstitialAdUnit , request);
2390
- WaitForCompletionAnyResult (future, " TestInterstitialAdStress LoadAd" );
2410
+ WaitForCompletion (
2411
+ future, " TestInterstitialAdStress LoadAd" ,
2412
+ {firebase::gma::kAdErrorCodeNone , firebase::gma::kAdErrorCodeNoFill });
2391
2413
// Stress tests may exhaust the ad pool. If so, loadAd will return
2392
2414
// kAdErrorCodeNoFill.
2393
- EXPECT_TRUE (future.error () == firebase::gma::kAdErrorCodeNone ||
2394
- future.error () == firebase::gma::kAdErrorCodeNoFill );
2395
2415
delete interstitial;
2396
2416
}
2397
2417
}
@@ -2414,11 +2434,11 @@ TEST_F(FirebaseGmaTest, TestRewardedAdStress) {
2414
2434
firebase::gma::AdRequest request = GetAdRequest ();
2415
2435
firebase::Future<firebase::gma::AdResult> future =
2416
2436
rewarded->LoadAd (kRewardedAdUnit , request);
2417
- WaitForCompletionAnyResult (future, " TestRewardedAdStress LoadAd" );
2437
+ WaitForCompletion (
2438
+ future, " TestRewardedAdStress LoadAd" ,
2439
+ {firebase::gma::kAdErrorCodeNone , firebase::gma::kAdErrorCodeNoFill });
2418
2440
// Stress tests may exhaust the ad pool. If so, loadAd will return
2419
2441
// kAdErrorCodeNoFill.
2420
- EXPECT_TRUE (future.error () == firebase::gma::kAdErrorCodeNone ||
2421
- future.error () == firebase::gma::kAdErrorCodeNoFill );
2422
2442
delete rewarded;
2423
2443
}
2424
2444
}
@@ -2663,17 +2683,14 @@ TEST_F(FirebaseGmaUmpTest, TestUmpLoadForm) {
2663
2683
firebase::gma::ump::kConsentFormStatusAvailable );
2664
2684
2665
2685
// Load the form. Run this step with retry in case of network timeout.
2666
- WaitForCompletionAnyResult (
2686
+ WaitForCompletion (
2667
2687
RunWithRetry ([&]() { return consent_info_->LoadConsentForm (); }),
2668
- " LoadConsentForm" );
2688
+ " LoadConsentForm" ,
2689
+ {firebase::gma::ump::kConsentFormSuccess ,
2690
+ firebase::gma::ump::kConsentFormErrorTimeout });
2669
2691
2670
2692
firebase::Future<void > future = consent_info_->LoadConsentFormLastResult ();
2671
2693
2672
- // If it still timed out after all the retries, let the test pass.
2673
- EXPECT_THAT (future.error (),
2674
- AnyOf (firebase::gma::ump::kConsentFormSuccess ,
2675
- firebase::gma::ump::kConsentFormErrorTimeout ));
2676
-
2677
2694
EXPECT_EQ (consent_info_->GetConsentFormStatus (),
2678
2695
firebase::gma::ump::kConsentFormStatusAvailable );
2679
2696
@@ -2741,12 +2758,10 @@ TEST_F(FirebaseGmaUmpTest, TestUmpLoadFormUnderAgeOfConsent) {
2741
2758
" RequestConsentInfoUpdate" );
2742
2759
2743
2760
firebase::Future<void > load_future = consent_info_->LoadConsentForm ();
2744
- WaitForCompletionAnyResult (load_future, " LoadConsentForm" );
2745
-
2746
- EXPECT_THAT (load_future.error (),
2747
- AnyOf (Eq (firebase::gma::ump::kConsentFormErrorUnavailable ),
2748
- Eq (firebase::gma::ump::kConsentFormErrorTimeout ),
2749
- Eq (firebase::gma::ump::kConsentFormSuccess )));
2761
+ WaitForCompletion (load_future, " LoadConsentForm" ,
2762
+ {firebase::gma::ump::kConsentFormErrorUnavailable ,
2763
+ firebase::gma::ump::kConsentFormErrorTimeout ,
2764
+ firebase::gma::ump::kConsentFormSuccess });
2750
2765
}
2751
2766
2752
2767
TEST_F (FirebaseGmaUmpTest, TestUmpLoadFormUnavailableDebugNonEEA) {
0 commit comments