Skip to content

Commit ffe2fb7

Browse files
authored
Add retry to RTDB .info/connected test on iOS. (#597)
The iOS SDK's .info/connected implementation sometimes fails, so add some flaky retry logic (but only when running on iOS).
1 parent 8f66f63 commit ffe2fb7

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

database/integration_test/src/integration_test.cc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1266,9 +1266,17 @@ TEST_F(FirebaseDatabaseTest, TestInvalidatingReferencesWhenDeletingApp) {
12661266

12671267
TEST_F(FirebaseDatabaseTest, TestInfoConnected) {
12681268
SignIn();
1269+
1270+
// The entire test can be a bit flaky on iOS, as the iOS SDK's
1271+
// .info/connected is not quite perfect.
1272+
#if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
1273+
FLAKY_TEST_SECTION_BEGIN();
1274+
#endif // defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
1275+
12691276
firebase::database::DatabaseReference ref = CreateWorkingPath();
12701277
// Force getting a value so that we are connected to the database.
12711278
WaitForCompletion(ref.GetValue(), "GetValue 1 [ignored]");
1279+
12721280
firebase::database::DatabaseReference info =
12731281
database_->GetReference(".info").Child("connected");
12741282
{
@@ -1299,6 +1307,10 @@ TEST_F(FirebaseDatabaseTest, TestInfoConnected) {
12991307
WaitForCompletion(reconnected, "GetValue 5");
13001308
EXPECT_EQ(reconnected.result()->value(), true);
13011309
}
1310+
1311+
#if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
1312+
FLAKY_TEST_SECTION_END();
1313+
#endif // defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
13021314
}
13031315

13041316
TEST_F(FirebaseDatabaseTest, TestGetReferenceWillNullArgument) {

0 commit comments

Comments
 (0)