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