mirror of
https://github.com/espressif/openthread.git
synced 2026-08-28 04:49:54 +00:00
[style] convert to C++11 for loops (#5263)
This commit is contained in:
@@ -78,7 +78,7 @@ void VerifyMessageQueueContent(ot::MessageQueue &aMessageQueue, int aExpectedLen
|
||||
void TestMessageQueue(void)
|
||||
{
|
||||
ot::MessageQueue messageQueue;
|
||||
ot::Message * msg[kNumTestMessages];
|
||||
ot::Message * messages[kNumTestMessages];
|
||||
uint16_t msgCount, bufferCount;
|
||||
|
||||
sInstance = testInitInstance();
|
||||
@@ -86,92 +86,92 @@ void TestMessageQueue(void)
|
||||
|
||||
sMessagePool = &sInstance->Get<ot::MessagePool>();
|
||||
|
||||
for (int i = 0; i < kNumTestMessages; i++)
|
||||
for (ot::Message *&msg : messages)
|
||||
{
|
||||
msg[i] = sMessagePool->New(ot::Message::kTypeIp6, 0);
|
||||
VerifyOrQuit(msg[i] != nullptr, "Message::New failed");
|
||||
msg = sMessagePool->New(ot::Message::kTypeIp6, 0);
|
||||
VerifyOrQuit(msg != nullptr, "Message::New failed");
|
||||
}
|
||||
|
||||
VerifyMessageQueueContent(messageQueue, 0);
|
||||
|
||||
// Enqueue 1 message and remove it
|
||||
messageQueue.Enqueue(*msg[0]);
|
||||
VerifyMessageQueueContent(messageQueue, 1, msg[0]);
|
||||
messageQueue.Dequeue(*msg[0]);
|
||||
messageQueue.Enqueue(*messages[0]);
|
||||
VerifyMessageQueueContent(messageQueue, 1, messages[0]);
|
||||
messageQueue.Dequeue(*messages[0]);
|
||||
VerifyMessageQueueContent(messageQueue, 0);
|
||||
|
||||
// Enqueue 1 message at head and remove it
|
||||
messageQueue.Enqueue(*msg[0], ot::MessageQueue::kQueuePositionHead);
|
||||
VerifyMessageQueueContent(messageQueue, 1, msg[0]);
|
||||
messageQueue.Dequeue(*msg[0]);
|
||||
messageQueue.Enqueue(*messages[0], ot::MessageQueue::kQueuePositionHead);
|
||||
VerifyMessageQueueContent(messageQueue, 1, messages[0]);
|
||||
messageQueue.Dequeue(*messages[0]);
|
||||
VerifyMessageQueueContent(messageQueue, 0);
|
||||
|
||||
// Enqueue 5 messages
|
||||
messageQueue.Enqueue(*msg[0]);
|
||||
VerifyMessageQueueContent(messageQueue, 1, msg[0]);
|
||||
messageQueue.Enqueue(*msg[1]);
|
||||
VerifyMessageQueueContent(messageQueue, 2, msg[0], msg[1]);
|
||||
messageQueue.Enqueue(*msg[2]);
|
||||
VerifyMessageQueueContent(messageQueue, 3, msg[0], msg[1], msg[2]);
|
||||
messageQueue.Enqueue(*msg[3]);
|
||||
VerifyMessageQueueContent(messageQueue, 4, msg[0], msg[1], msg[2], msg[3]);
|
||||
messageQueue.Enqueue(*msg[4]);
|
||||
VerifyMessageQueueContent(messageQueue, 5, msg[0], msg[1], msg[2], msg[3], msg[4]);
|
||||
messageQueue.Enqueue(*messages[0]);
|
||||
VerifyMessageQueueContent(messageQueue, 1, messages[0]);
|
||||
messageQueue.Enqueue(*messages[1]);
|
||||
VerifyMessageQueueContent(messageQueue, 2, messages[0], messages[1]);
|
||||
messageQueue.Enqueue(*messages[2]);
|
||||
VerifyMessageQueueContent(messageQueue, 3, messages[0], messages[1], messages[2]);
|
||||
messageQueue.Enqueue(*messages[3]);
|
||||
VerifyMessageQueueContent(messageQueue, 4, messages[0], messages[1], messages[2], messages[3]);
|
||||
messageQueue.Enqueue(*messages[4]);
|
||||
VerifyMessageQueueContent(messageQueue, 5, messages[0], messages[1], messages[2], messages[3], messages[4]);
|
||||
|
||||
// Check the GetInfo()
|
||||
messageQueue.GetInfo(msgCount, bufferCount);
|
||||
VerifyOrQuit(msgCount == 5, "MessageQueue::GetInfo() failed.");
|
||||
|
||||
// Remove from head
|
||||
messageQueue.Dequeue(*msg[0]);
|
||||
VerifyMessageQueueContent(messageQueue, 4, msg[1], msg[2], msg[3], msg[4]);
|
||||
messageQueue.Dequeue(*messages[0]);
|
||||
VerifyMessageQueueContent(messageQueue, 4, messages[1], messages[2], messages[3], messages[4]);
|
||||
|
||||
// Remove a message in middle
|
||||
messageQueue.Dequeue(*msg[3]);
|
||||
VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[2], msg[4]);
|
||||
messageQueue.Dequeue(*messages[3]);
|
||||
VerifyMessageQueueContent(messageQueue, 3, messages[1], messages[2], messages[4]);
|
||||
|
||||
// Remove from tail
|
||||
messageQueue.Dequeue(*msg[4]);
|
||||
VerifyMessageQueueContent(messageQueue, 2, msg[1], msg[2]);
|
||||
messageQueue.Dequeue(*messages[4]);
|
||||
VerifyMessageQueueContent(messageQueue, 2, messages[1], messages[2]);
|
||||
|
||||
// Add after remove
|
||||
messageQueue.Enqueue(*msg[0]);
|
||||
VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[2], msg[0]);
|
||||
messageQueue.Enqueue(*msg[3]);
|
||||
VerifyMessageQueueContent(messageQueue, 4, msg[1], msg[2], msg[0], msg[3]);
|
||||
messageQueue.Enqueue(*messages[0]);
|
||||
VerifyMessageQueueContent(messageQueue, 3, messages[1], messages[2], messages[0]);
|
||||
messageQueue.Enqueue(*messages[3]);
|
||||
VerifyMessageQueueContent(messageQueue, 4, messages[1], messages[2], messages[0], messages[3]);
|
||||
|
||||
// Remove from middle
|
||||
messageQueue.Dequeue(*msg[2]);
|
||||
VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[0], msg[3]);
|
||||
messageQueue.Dequeue(*messages[2]);
|
||||
VerifyMessageQueueContent(messageQueue, 3, messages[1], messages[0], messages[3]);
|
||||
|
||||
// Add to head
|
||||
messageQueue.Enqueue(*msg[2], ot::MessageQueue::kQueuePositionHead);
|
||||
VerifyMessageQueueContent(messageQueue, 4, msg[2], msg[1], msg[0], msg[3]);
|
||||
messageQueue.Enqueue(*messages[2], ot::MessageQueue::kQueuePositionHead);
|
||||
VerifyMessageQueueContent(messageQueue, 4, messages[2], messages[1], messages[0], messages[3]);
|
||||
|
||||
// Remove from head
|
||||
messageQueue.Dequeue(*msg[2]);
|
||||
VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[0], msg[3]);
|
||||
messageQueue.Dequeue(*messages[2]);
|
||||
VerifyMessageQueueContent(messageQueue, 3, messages[1], messages[0], messages[3]);
|
||||
|
||||
// Remove from head
|
||||
messageQueue.Dequeue(*msg[1]);
|
||||
VerifyMessageQueueContent(messageQueue, 2, msg[0], msg[3]);
|
||||
messageQueue.Dequeue(*messages[1]);
|
||||
VerifyMessageQueueContent(messageQueue, 2, messages[0], messages[3]);
|
||||
|
||||
// Add to head
|
||||
messageQueue.Enqueue(*msg[1], ot::MessageQueue::kQueuePositionHead);
|
||||
VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[0], msg[3]);
|
||||
messageQueue.Enqueue(*messages[1], ot::MessageQueue::kQueuePositionHead);
|
||||
VerifyMessageQueueContent(messageQueue, 3, messages[1], messages[0], messages[3]);
|
||||
|
||||
// Add to tail
|
||||
messageQueue.Enqueue(*msg[2], ot::MessageQueue::kQueuePositionTail);
|
||||
VerifyMessageQueueContent(messageQueue, 4, msg[1], msg[0], msg[3], msg[2]);
|
||||
messageQueue.Enqueue(*messages[2], ot::MessageQueue::kQueuePositionTail);
|
||||
VerifyMessageQueueContent(messageQueue, 4, messages[1], messages[0], messages[3], messages[2]);
|
||||
|
||||
// Remove all messages.
|
||||
messageQueue.Dequeue(*msg[3]);
|
||||
VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[0], msg[2]);
|
||||
messageQueue.Dequeue(*msg[1]);
|
||||
VerifyMessageQueueContent(messageQueue, 2, msg[0], msg[2]);
|
||||
messageQueue.Dequeue(*msg[2]);
|
||||
VerifyMessageQueueContent(messageQueue, 1, msg[0]);
|
||||
messageQueue.Dequeue(*msg[0]);
|
||||
messageQueue.Dequeue(*messages[3]);
|
||||
VerifyMessageQueueContent(messageQueue, 3, messages[1], messages[0], messages[2]);
|
||||
messageQueue.Dequeue(*messages[1]);
|
||||
VerifyMessageQueueContent(messageQueue, 2, messages[0], messages[2]);
|
||||
messageQueue.Dequeue(*messages[2]);
|
||||
VerifyMessageQueueContent(messageQueue, 1, messages[0]);
|
||||
messageQueue.Dequeue(*messages[0]);
|
||||
VerifyMessageQueueContent(messageQueue, 0);
|
||||
|
||||
testFreeInstance(sInstance);
|
||||
@@ -213,17 +213,17 @@ void VerifyMessageQueueContentUsingOtApi(otMessageQueue *aQueue, int aExpectedLe
|
||||
// This test checks all the OpenThread C APIs for `otMessageQueue`
|
||||
void TestMessageQueueOtApis(void)
|
||||
{
|
||||
otMessage * msg[kNumTestMessages];
|
||||
otMessage * messages[kNumTestMessages];
|
||||
otMessage * message;
|
||||
otMessageQueue queue, queue2;
|
||||
|
||||
sInstance = testInitInstance();
|
||||
VerifyOrQuit(sInstance != nullptr, "Null instance");
|
||||
|
||||
for (int i = 0; i < kNumTestMessages; i++)
|
||||
for (otMessage *&msg : messages)
|
||||
{
|
||||
msg[i] = otIp6NewMessage(sInstance, nullptr);
|
||||
VerifyOrQuit(msg[i] != nullptr, "otIp6NewMessage() failed.");
|
||||
msg = otIp6NewMessage(sInstance, nullptr);
|
||||
VerifyOrQuit(msg != nullptr, "otIp6NewMessage() failed.");
|
||||
}
|
||||
|
||||
otMessageQueueInit(&queue);
|
||||
@@ -233,42 +233,42 @@ void TestMessageQueueOtApis(void)
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 0);
|
||||
|
||||
// Add message to the queue and check the content
|
||||
otMessageQueueEnqueue(&queue, msg[0]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 1, msg[0]);
|
||||
otMessageQueueEnqueue(&queue, msg[1]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 2, msg[0], msg[1]);
|
||||
otMessageQueueEnqueueAtHead(&queue, msg[2]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 3, msg[2], msg[0], msg[1]);
|
||||
otMessageQueueEnqueue(&queue, msg[3]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 4, msg[2], msg[0], msg[1], msg[3]);
|
||||
otMessageQueueEnqueue(&queue, messages[0]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 1, messages[0]);
|
||||
otMessageQueueEnqueue(&queue, messages[1]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 2, messages[0], messages[1]);
|
||||
otMessageQueueEnqueueAtHead(&queue, messages[2]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 3, messages[2], messages[0], messages[1]);
|
||||
otMessageQueueEnqueue(&queue, messages[3]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 4, messages[2], messages[0], messages[1], messages[3]);
|
||||
|
||||
// Remove elements and check the content
|
||||
otMessageQueueDequeue(&queue, msg[1]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 3, msg[2], msg[0], msg[3]);
|
||||
otMessageQueueDequeue(&queue, msg[0]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 2, msg[2], msg[3]);
|
||||
otMessageQueueDequeue(&queue, msg[3]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 1, msg[2]);
|
||||
otMessageQueueDequeue(&queue, messages[1]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 3, messages[2], messages[0], messages[3]);
|
||||
otMessageQueueDequeue(&queue, messages[0]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 2, messages[2], messages[3]);
|
||||
otMessageQueueDequeue(&queue, messages[3]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 1, messages[2]);
|
||||
|
||||
// Check the failure cases for otMessageQueueGetNext()
|
||||
message = otMessageQueueGetNext(&queue, nullptr);
|
||||
VerifyOrQuit(message == nullptr, "otMessageQueueGetNext(queue, nullptr) did not return nullptr.");
|
||||
message = otMessageQueueGetNext(&queue, msg[1]);
|
||||
message = otMessageQueueGetNext(&queue, messages[1]);
|
||||
VerifyOrQuit(message == nullptr, "otMessageQueueGetNext() did not return nullptr for a message not in the queue.");
|
||||
|
||||
// Check the failure case when attempting to do otMessageQueueGetNext() but passing in a wrong queue pointer.
|
||||
otMessageQueueEnqueue(&queue2, msg[0]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue2, 1, msg[0]);
|
||||
otMessageQueueEnqueue(&queue2, msg[1]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue2, 2, msg[0], msg[1]);
|
||||
otMessageQueueEnqueue(&queue2, messages[0]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue2, 1, messages[0]);
|
||||
otMessageQueueEnqueue(&queue2, messages[1]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue2, 2, messages[0], messages[1]);
|
||||
|
||||
message = otMessageQueueGetNext(&queue2, msg[0]);
|
||||
VerifyOrQuit(message == msg[1], "otMessageQueueGetNext() failed");
|
||||
message = otMessageQueueGetNext(&queue, msg[0]);
|
||||
message = otMessageQueueGetNext(&queue2, messages[0]);
|
||||
VerifyOrQuit(message == messages[1], "otMessageQueueGetNext() failed");
|
||||
message = otMessageQueueGetNext(&queue, messages[0]);
|
||||
VerifyOrQuit(message == nullptr, "otMessageQueueGetNext() did not return nullptr for message not in the queue.");
|
||||
|
||||
// Remove all element and make sure queue is empty
|
||||
otMessageQueueDequeue(&queue, msg[2]);
|
||||
otMessageQueueDequeue(&queue, messages[2]);
|
||||
VerifyMessageQueueContentUsingOtApi(&queue, 0);
|
||||
|
||||
testFreeInstance(sInstance);
|
||||
|
||||
Reference in New Issue
Block a user