@@ -1578,8 +1578,8 @@ TEST_F(SenderTest, checkMessageTimeouts_empty)
15781578
15791579TEST_F (SenderTest, checkPingTimeouts_basic)
15801580{
1581- Sender::Message* message[4 ];
1582- for (uint64_t i = 0 ; i < 4 ; ++i) {
1581+ Sender::Message* message[5 ];
1582+ for (uint64_t i = 0 ; i < 5 ; ++i) {
15831583 Protocol::MessageId id = {42 , 10 + i};
15841584 message[i] = dynamic_cast <Sender::Message*>(sender->allocMessage ());
15851585 SenderTest::addMessage (sender, id, message[i]);
@@ -1589,15 +1589,19 @@ TEST_F(SenderTest, checkPingTimeouts_basic)
15891589
15901590 // Message[0]: Normal timeout: COMPLETED
15911591 message[0 ]->state = Homa::OutMessage::Status::COMPLETED;
1592- message[0 ]->pingTimeout .expirationCycleTime = 9998 ;
1592+ message[0 ]->pingTimeout .expirationCycleTime = 9997 ;
15931593 // Message[1]: Normal timeout: FAILED
15941594 message[1 ]->state = Homa::OutMessage::Status::FAILED;
1595- message[1 ]->pingTimeout .expirationCycleTime = 9999 ;
1596- // Message[2]: Normal timeout: SENT
1595+ message[1 ]->pingTimeout .expirationCycleTime = 9998 ;
1596+ // Message[2]: Normal timeout: NO_KEEP_ALIVE && SENT
1597+ message[2 ]->options = Homa::OutMessage::Options::NO_KEEP_ALIVE;
15971598 message[2 ]->state = Homa::OutMessage::Status::SENT;
1598- message[2 ]->pingTimeout .expirationCycleTime = 10000 ;
1599- // Message[3]: No timeout
1600- message[3 ]->pingTimeout .expirationCycleTime = 10001 ;
1599+ message[2 ]->pingTimeout .expirationCycleTime = 9999 ;
1600+ // Message[3]: Normal timeout: SENT
1601+ message[3 ]->state = Homa::OutMessage::Status::SENT;
1602+ message[3 ]->pingTimeout .expirationCycleTime = 10000 ;
1603+ // Message[4]: No timeout
1604+ message[4 ]->pingTimeout .expirationCycleTime = 10001 ;
16011605
16021606 EXPECT_EQ (10000U , PerfUtils::Cycles::rdtsc ());
16031607
@@ -1608,19 +1612,21 @@ TEST_F(SenderTest, checkPingTimeouts_basic)
16081612
16091613 uint64_t nextTimeout = sender->checkPingTimeouts ();
16101614
1611- EXPECT_EQ (message[3 ]->pingTimeout .expirationCycleTime , nextTimeout);
1615+ EXPECT_EQ (message[4 ]->pingTimeout .expirationCycleTime , nextTimeout);
16121616 // Message[0]: Normal timeout: COMPLETED
16131617 EXPECT_EQ (nullptr , message[0 ]->pingTimeout .node .list );
16141618 // Message[1]: Normal timeout: FAILED
16151619 EXPECT_EQ (nullptr , message[1 ]->pingTimeout .node .list );
1616- // Message[2]: Normal timeout: SENT
1617- EXPECT_EQ (10100 , message[2 ]->pingTimeout .expirationCycleTime );
1620+ // Message[2]: Normal timeout: NO_KEEP_ALIVE && SENT
1621+ EXPECT_EQ (nullptr , message[2 ]->pingTimeout .node .list );
1622+ // Message[3]: Normal timeout: SENT
1623+ EXPECT_EQ (10100 , message[3 ]->pingTimeout .expirationCycleTime );
16181624 Protocol::Packet::CommonHeader* header =
16191625 static_cast <Protocol::Packet::CommonHeader*>(mockPacket.payload );
16201626 EXPECT_EQ (Protocol::Packet::PING, header->opcode );
1621- EXPECT_EQ (message[2 ]->id , header->messageId );
1622- // Message[3 ]: No timeout
1623- EXPECT_EQ (10001 , message[3 ]->pingTimeout .expirationCycleTime );
1627+ EXPECT_EQ (message[3 ]->id , header->messageId );
1628+ // Message[4 ]: No timeout
1629+ EXPECT_EQ (10001 , message[4 ]->pingTimeout .expirationCycleTime );
16241630}
16251631
16261632TEST_F (SenderTest, checkPingTimeouts_empty)
0 commit comments