From 5c440f8dd18ee0676c50b8baec36a9a4d27d50ae Mon Sep 17 00:00:00 2001 From: thodkatz <thodkatz@gmail.com> Date: Thu, 24 Jan 2019 15:07:21 +0200 Subject: [PATCH] Added tests for ErrorHandler --- test/ErrorHandler.cpp | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/test/ErrorHandler.cpp b/test/ErrorHandler.cpp index 458ab616..33ad7bd1 100644 --- a/test/ErrorHandler.cpp +++ b/test/ErrorHandler.cpp @@ -24,6 +24,52 @@ TEST_CASE("Error: Failed Acceptance", "[errors]") { CHECK(report.readEnum16() == ErrorHandler::MessageTooShort); } +TEST_CASE("Error: Failed Execution Start", "[errors]") { + Message failedMessage(38, 32, Message::TC, 56); + ErrorHandler::reportError(failedMessage, ErrorHandler::UnknownStartExecutionError); + + REQUIRE(ServiceTests::hasOneMessage()); + Message report = ServiceTests::get(0); + + // Check that a TM[1,3] message was returned + CHECK(report.serviceType == 1); + CHECK(report.messageType == 4); + CHECK(report.packetType == Message::TM); + REQUIRE(report.dataSize == 6); + + CHECK(report.readBits(3) == CCSDS_PACKET_VERSION); + CHECK(report.readBits(1) == static_cast<uint16_t>(Message::TC)); + CHECK(report.readBits(1) == false); + CHECK(report.readBits(11) == 56); + CHECK(report.readBits(2) == ECSS_SEQUENCE_FLAGS); + CHECK(report.readBits(14) == failedMessage.packetSequenceCount); + CHECK(report.readEnum16() == ErrorHandler::UnknownStartExecutionError); +} + +TEST_CASE("Error: Failed Execution Progress", "[errors]") { + Message failedMessage(38, 32, Message::TC, 56); + ErrorHandler::reportProgressError(failedMessage, ErrorHandler::UnknownProgressExecutionError, + ErrorHandler::UnknownStepID); + + REQUIRE(ServiceTests::hasOneMessage()); + Message report = ServiceTests::get(0); + + // Check that a TM[1,6] message was returned + CHECK(report.serviceType == 1); + CHECK(report.messageType == 6); + CHECK(report.packetType == Message::TM); + REQUIRE(report.dataSize == 8); + + CHECK(report.readBits(3) == CCSDS_PACKET_VERSION); + CHECK(report.readBits(1) == static_cast<uint16_t>(Message::TC)); + CHECK(report.readBits(1) == false); + CHECK(report.readBits(11) == 56); + CHECK(report.readBits(2) == ECSS_SEQUENCE_FLAGS); + CHECK(report.readBits(14) == failedMessage.packetSequenceCount); + CHECK(report.readEnum16() == ErrorHandler::UnknownStartExecutionError); + CHECK(report.readEnum16() == ErrorHandler::UnknownStepID); +} + TEST_CASE("Error: Failed Execution Completion", "[errors]") { Message failedMessage(38, 32, Message::TC, 56); ErrorHandler::reportError(failedMessage, ErrorHandler::UnknownCompletionExecutionError); -- GitLab