Switch Interaction Model client error reporting to just CHIP_ERROR. (#13888)
* Switch Interaction Model client error reporting to just CHIP_ERROR.
Now that we can put a StatusIB inside a CHIP_ERROR, we can stop
passing both, or passing just EmberAfStatus, and pass a CHIP_ERROR
that either contains a StatusIB or contains the actual client-side
error we ran into (e.g. failure to decode).
* Address review comments.
diff --git a/src/app/tests/TestTimedHandler.cpp b/src/app/tests/TestTimedHandler.cpp
index 63d7f19..e92fedf 100644
--- a/src/app/tests/TestTimedHandler.cpp
+++ b/src/app/tests/TestTimedHandler.cpp
@@ -67,8 +67,7 @@
mLastMessageWasStatus = aPayloadHeader.HasMessageType(MsgType::StatusResponse);
if (mLastMessageWasStatus)
{
- mStatus.mStatus = Status::Failure;
- StatusResponse::ProcessStatusResponse(std::move(aPayload), mStatus);
+ mError = StatusResponse::ProcessStatusResponse(std::move(aPayload));
}
if (mKeepExchangeOpen)
{
@@ -83,7 +82,7 @@
bool mKeepExchangeOpen = false;
bool mNewMessageReceived = false;
bool mLastMessageWasStatus = false;
- StatusIB mStatus;
+ CHIP_ERROR mError = CHIP_NO_ERROR;
};
} // anonymous namespace
@@ -128,7 +127,7 @@
ctx.DrainAndServiceIO();
NL_TEST_ASSERT(aSuite, delegate.mNewMessageReceived);
NL_TEST_ASSERT(aSuite, delegate.mLastMessageWasStatus);
- NL_TEST_ASSERT(aSuite, delegate.mStatus.mStatus == Status::Success);
+ NL_TEST_ASSERT(aSuite, delegate.mError == CHIP_NO_ERROR);
// Send an empty payload, which will error out but not with the
// UNSUPPORTED_ACCESS status we expect if we miss our timeout.
@@ -144,7 +143,7 @@
ctx.DrainAndServiceIO();
NL_TEST_ASSERT(aSuite, delegate.mNewMessageReceived);
NL_TEST_ASSERT(aSuite, delegate.mLastMessageWasStatus);
- NL_TEST_ASSERT(aSuite, delegate.mStatus.mStatus != Status::UnsupportedAccess);
+ NL_TEST_ASSERT(aSuite, StatusIB(delegate.mError).mStatus != Status::UnsupportedAccess);
}
void TestTimedHandler::TestInvokeFastEnough(nlTestSuite * aSuite, void * aContext)
@@ -178,7 +177,7 @@
ctx.DrainAndServiceIO();
NL_TEST_ASSERT(aSuite, delegate.mNewMessageReceived);
NL_TEST_ASSERT(aSuite, delegate.mLastMessageWasStatus);
- NL_TEST_ASSERT(aSuite, delegate.mStatus.mStatus == Status::Success);
+ NL_TEST_ASSERT(aSuite, delegate.mError == CHIP_NO_ERROR);
// Sleep for > 50ms so we miss our time window.
chip::test_utils::SleepMillis(75);
@@ -197,7 +196,7 @@
ctx.DrainAndServiceIO();
NL_TEST_ASSERT(aSuite, delegate.mNewMessageReceived);
NL_TEST_ASSERT(aSuite, delegate.mLastMessageWasStatus);
- NL_TEST_ASSERT(aSuite, delegate.mStatus.mStatus == Status::UnsupportedAccess);
+ NL_TEST_ASSERT(aSuite, StatusIB(delegate.mError).mStatus == Status::UnsupportedAccess);
}
void TestTimedHandler::TestInvokeTooSlow(nlTestSuite * aSuite, void * aContext)
@@ -229,7 +228,7 @@
ctx.DrainAndServiceIO();
NL_TEST_ASSERT(aSuite, delegate.mNewMessageReceived);
NL_TEST_ASSERT(aSuite, delegate.mLastMessageWasStatus);
- NL_TEST_ASSERT(aSuite, delegate.mStatus.mStatus == Status::Success);
+ NL_TEST_ASSERT(aSuite, delegate.mError == CHIP_NO_ERROR);
// Do nothing else; exchange on the server remains open. We are testing to
// see whether shutdown cleans it up properly.