diff --git a/unittests/cfdp/handler/testSourceHandler.cpp b/unittests/cfdp/handler/testSourceHandler.cpp index da07a036..1e32b769 100644 --- a/unittests/cfdp/handler/testSourceHandler.cpp +++ b/unittests/cfdp/handler/testSourceHandler.cpp @@ -229,5 +229,17 @@ TEST_CASE("CFDP Source Handler", "[cfdp]") { for (unsigned i = 0; i < fileDataSize; i++) { CHECK(fileData[i] == largerFileData[MAX_FILE_SEGMENT_SIZE + i]); } + mqMock.clearMessages(); + + // Check EOF and verify checksum. + fsmResult = sourceHandler.stateMachine(); + + etl::crc32 crcCalc; + crcCalc.add(largerFileData.data(), largerFileData.data() + largerFileData.size()); + // Verify EOF PDU was sent. + genericEofCheck(fsmResult, expectedFileSize, crcCalc.value()); + + CHECK(sourceHandler.getStep() == SourceHandler::TransactionStep::IDLE); + CHECK(sourceHandler.getState() == CfdpState::IDLE); } } \ No newline at end of file