@@ -2136,6 +2136,29 @@ void InvokeResponseMessageEndOfMessageReservationTest(nlTestSuite * apSuite, voi
2136
2136
NL_TEST_ASSERT (apSuite, remainingLengthAfterInitWithReservation == remainingLengthAfterEndingInvokeResponseMessage);
2137
2137
}
2138
2138
2139
+ void InvokeResponseMessageReservationForEndandMoreChunkTest (nlTestSuite * apSuite, void * apContext)
2140
+ {
2141
+ CHIP_ERROR err = CHIP_NO_ERROR;
2142
+ chip::System::PacketBufferTLVWriter writer;
2143
+ InvokeResponseMessage::Builder invokeResponseMessageBuilder;
2144
+ const uint32_t kSmallBufferSize = 100 ;
2145
+ writer.Init (chip::System::PacketBufferHandle::New (kSmallBufferSize , /* aReservedSize = */ 0 ), /* useChainedBuffers = */ false );
2146
+ err = invokeResponseMessageBuilder.InitWithEndBufferReserved (&writer);
2147
+ NL_TEST_ASSERT (apSuite, err == CHIP_NO_ERROR);
2148
+ err = invokeResponseMessageBuilder.ReserveSpaceForMoreChunkedMessages ();
2149
+ NL_TEST_ASSERT (apSuite, err == CHIP_NO_ERROR);
2150
+
2151
+ uint32_t remainingLengthAllReservations = writer.GetRemainingFreeLength ();
2152
+
2153
+ invokeResponseMessageBuilder.MoreChunkedMessages (/* aMoreChunkedMessages = */ true );
2154
+ NL_TEST_ASSERT (apSuite, invokeResponseMessageBuilder.GetError () == CHIP_NO_ERROR);
2155
+ err = invokeResponseMessageBuilder.EndOfInvokeResponseMessage ();
2156
+ NL_TEST_ASSERT (apSuite, err == CHIP_NO_ERROR);
2157
+
2158
+ uint32_t remainingLengthAfterEndingInvokeResponseMessage = writer.GetRemainingFreeLength ();
2159
+ NL_TEST_ASSERT (apSuite, remainingLengthAllReservations == remainingLengthAfterEndingInvokeResponseMessage);
2160
+ }
2161
+
2139
2162
void InvokeResponsesEndOfResponseReservationTest (nlTestSuite * apSuite, void * apContext)
2140
2163
{
2141
2164
CHIP_ERROR err = CHIP_NO_ERROR;
@@ -2373,6 +2396,7 @@ const nlTest sTests[] =
2373
2396
NL_TEST_DEF (" InvokeRequestsEndOfRequestReservationTest" , InvokeRequestsEndOfRequestReservationTest),
2374
2397
NL_TEST_DEF (" InvokeInvokeResponseMessageTest" , InvokeInvokeResponseMessageTest),
2375
2398
NL_TEST_DEF (" InvokeResponseMessageEndOfMessageReservationTest" , InvokeResponseMessageEndOfMessageReservationTest),
2399
+ NL_TEST_DEF (" InvokeResponseMessageReservationForEndandMoreChunkTest" , InvokeResponseMessageReservationForEndandMoreChunkTest),
2376
2400
NL_TEST_DEF (" InvokeResponsesEndOfResponseReservationTest" , InvokeResponsesEndOfResponseReservationTest),
2377
2401
NL_TEST_DEF (" ReportDataMessageTest" , ReportDataMessageTest),
2378
2402
NL_TEST_DEF (" ReadRequestMessageTest" , ReadRequestMessageTest),
0 commit comments