some bugfixes

This commit is contained in:
2022-08-09 15:09:43 +02:00
parent dba3f9960e
commit 7f9401cf63
8 changed files with 48 additions and 9 deletions

View File

@ -1,5 +1,4 @@
target_sources(${FSFW_TEST_TGT} PRIVATE testCfdp.cpp testTlvsLvs.cpp
testSourceHandler.cpp)
target_sources(${FSFW_TEST_TGT} PRIVATE testCfdp.cpp testTlvsLvs.cpp)
add_subdirectory(handler)
add_subdirectory(pdu)

View File

@ -1 +1,3 @@
target_sources(${FSFW_TEST_TGT} PRIVATE testDistributor.cpp testDestHandler.cpp)
target_sources(
${FSFW_TEST_TGT} PRIVATE testDistributor.cpp testDestHandler.cpp
testSourceHandler.cpp testFaultHandler.cpp)

View File

@ -0,0 +1,36 @@
#include <catch2/catch_test_macros.hpp>
#include "mocks/CfdpFaultHandlerMock.h"
TEST_CASE("CFDP Fault Handler", "[cfdp]") {
using namespace cfdp;
auto fhMock = CfdpFaultHandlerMock();
cfdp::FaultHandlerCodes fhCode;
SECTION("State") {
// Verify initial condition
CHECK(fhMock.getFaultHandler(ConditionCode::UNSUPPORTED_CHECKSUM_TYPE, fhCode));
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
CHECK(fhMock.getFaultHandler(ConditionCode::POSITIVE_ACK_LIMIT_REACHED, fhCode));
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
CHECK(fhMock.getFaultHandler(ConditionCode::KEEP_ALIVE_LIMIT_REACHED, fhCode));
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
CHECK(fhMock.getFaultHandler(ConditionCode::INVALID_TRANSMISSION_MODE, fhCode));
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
CHECK(fhMock.getFaultHandler(ConditionCode::FILESTORE_REJECTION, fhCode));
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
CHECK(fhMock.getFaultHandler(ConditionCode::FILE_CHECKSUM_FAILURE, fhCode));
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
CHECK(fhMock.getFaultHandler(ConditionCode::FILE_SIZE_ERROR, fhCode));
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
CHECK(fhMock.getFaultHandler(ConditionCode::NAK_LIMIT_REACHED, fhCode));
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
CHECK(fhMock.getFaultHandler(ConditionCode::INACTIVITY_DETECTED, fhCode));
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
CHECK(fhMock.getFaultHandler(ConditionCode::CHECK_LIMIT_REACHED, fhCode));
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
}
SECTION("Call Handler") {
fhMock.reportFault(ConditionCode::CHECK_LIMIT_REACHED);
}
}

View File

@ -4,7 +4,7 @@
#include "fsfw/cfdp/pdu/FileDirectiveCreator.h"
#include "fsfw/cfdp/pdu/FileDirectiveReader.h"
TEST_CASE("CFDP File Directive", "[cfdp]") {
TEST_CASE("CFDP File Directive", "[cfdp][pdu]") {
using namespace cfdp;
std::array<uint8_t, 32> serBuf{};
ReturnValue_t result;

View File

@ -19,7 +19,7 @@ class CfdpFaultHandlerMock : public cfdp::FaultHandlerBase {
void ignoreCb(cfdp::ConditionCode code) override;
FaultInfo& getFhInfo(cfdp::FaultHandlerCodes fhCode);
bool faultCbWasCalled() const;
[[nodiscard]] bool faultCbWasCalled() const;
void reset();
private: