libweave: Relax message loop constrains in XmppChannelTest
Maintaining number of posted messages probably useless.
BUG=brillo:1257
TEST=`FEATURES=test emerge-gizmo libweave`
Change-Id: I11c690531f24d6a385d2fe2a10893ee099cbea10
Reviewed-on: https://chromium-review.googlesource.com/293006
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/libweave/src/notification/xmpp_channel_unittest.cc b/libweave/src/notification/xmpp_channel_unittest.cc
index 22a0b36..d20de8f 100644
--- a/libweave/src/notification/xmpp_channel_unittest.cc
+++ b/libweave/src/notification/xmpp_channel_unittest.cc
@@ -116,7 +116,7 @@
xmpp_client_->fake_stream_.AddReadPacketString({}, kStartStreamResponse);
xmpp_client_->fake_stream_.ExpectWritePacketString({}, kStartTlsMessage);
xmpp_client_->Start(nullptr);
- RunTasks(4);
+ RunUntil(XmppChannel::XmppState::kTlsStarted);
}
void StartWithState(XmppChannel::XmppState state) {
@@ -124,15 +124,11 @@
xmpp_client_->set_state(state);
}
- void RunTasks(size_t count) {
- while (count > 0) {
- EXPECT_TRUE(fake_loop_.RunOnce(true /* may_block */));
- count--;
+ void RunUntil(XmppChannel::XmppState st) {
+ for (size_t n = 15; n && xmpp_client_->state() != st; --n) {
+ fake_loop_.RunOnce(true);
}
- }
-
- void RunLoopUntilIdle() {
- while (fake_loop_.RunOnce(false /* may_block */)) {}
+ EXPECT_EQ(st, xmpp_client_->state());
}
std::unique_ptr<FakeXmppChannel> xmpp_client_;
@@ -144,13 +140,11 @@
EXPECT_EQ(XmppChannel::XmppState::kNotStarted, xmpp_client_->state());
xmpp_client_->fake_stream_.ExpectWritePacketString({}, kStartStreamMessage);
xmpp_client_->Start(nullptr);
- RunTasks(1);
- EXPECT_EQ(XmppChannel::XmppState::kConnected, xmpp_client_->state());
+ RunUntil(XmppChannel::XmppState::kConnected);
}
TEST_F(XmppChannelTest, HandleStartedResponse) {
StartStream();
- EXPECT_EQ(XmppChannel::XmppState::kTlsStarted, xmpp_client_->state());
}
TEST_F(XmppChannelTest, HandleTLSCompleted) {
@@ -158,9 +152,7 @@
xmpp_client_->fake_stream_.AddReadPacketString({}, kTlsStreamResponse);
xmpp_client_->fake_stream_.ExpectWritePacketString({},
kAuthenticationMessage);
- RunTasks(4);
- EXPECT_EQ(XmppChannel::XmppState::kAuthenticationStarted,
- xmpp_client_->state());
+ RunUntil(XmppChannel::XmppState::kAuthenticationStarted);
}
TEST_F(XmppChannelTest, HandleAuthenticationSucceededResponse) {
@@ -168,32 +160,26 @@
xmpp_client_->fake_stream_.AddReadPacketString(
{}, kAuthenticationSucceededResponse);
xmpp_client_->fake_stream_.ExpectWritePacketString({}, kStartStreamMessage);
- RunTasks(4);
- EXPECT_EQ(XmppChannel::XmppState::kStreamRestartedPostAuthentication,
- xmpp_client_->state());
+ RunUntil(XmppChannel::XmppState::kStreamRestartedPostAuthentication);
}
TEST_F(XmppChannelTest, HandleAuthenticationFailedResponse) {
StartWithState(XmppChannel::XmppState::kAuthenticationStarted);
xmpp_client_->fake_stream_.AddReadPacketString({},
kAuthenticationFailedResponse);
- RunTasks(3);
- EXPECT_EQ(XmppChannel::XmppState::kAuthenticationFailed,
- xmpp_client_->state());
+ RunUntil(XmppChannel::XmppState::kAuthenticationFailed);
}
TEST_F(XmppChannelTest, HandleStreamRestartedResponse) {
StartWithState(XmppChannel::XmppState::kStreamRestartedPostAuthentication);
xmpp_client_->fake_stream_.AddReadPacketString({}, kRestartStreamResponse);
xmpp_client_->fake_stream_.ExpectWritePacketString({}, kBindMessage);
- RunTasks(3);
- EXPECT_EQ(XmppChannel::XmppState::kBindSent, xmpp_client_->state());
+ RunUntil(XmppChannel::XmppState::kBindSent);
EXPECT_TRUE(xmpp_client_->jid().empty());
xmpp_client_->fake_stream_.AddReadPacketString({}, kBindResponse);
xmpp_client_->fake_stream_.ExpectWritePacketString({}, kSessionMessage);
- RunTasks(9);
- EXPECT_EQ(XmppChannel::XmppState::kSessionStarted, xmpp_client_->state());
+ RunUntil(XmppChannel::XmppState::kSessionStarted);
EXPECT_EQ(
"110cc78f78d7032cc7bf2c6e14c1fa7d@clouddevices.gserviceaccount.com"
"/19853128",
@@ -201,12 +187,10 @@
xmpp_client_->fake_stream_.AddReadPacketString({}, kSessionResponse);
xmpp_client_->fake_stream_.ExpectWritePacketString({}, kSubscribeMessage);
- RunTasks(4);
- EXPECT_EQ(XmppChannel::XmppState::kSubscribeStarted, xmpp_client_->state());
+ RunUntil(XmppChannel::XmppState::kSubscribeStarted);
xmpp_client_->fake_stream_.AddReadPacketString({}, kSubscribedResponse);
- RunTasks(5);
- EXPECT_EQ(XmppChannel::XmppState::kSubscribed, xmpp_client_->state());
+ RunUntil(XmppChannel::XmppState::kSubscribed);
}
} // namespace weave