From cf57110c47049a6a9924632651181754e000ebf6 Mon Sep 17 00:00:00 2001 From: Jonathan Hui Date: Fri, 8 May 2020 21:42:11 -0700 Subject: [PATCH] [message-queue] change Dequeue to return void (#4942) --- include/openthread/message.h | 5 +-- src/core/api/message_api.cpp | 5 +-- src/core/coap/coap.cpp | 4 +-- src/core/coap/coap_message.hpp | 5 +-- src/core/coap/coap_secure.cpp | 4 +-- src/core/common/message.cpp | 20 +++--------- src/core/common/message.hpp | 10 ++---- src/core/meshcop/joiner_router.cpp | 2 +- src/core/net/dns_client.cpp | 2 +- src/core/net/ip6.cpp | 10 +++--- src/core/net/ip6_mpl.cpp | 2 +- src/core/net/sntp_client.cpp | 2 +- src/core/thread/indirect_sender.cpp | 6 ++-- src/core/thread/mesh_forwarder.cpp | 20 ++++++------ src/core/thread/mesh_forwarder_ftd.cpp | 6 ++-- src/core/thread/mle.cpp | 4 +-- src/lib/spinel/spinel_buffer.cpp | 10 +++--- src/ncp/ncp_base_mtd.cpp | 2 +- tests/unit/test_message_queue.cpp | 44 ++++++++++---------------- tests/unit/test_priority_queue.cpp | 32 +++++++------------ 20 files changed, 77 insertions(+), 118 deletions(-) diff --git a/include/openthread/message.h b/include/openthread/message.h index ed251baa5..4e958601c 100644 --- a/include/openthread/message.h +++ b/include/openthread/message.h @@ -339,11 +339,8 @@ void otMessageQueueEnqueueAtHead(otMessageQueue *aQueue, otMessage *aMessage); * @param[in] aQueue A pointer to the message queue. * @param[in] aMessage The message to remove. * - * @retval OT_ERROR_NONE Successfully removed the message from the queue. - * @retval OT_ERROR_NOT_FOUND The message is not enqueued in this queue. - * */ -otError otMessageQueueDequeue(otMessageQueue *aQueue, otMessage *aMessage); +void otMessageQueueDequeue(otMessageQueue *aQueue, otMessage *aMessage); /** * This function returns a pointer to the message at the head of the queue. diff --git a/src/core/api/message_api.cpp b/src/core/api/message_api.cpp index 406ee7016..32e270e97 100644 --- a/src/core/api/message_api.cpp +++ b/src/core/api/message_api.cpp @@ -134,11 +134,12 @@ void otMessageQueueEnqueueAtHead(otMessageQueue *aQueue, otMessage *aMessage) queue.Enqueue(message, MessageQueue::kQueuePositionHead); } -otError otMessageQueueDequeue(otMessageQueue *aQueue, otMessage *aMessage) +void otMessageQueueDequeue(otMessageQueue *aQueue, otMessage *aMessage) { Message & message = *static_cast(aMessage); MessageQueue &queue = *static_cast(aQueue); - return queue.Dequeue(message); + + queue.Dequeue(message); } otMessage *otMessageQueueGetHead(otMessageQueue *aQueue) diff --git a/src/core/coap/coap.cpp b/src/core/coap/coap.cpp index af8259ce0..f860c3ebe 100644 --- a/src/core/coap/coap.cpp +++ b/src/core/coap/coap.cpp @@ -452,7 +452,7 @@ exit: void CoapBase::DequeueMessage(Message &aMessage) { - IgnoreError(mPendingRequests.Dequeue(aMessage)); + mPendingRequests.Dequeue(aMessage); if (mRetransmissionTimer.IsRunning() && (mPendingRequests.GetHead() == NULL)) { @@ -889,7 +889,7 @@ void ResponsesQueue::UpdateQueue(void) void ResponsesQueue::DequeueResponse(Message &aMessage) { - IgnoreError(mQueue.Dequeue(aMessage)); + mQueue.Dequeue(aMessage); aMessage.Free(); } diff --git a/src/core/coap/coap_message.hpp b/src/core/coap/coap_message.hpp index e75d4e3d3..bfb525c2f 100644 --- a/src/core/coap/coap_message.hpp +++ b/src/core/coap/coap_message.hpp @@ -695,11 +695,8 @@ public: * * @param[in] aMessage The message to remove. * - * @retval OT_ERROR_NONE Successfully removed the message from the queue. - * @retval OT_ERROR_NOT_FOUND The message is not enqueued in a queue. - * */ - otError Dequeue(Message &aMessage) { return ot::MessageQueue::Dequeue(aMessage); } + void Dequeue(Message &aMessage) { ot::MessageQueue::Dequeue(aMessage); } }; /** diff --git a/src/core/coap/coap_secure.cpp b/src/core/coap/coap_secure.cpp index fc3b91f42..33fcd7fbc 100644 --- a/src/core/coap/coap_secure.cpp +++ b/src/core/coap/coap_secure.cpp @@ -95,7 +95,7 @@ void CoapSecure::Stop(void) for (ot::Message *message = mTransmitQueue.GetHead(); message != NULL; message = message->GetNext()) { - IgnoreError(mTransmitQueue.Dequeue(*message)); + mTransmitQueue.Dequeue(*message); message->Free(); } @@ -229,7 +229,7 @@ void CoapSecure::HandleTransmit(void) ot::Message *message = mTransmitQueue.GetHead(); VerifyOrExit(message != NULL, OT_NOOP); - IgnoreError(mTransmitQueue.Dequeue(*message)); + mTransmitQueue.Dequeue(*message); if (mTransmitQueue.GetHead() != NULL) { diff --git a/src/core/common/message.cpp b/src/core/common/message.cpp index 6302d4808..d8ff222cb 100644 --- a/src/core/common/message.cpp +++ b/src/core/common/message.cpp @@ -372,7 +372,7 @@ otError Message::SetPriority(uint8_t aPriority) if (mBuffer.mHead.mInfo.mInPriorityQ) { priorityQueue = mBuffer.mHead.mInfo.mQueue.mPriority; - IgnoreError(priorityQueue->Dequeue(*this)); + priorityQueue->Dequeue(*this); } mBuffer.mHead.mInfo.mPriority = aPriority; @@ -832,12 +832,9 @@ void MessageQueue::Enqueue(Message &aMessage, QueuePosition aPosition) } } -otError MessageQueue::Dequeue(Message &aMessage) +void MessageQueue::Dequeue(Message &aMessage) { - otError error = OT_ERROR_NONE; - - VerifyOrExit(aMessage.GetMessageQueue() == this, error = OT_ERROR_NOT_FOUND); - + OT_ASSERT(aMessage.GetMessageQueue() == this); OT_ASSERT((aMessage.Next() != NULL) && (aMessage.Prev() != NULL)); if (&aMessage == GetTail()) @@ -857,9 +854,6 @@ otError MessageQueue::Dequeue(Message &aMessage) aMessage.Next() = NULL; aMessage.SetMessageQueue(NULL); - -exit: - return error; } void MessageQueue::GetInfo(uint16_t &aMessageCount, uint16_t &aBufferCount) const @@ -970,13 +964,12 @@ void PriorityQueue::Enqueue(Message &aMessage) mTails[priority] = &aMessage; } -otError PriorityQueue::Dequeue(Message &aMessage) +void PriorityQueue::Dequeue(Message &aMessage) { - otError error = OT_ERROR_NONE; uint8_t priority; Message *tail; - VerifyOrExit(aMessage.GetPriorityQueue() == this, error = OT_ERROR_NOT_FOUND); + OT_ASSERT(aMessage.GetPriorityQueue() == this); priority = aMessage.GetPriority(); @@ -1000,9 +993,6 @@ otError PriorityQueue::Dequeue(Message &aMessage) aMessage.Prev() = NULL; aMessage.SetMessageQueue(NULL); - -exit: - return error; } void PriorityQueue::GetInfo(uint16_t &aMessageCount, uint16_t &aBufferCount) const diff --git a/src/core/common/message.hpp b/src/core/common/message.hpp index 54fcad3c3..5530d639f 100644 --- a/src/core/common/message.hpp +++ b/src/core/common/message.hpp @@ -960,11 +960,8 @@ public: * * @param[in] aMessage The message to remove. * - * @retval OT_ERROR_NONE Successfully removed the message from the list. - * @retval OT_ERROR_NOT_FOUND The message is not enqueued in a list. - * */ - otError Dequeue(Message &aMessage); + void Dequeue(Message &aMessage); /** * This method returns the number of messages and buffers enqueued. @@ -1042,11 +1039,8 @@ public: * * @param[in] aMessage The message to remove. * - * @retval OT_ERROR_NONE Successfully removed the message from the list. - * @retval OT_ERROR_NOT_FOUND The message is not enqueued in a list. - * */ - otError Dequeue(Message &aMessage); + void Dequeue(Message &aMessage); /** * This method returns the number of messages and buffers enqueued. diff --git a/src/core/meshcop/joiner_router.cpp b/src/core/meshcop/joiner_router.cpp index ad9cd5a31..703a8bd7a 100644 --- a/src/core/meshcop/joiner_router.cpp +++ b/src/core/meshcop/joiner_router.cpp @@ -299,7 +299,7 @@ void JoinerRouter::SendDelayedJoinerEntrust(void) } else { - IgnoreError(mDelayedJoinEnts.Dequeue(*message)); + mDelayedJoinEnts.Dequeue(*message); message->Free(); Get().SetKek(metadata.mKek); diff --git a/src/core/net/dns_client.cpp b/src/core/net/dns_client.cpp index f5cded422..65a3cddbd 100644 --- a/src/core/net/dns_client.cpp +++ b/src/core/net/dns_client.cpp @@ -207,7 +207,7 @@ exit: void Client::DequeueMessage(Message &aMessage) { - IgnoreError(mPendingQueries.Dequeue(aMessage)); + mPendingQueries.Dequeue(aMessage); if (mRetransmissionTimer.IsRunning() && (mPendingQueries.GetHead() == NULL)) { diff --git a/src/core/net/ip6.cpp b/src/core/net/ip6.cpp index ecdda4341..021e9b053 100644 --- a/src/core/net/ip6.cpp +++ b/src/core/net/ip6.cpp @@ -560,7 +560,7 @@ void Ip6::HandleSendQueue(void) while ((message = mSendQueue.GetHead()) != NULL) { - IgnoreError(mSendQueue.Dequeue(*message)); + mSendQueue.Dequeue(*message); IgnoreError(HandleDatagram(*message, NULL, NULL, false)); } } @@ -818,7 +818,7 @@ otError Ip6::HandleFragment(Message &aMessage, Netif *aNetif, MessageInfo &aMess otLogDebgIp6("Reassembly complete."); - IgnoreError(mReassemblyList.Dequeue(*message)); + mReassemblyList.Dequeue(*message); error = HandleDatagram(*message, aNetif, aMessageInfo.mLinkInfo, aFromNcpHost); } @@ -828,7 +828,7 @@ exit: { if (message != NULL) { - IgnoreError(mReassemblyList.Dequeue(*message)); + mReassemblyList.Dequeue(*message); message->Free(); } otLogWarnIp6("Reassembly failed: %s", otThreadErrorToString(error)); @@ -847,8 +847,8 @@ void Ip6::CleanupFragmentationBuffer(void) for (Message *message = mReassemblyList.GetHead(); message;) { Message *next = message->GetNext(); - IgnoreError(mReassemblyList.Dequeue(*message)); + mReassemblyList.Dequeue(*message); message->Free(); message = next; } @@ -886,7 +886,7 @@ void Ip6::UpdateReassemblyList(void) otLogNoteIp6("Reassembly timeout."); SendIcmpError(*message, IcmpHeader::kTypeTimeExceeded, IcmpHeader::kCodeFragmReasTimeEx); - IgnoreError(mReassemblyList.Dequeue(*message)); + mReassemblyList.Dequeue(*message); message->Free(); } } diff --git a/src/core/net/ip6_mpl.cpp b/src/core/net/ip6_mpl.cpp index ee8f09ab1..73cf7b399 100644 --- a/src/core/net/ip6_mpl.cpp +++ b/src/core/net/ip6_mpl.cpp @@ -393,7 +393,7 @@ void Mpl::HandleRetransmissionTimer(void) } else { - IgnoreError(mBufferedMessageSet.Dequeue(*message)); + mBufferedMessageSet.Dequeue(*message); if (metadata.mTransmissionCount == GetTimerExpirations()) { diff --git a/src/core/net/sntp_client.cpp b/src/core/net/sntp_client.cpp index a5d411123..c5ad9db83 100644 --- a/src/core/net/sntp_client.cpp +++ b/src/core/net/sntp_client.cpp @@ -212,7 +212,7 @@ exit: void Client::DequeueMessage(Message &aMessage) { - IgnoreError(mPendingQueries.Dequeue(aMessage)); + mPendingQueries.Dequeue(aMessage); if (mRetransmissionTimer.IsRunning() && (mPendingQueries.GetHead() == NULL)) { diff --git a/src/core/thread/indirect_sender.cpp b/src/core/thread/indirect_sender.cpp index 461dff1d4..df15c258e 100644 --- a/src/core/thread/indirect_sender.cpp +++ b/src/core/thread/indirect_sender.cpp @@ -138,7 +138,7 @@ void IndirectSender::ClearAllMessagesForSleepyChild(Child &aChild) Get().mSendMessage = NULL; } - IgnoreError(Get().mSendQueue.Dequeue(*message)); + Get().mSendQueue.Dequeue(*message); message->Free(); } } @@ -218,7 +218,7 @@ Message *IndirectSender::FindIndirectMessage(Child &aChild) { message->ClearChildMask(childIndex); mSourceMatchController.DecrementMessageCount(aChild); - IgnoreError(Get().mSendQueue.Dequeue(*message)); + Get().mSendQueue.Dequeue(*message); message->Free(); continue; } @@ -540,7 +540,7 @@ void IndirectSender::HandleSentFrameToChild(const Mac::TxFrame &aFrame, if (!message->GetDirectTransmission() && !message->IsChildPending()) { - IgnoreError(Get().mSendQueue.Dequeue(*message)); + Get().mSendQueue.Dequeue(*message); message->Free(); } } diff --git a/src/core/thread/mesh_forwarder.cpp b/src/core/thread/mesh_forwarder.cpp index 3560dd3df..ee749fe92 100644 --- a/src/core/thread/mesh_forwarder.cpp +++ b/src/core/thread/mesh_forwarder.cpp @@ -114,13 +114,13 @@ void MeshForwarder::Stop(void) while ((message = mSendQueue.GetHead()) != NULL) { - IgnoreError(mSendQueue.Dequeue(*message)); + mSendQueue.Dequeue(*message); message->Free(); } while ((message = mReassemblyList.GetHead()) != NULL) { - IgnoreError(mReassemblyList.Dequeue(*message)); + mReassemblyList.Dequeue(*message); message->Free(); } @@ -158,7 +158,7 @@ void MeshForwarder::RemoveMessage(Message &aMessage) } } - IgnoreError(queue->Dequeue(aMessage)); + queue->Dequeue(aMessage); LogMessage(kMessageEvict, aMessage, NULL, OT_ERROR_NO_BUFS); aMessage.Free(); } @@ -260,14 +260,14 @@ Message *MeshForwarder::GetDirectTransmission(void) #if OPENTHREAD_FTD case OT_ERROR_ADDRESS_QUERY: - IgnoreError(mSendQueue.Dequeue(*curMessage)); + mSendQueue.Dequeue(*curMessage); mResolvingQueue.Enqueue(*curMessage); continue; #endif default: - IgnoreError(mSendQueue.Dequeue(*curMessage)); + mSendQueue.Dequeue(*curMessage); LogMessage(kMessageDrop, *curMessage, NULL, error); curMessage->Free(); continue; @@ -930,7 +930,7 @@ void MeshForwarder::HandleSentFrame(Mac::TxFrame &aFrame, otError aError) Get().RequestShorterChildIdRequest(); } - IgnoreError(mSendQueue.Dequeue(*mSendMessage)); + mSendQueue.Dequeue(*mSendMessage); mSendMessage->Free(); mSendMessage = NULL; mMessageNextOffset = 0; @@ -962,7 +962,7 @@ void MeshForwarder::HandleDiscoverTimer(void) { if (mScanChannels.GetNextChannel(mScanChannel) != OT_ERROR_NONE) { - IgnoreError(mSendQueue.Dequeue(*mSendMessage)); + mSendQueue.Dequeue(*mSendMessage); mSendMessage->Free(); mSendMessage = NULL; @@ -1164,7 +1164,7 @@ exit: { if (message->GetOffset() >= message->GetLength()) { - IgnoreError(mReassemblyList.Dequeue(*message)); + mReassemblyList.Dequeue(*message); IgnoreError(HandleDatagram(*message, aLinkInfo, aMacSource)); } } @@ -1187,7 +1187,7 @@ void MeshForwarder::ClearReassemblyList(void) for (message = mReassemblyList.GetHead(); message; message = next) { next = message->GetNext(); - IgnoreError(mReassemblyList.Dequeue(*message)); + mReassemblyList.Dequeue(*message); LogMessage(kMessageReassemblyDrop, *message, NULL, OT_ERROR_NO_FRAME_RECEIVED); @@ -1233,7 +1233,7 @@ bool MeshForwarder::UpdateReassemblyList(void) } else { - IgnoreError(mReassemblyList.Dequeue(*message)); + mReassemblyList.Dequeue(*message); LogMessage(kMessageReassemblyDrop, *message, NULL, OT_ERROR_REASSEMBLY_TIMEOUT); if (message->GetType() == Message::kTypeIp6) diff --git a/src/core/thread/mesh_forwarder_ftd.cpp b/src/core/thread/mesh_forwarder_ftd.cpp index bbe83ce34..489c63749 100644 --- a/src/core/thread/mesh_forwarder_ftd.cpp +++ b/src/core/thread/mesh_forwarder_ftd.cpp @@ -160,7 +160,7 @@ void MeshForwarder::HandleResolved(const Ip6::Address &aEid, otError aError) if (ip6Dst == aEid) { - IgnoreError(mResolvingQueue.Dequeue(*cur)); + mResolvingQueue.Dequeue(*cur); if (aError == OT_ERROR_NONE) { @@ -307,7 +307,7 @@ void MeshForwarder::RemoveMessages(Child &aChild, uint8_t aSubType) mSendMessage = NULL; } - IgnoreError(mSendQueue.Dequeue(*message)); + mSendQueue.Dequeue(*message); message->Free(); } } @@ -339,7 +339,7 @@ void MeshForwarder::RemoveDataResponseMessages(void) mSendMessage = NULL; } - IgnoreError(mSendQueue.Dequeue(*message)); + mSendQueue.Dequeue(*message); LogMessage(kMessageDrop, *message, NULL, OT_ERROR_NONE); message->Free(); } diff --git a/src/core/thread/mle.cpp b/src/core/thread/mle.cpp index 12a58dc58..4c44a75d2 100644 --- a/src/core/thread/mle.cpp +++ b/src/core/thread/mle.cpp @@ -1946,7 +1946,7 @@ void Mle::HandleDelayedResponseTimer(void) } else { - IgnoreError(mDelayedResponses.Dequeue(*message)); + mDelayedResponses.Dequeue(*message); metadata.RemoveFrom(*message); if (SendMessage(*message, metadata.mDestination) == OT_ERROR_NONE) @@ -1987,7 +1987,7 @@ void Mle::RemoveDelayedDataResponseMessage(void) if (message->GetSubType() == Message::kSubTypeMleDataResponse) { - IgnoreError(mDelayedResponses.Dequeue(*message)); + mDelayedResponses.Dequeue(*message); message->Free(); LogMleMessage("Remove Delayed Data Response", metadata.mDestination); diff --git a/src/lib/spinel/spinel_buffer.cpp b/src/lib/spinel/spinel_buffer.cpp index f4895531c..408708898 100644 --- a/src/lib/spinel/spinel_buffer.cpp +++ b/src/lib/spinel/spinel_buffer.cpp @@ -93,7 +93,7 @@ void Buffer::Clear(void) while ((message = otMessageQueueGetHead(&mWriteFrameMessageQueue)) != NULL) { - IgnoreError(otMessageQueueDequeue(&mWriteFrameMessageQueue, message)); + otMessageQueueDequeue(&mWriteFrameMessageQueue, message); // Note that messages associated with current (unfinished) input frame // are not yet owned by the `Buffer` and therefore should not @@ -104,7 +104,7 @@ void Buffer::Clear(void) { while ((message = otMessageQueueGetHead(&mMessageQueue[priority])) != NULL) { - IgnoreError(otMessageQueueDequeue(&mMessageQueue[priority], message)); + otMessageQueueDequeue(&mMessageQueue[priority], message); otMessageFree(message); } } @@ -317,7 +317,7 @@ void Buffer::InFrameDiscard(void) #if OPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE while ((message = otMessageQueueGetHead(&mWriteFrameMessageQueue)) != NULL) { - IgnoreError(otMessageQueueDequeue(&mWriteFrameMessageQueue, message)); + otMessageQueueDequeue(&mWriteFrameMessageQueue, message); // Note that messages associated with current (unfinished) input frame // being discarded, are not yet owned by the `Buffer` and @@ -520,7 +520,7 @@ otError Buffer::InFrameEnd(void) // Move all the messages from the frame queue to the main queue. while ((message = otMessageQueueGetHead(&mWriteFrameMessageQueue)) != NULL) { - IgnoreError(otMessageQueueDequeue(&mWriteFrameMessageQueue, message)); + otMessageQueueDequeue(&mWriteFrameMessageQueue, message); otMessageQueueEnqueue(&mMessageQueue[mWriteDirection], message); } #endif @@ -831,7 +831,7 @@ otError Buffer::OutFrameRemove(void) if ((message = otMessageQueueGetHead(&mMessageQueue[mReadDirection])) != NULL) { - IgnoreError(otMessageQueueDequeue(&mMessageQueue[mReadDirection], message)); + otMessageQueueDequeue(&mMessageQueue[mReadDirection], message); otMessageFree(message); } } diff --git a/src/ncp/ncp_base_mtd.cpp b/src/ncp/ncp_base_mtd.cpp index b0854a9a7..f694deb7b 100644 --- a/src/ncp/ncp_base_mtd.cpp +++ b/src/ncp/ncp_base_mtd.cpp @@ -3456,7 +3456,7 @@ otError NcpBase::SendQueuedDatagramMessages(void) // If forming of the spinel frame fails, the message is enqueued // back at the front of `mMessageQueue`. - IgnoreError(otMessageQueueDequeue(&mMessageQueue, message)); + otMessageQueueDequeue(&mMessageQueue, message); error = SendDatagramMessage(message); diff --git a/tests/unit/test_message_queue.cpp b/tests/unit/test_message_queue.cpp index 890da4576..bb1c58c64 100644 --- a/tests/unit/test_message_queue.cpp +++ b/tests/unit/test_message_queue.cpp @@ -79,7 +79,6 @@ void TestMessageQueue(void) { ot::MessageQueue messageQueue; ot::Message * msg[kNumTestMessages]; - otError error; uint16_t msgCount, bufferCount; sInstance = testInitInstance(); @@ -98,13 +97,13 @@ void TestMessageQueue(void) // Enqueue 1 message and remove it messageQueue.Enqueue(*msg[0]); VerifyMessageQueueContent(messageQueue, 1, msg[0]); - SuccessOrQuit(messageQueue.Dequeue(*msg[0]), "MessageQueue::Dequeue() failed."); + messageQueue.Dequeue(*msg[0]); VerifyMessageQueueContent(messageQueue, 0); // Enqueue 1 message at head and remove it messageQueue.Enqueue(*msg[0], ot::MessageQueue::kQueuePositionHead); VerifyMessageQueueContent(messageQueue, 1, msg[0]); - SuccessOrQuit(messageQueue.Dequeue(*msg[0]), "MessageQueue::Dequeue() failed."); + messageQueue.Dequeue(*msg[0]); VerifyMessageQueueContent(messageQueue, 0); // Enqueue 5 messages @@ -124,15 +123,15 @@ void TestMessageQueue(void) VerifyOrQuit(msgCount == 5, "MessageQueue::GetInfo() failed."); // Remove from head - SuccessOrQuit(messageQueue.Dequeue(*msg[0]), "MessageQueue::Dequeue() failed."); + messageQueue.Dequeue(*msg[0]); VerifyMessageQueueContent(messageQueue, 4, msg[1], msg[2], msg[3], msg[4]); // Remove a message in middle - SuccessOrQuit(messageQueue.Dequeue(*msg[3]), "MessageQueue::Dequeue() failed."); + messageQueue.Dequeue(*msg[3]); VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[2], msg[4]); // Remove from tail - SuccessOrQuit(messageQueue.Dequeue(*msg[4]), "MessageQueue::Dequeue() failed."); + messageQueue.Dequeue(*msg[4]); VerifyMessageQueueContent(messageQueue, 2, msg[1], msg[2]); // Add after remove @@ -142,7 +141,7 @@ void TestMessageQueue(void) VerifyMessageQueueContent(messageQueue, 4, msg[1], msg[2], msg[0], msg[3]); // Remove from middle - SuccessOrQuit(messageQueue.Dequeue(*msg[2]), "MessageQueue::Dequeue() failed."); + messageQueue.Dequeue(*msg[2]); VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[0], msg[3]); // Add to head @@ -150,11 +149,11 @@ void TestMessageQueue(void) VerifyMessageQueueContent(messageQueue, 4, msg[2], msg[1], msg[0], msg[3]); // Remove from head - SuccessOrQuit(messageQueue.Dequeue(*msg[2]), "MessageQueue::Dequeue() failed."); + messageQueue.Dequeue(*msg[2]); VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[0], msg[3]); // Remove from head - SuccessOrQuit(messageQueue.Dequeue(*msg[1]), "MessageQueue::Dequeue() failed."); + messageQueue.Dequeue(*msg[1]); VerifyMessageQueueContent(messageQueue, 2, msg[0], msg[3]); // Add to head @@ -166,21 +165,15 @@ void TestMessageQueue(void) VerifyMessageQueueContent(messageQueue, 4, msg[1], msg[0], msg[3], msg[2]); // Remove all messages. - SuccessOrQuit(messageQueue.Dequeue(*msg[3]), "MessageQueue::Dequeue() failed."); + messageQueue.Dequeue(*msg[3]); VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[0], msg[2]); - SuccessOrQuit(messageQueue.Dequeue(*msg[1]), "MessageQueue::Dequeue() failed."); + messageQueue.Dequeue(*msg[1]); VerifyMessageQueueContent(messageQueue, 2, msg[0], msg[2]); - SuccessOrQuit(messageQueue.Dequeue(*msg[2]), "MessageQueue::Dequeue() failed."); + messageQueue.Dequeue(*msg[2]); VerifyMessageQueueContent(messageQueue, 1, msg[0]); - SuccessOrQuit(messageQueue.Dequeue(*msg[0]), "MessageQueue::Dequeue() failed."); + messageQueue.Dequeue(*msg[0]); VerifyMessageQueueContent(messageQueue, 0); - // Check the failure cases: Dequeue a message not in the queue. - messageQueue.Enqueue(*msg[0]); - VerifyMessageQueueContent(messageQueue, 1, msg[0]); - error = messageQueue.Dequeue(*msg[1]); - VerifyOrQuit(error == OT_ERROR_NOT_FOUND, "Dequeuing a message not in the queue did not fail as expected."); - testFreeInstance(sInstance); } @@ -220,7 +213,6 @@ void VerifyMessageQueueContentUsingOtApi(otMessageQueue *aQueue, int aExpectedLe void TestMessageQueueOtApis(void) { otMessage * msg[kNumTestMessages]; - otError error; otMessage * message; otMessageQueue queue, queue2; @@ -250,17 +242,13 @@ void TestMessageQueueOtApis(void) VerifyMessageQueueContentUsingOtApi(&queue, 4, msg[2], msg[0], msg[1], msg[3]); // Remove elements and check the content - SuccessOrQuit(otMessageQueueDequeue(&queue, msg[1]), "Failed to dequeue a message from otMessageQueue."); + otMessageQueueDequeue(&queue, msg[1]); VerifyMessageQueueContentUsingOtApi(&queue, 3, msg[2], msg[0], msg[3]); - SuccessOrQuit(otMessageQueueDequeue(&queue, msg[0]), "Failed to dequeue a message from otMessageQueue."); + otMessageQueueDequeue(&queue, msg[0]); VerifyMessageQueueContentUsingOtApi(&queue, 2, msg[2], msg[3]); - SuccessOrQuit(otMessageQueueDequeue(&queue, msg[3]), "Failed to dequeue a message from otMessageQueue."); + otMessageQueueDequeue(&queue, msg[3]); VerifyMessageQueueContentUsingOtApi(&queue, 1, msg[2]); - // Check the expected failure cases for the enqueue and dequeue: - error = otMessageQueueDequeue(&queue, msg[0]); - VerifyOrQuit(error == OT_ERROR_NOT_FOUND, "Dequeuing a message not in the queue did not fail as expected."); - // Check the failure cases for otMessageQueueGetNext() message = otMessageQueueGetNext(&queue, NULL); VerifyOrQuit(message == NULL, "otMessageQueueGetNext(queue, NULL) did not return NULL."); @@ -279,7 +267,7 @@ void TestMessageQueueOtApis(void) VerifyOrQuit(message == NULL, "otMessageQueueGetNext() did not return NULL for message not in the queue."); // Remove all element and make sure queue is empty - SuccessOrQuit(otMessageQueueDequeue(&queue, msg[2]), "Failed to dequeue a message from otMessageQueue."); + otMessageQueueDequeue(&queue, msg[2]); VerifyMessageQueueContentUsingOtApi(&queue, 0); testFreeInstance(sInstance); diff --git a/tests/unit/test_priority_queue.cpp b/tests/unit/test_priority_queue.cpp index fb21ce9c2..d6578d777 100644 --- a/tests/unit/test_priority_queue.cpp +++ b/tests/unit/test_priority_queue.cpp @@ -230,30 +230,22 @@ void TestPriorityQueue(void) msgNor[0], msgLow[0]); // Remove messages in different order and check the content of queue in each step. - SuccessOrQuit(queue.Dequeue(*msgNet[0]), "PriorityQueue::Dequeue() failed."); + queue.Dequeue(*msgNet[0]); VerifyPriorityQueueContent(queue, 7, msgNet[1], msgHigh[0], msgHigh[1], msgHigh[2], msgHigh[3], msgNor[0], msgLow[0]); - SuccessOrQuit(queue.Dequeue(*msgHigh[2]), "PriorityQueue::Dequeue() failed."); + queue.Dequeue(*msgHigh[2]); VerifyPriorityQueueContent(queue, 6, msgNet[1], msgHigh[0], msgHigh[1], msgHigh[3], msgNor[0], msgLow[0]); - SuccessOrQuit(queue.Dequeue(*msgNor[0]), "PriorityQueue::Dequeue() failed."); + queue.Dequeue(*msgNor[0]); VerifyPriorityQueueContent(queue, 5, msgNet[1], msgHigh[0], msgHigh[1], msgHigh[3], msgLow[0]); - SuccessOrQuit(queue.Dequeue(*msgHigh[1]), "PriorityQueue::Dequeue() failed."); + queue.Dequeue(*msgHigh[1]); VerifyPriorityQueueContent(queue, 4, msgNet[1], msgHigh[0], msgHigh[3], msgLow[0]); - SuccessOrQuit(queue.Dequeue(*msgLow[0]), "PriorityQueue::Dequeue() failed."); + queue.Dequeue(*msgLow[0]); VerifyPriorityQueueContent(queue, 3, msgNet[1], msgHigh[0], msgHigh[3]); - SuccessOrQuit(queue.Dequeue(*msgNet[1]), "PriorityQueue::Dequeue() failed."); + queue.Dequeue(*msgNet[1]); VerifyPriorityQueueContent(queue, 2, msgHigh[0], msgHigh[3]); - SuccessOrQuit(queue.Dequeue(*msgHigh[0]), "PriorityQueue::Dequeue() failed."); + queue.Dequeue(*msgHigh[0]); VerifyPriorityQueueContent(queue, 1, msgHigh[3]); - SuccessOrQuit(queue.Dequeue(*msgHigh[3]), "PriorityQueue::Dequeue() failed."); - VerifyPriorityQueueContent(queue, 0); - - // Check the failure cases: Dequeuing a message not queued. - queue.Enqueue(*msgNet[0]); - VerifyPriorityQueueContent(queue, 1, msgNet[0]); - VerifyOrQuit(queue.Dequeue(*msgHigh[0]) == OT_ERROR_NOT_FOUND, - "Dequeuing a message not queued, did not fail as expected."); - SuccessOrQuit(queue.Dequeue(*msgNet[0]), "PriorityQueue::Dequeue() failed."); + queue.Dequeue(*msgHigh[3]); VerifyPriorityQueueContent(queue, 0); // Change the priority of an already queued message and check the order change in the queue. @@ -301,19 +293,19 @@ void TestPriorityQueue(void) VerifyMsgQueueContent(messageQueue, 3, msgNor[1], msgHigh[1], msgNet[1]); // Remove messages from the two queues - SuccessOrQuit(queue.Dequeue(*msgHigh[0]), "PriorityQueue::Dequeue() failed."); + queue.Dequeue(*msgHigh[0]); VerifyPriorityQueueContent(queue, 2, msgLow[0], msgNor[0]); VerifyMsgQueueContent(messageQueue, 3, msgNor[1], msgHigh[1], msgNet[1]); - SuccessOrQuit(messageQueue.Dequeue(*msgNet[1]), "MessageQueue::Dequeue() failed."); + messageQueue.Dequeue(*msgNet[1]); VerifyPriorityQueueContent(queue, 2, msgLow[0], msgNor[0]); VerifyMsgQueueContent(messageQueue, 2, msgNor[1], msgHigh[1]); - SuccessOrQuit(messageQueue.Dequeue(*msgHigh[1]), "MessageQueue::Dequeue() failed."); + messageQueue.Dequeue(*msgHigh[1]); VerifyPriorityQueueContent(queue, 2, msgLow[0], msgNor[0]); VerifyMsgQueueContent(messageQueue, 1, msgNor[1]); - SuccessOrQuit(queue.Dequeue(*msgLow[0]), "PriorityQueue::Dequeue() failed."); + queue.Dequeue(*msgLow[0]); VerifyPriorityQueueContent(queue, 1, msgNor[0]); VerifyMsgQueueContent(messageQueue, 1, msgNor[1]);