use singular enum names
This commit is contained in:
@ -25,12 +25,12 @@ TEST_CASE("CFDP Distributor", "[cfdp][distributor]") {
|
||||
const cfdp::EntityId& sourceId(groundEntityId);
|
||||
const cfdp::EntityId& destId(obswEntityId);
|
||||
cfdp::TransactionSeqNum seqNum(UnsignedByteField<uint16_t>(12));
|
||||
auto pduConf = PduConfig(sourceId, destId, cfdp::TransmissionModes::UNACKNOWLEDGED, seqNum);
|
||||
auto pduConf = PduConfig(sourceId, destId, cfdp::TransmissionMode::UNACKNOWLEDGED, seqNum);
|
||||
std::string sourceFileString = "hello.txt";
|
||||
cfdp::StringLv sourceFileName(sourceFileString);
|
||||
std::string destFileString = "hello2.txt";
|
||||
cfdp::StringLv destFileName(destFileString);
|
||||
MetadataInfo metadataInfo(false, cfdp::ChecksumTypes::CRC_32, fileSize, sourceFileName,
|
||||
MetadataInfo metadataInfo(false, cfdp::ChecksumType::CRC_32, fileSize, sourceFileName,
|
||||
destFileName);
|
||||
MetadataPduCreator creator(pduConf, metadataInfo);
|
||||
uint8_t* dataPtr = nullptr;
|
||||
|
@ -5,80 +5,81 @@
|
||||
TEST_CASE("CFDP Fault Handler", "[cfdp]") {
|
||||
using namespace cfdp;
|
||||
auto fhMock = FaultHandlerMock();
|
||||
cfdp::FaultHandlerCodes fhCode;
|
||||
cfdp::FaultHandlerCode fhCode;
|
||||
cfdp::TransactionId id;
|
||||
|
||||
SECTION("State") {
|
||||
// Verify initial condition
|
||||
CHECK(fhMock.getFaultHandler(ConditionCode::UNSUPPORTED_CHECKSUM_TYPE, fhCode));
|
||||
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
|
||||
CHECK(fhCode == FaultHandlerCode::IGNORE_ERROR);
|
||||
CHECK(fhMock.getFaultHandler(ConditionCode::POSITIVE_ACK_LIMIT_REACHED, fhCode));
|
||||
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
|
||||
CHECK(fhCode == FaultHandlerCode::IGNORE_ERROR);
|
||||
CHECK(fhMock.getFaultHandler(ConditionCode::KEEP_ALIVE_LIMIT_REACHED, fhCode));
|
||||
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
|
||||
CHECK(fhCode == FaultHandlerCode::IGNORE_ERROR);
|
||||
CHECK(fhMock.getFaultHandler(ConditionCode::INVALID_TRANSMISSION_MODE, fhCode));
|
||||
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
|
||||
CHECK(fhCode == FaultHandlerCode::IGNORE_ERROR);
|
||||
CHECK(fhMock.getFaultHandler(ConditionCode::FILESTORE_REJECTION, fhCode));
|
||||
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
|
||||
CHECK(fhCode == FaultHandlerCode::IGNORE_ERROR);
|
||||
CHECK(fhMock.getFaultHandler(ConditionCode::FILE_CHECKSUM_FAILURE, fhCode));
|
||||
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
|
||||
CHECK(fhCode == FaultHandlerCode::IGNORE_ERROR);
|
||||
CHECK(fhMock.getFaultHandler(ConditionCode::FILE_SIZE_ERROR, fhCode));
|
||||
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
|
||||
CHECK(fhCode == FaultHandlerCode::IGNORE_ERROR);
|
||||
CHECK(fhMock.getFaultHandler(ConditionCode::NAK_LIMIT_REACHED, fhCode));
|
||||
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
|
||||
CHECK(fhCode == FaultHandlerCode::IGNORE_ERROR);
|
||||
CHECK(fhMock.getFaultHandler(ConditionCode::INACTIVITY_DETECTED, fhCode));
|
||||
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
|
||||
CHECK(fhCode == FaultHandlerCode::IGNORE_ERROR);
|
||||
CHECK(fhMock.getFaultHandler(ConditionCode::CHECK_LIMIT_REACHED, fhCode));
|
||||
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
|
||||
CHECK(fhCode == FaultHandlerCode::IGNORE_ERROR);
|
||||
}
|
||||
|
||||
SECTION("Call Handler, Ignore Fault") {
|
||||
auto& info = fhMock.getFhInfo(FaultHandlerCodes::IGNORE_ERROR);
|
||||
CHECK(fhMock.reportFault(ConditionCode::CHECK_LIMIT_REACHED));
|
||||
auto& info = fhMock.getFhInfo(FaultHandlerCode::IGNORE_ERROR);
|
||||
CHECK(fhMock.reportFault(id, ConditionCode::CHECK_LIMIT_REACHED));
|
||||
CHECK(info.callCount == 1);
|
||||
CHECK(info.condCodes.back() == ConditionCode::CHECK_LIMIT_REACHED);
|
||||
fhMock.reportFault(ConditionCode::FILE_CHECKSUM_FAILURE);
|
||||
fhMock.reportFault(id, ConditionCode::FILE_CHECKSUM_FAILURE);
|
||||
CHECK(info.callCount == 2);
|
||||
CHECK(info.condCodes.back() == ConditionCode::FILE_CHECKSUM_FAILURE);
|
||||
}
|
||||
|
||||
SECTION("Invalid Reported Code") { CHECK(not fhMock.reportFault(ConditionCode::NO_ERROR)); }
|
||||
SECTION("Invalid Reported Code") { CHECK(not fhMock.reportFault(id, ConditionCode::NO_ERROR)); }
|
||||
|
||||
SECTION("Invalid FH code") {
|
||||
CHECK(not fhMock.setFaultHandler(ConditionCode::KEEP_ALIVE_LIMIT_REACHED,
|
||||
FaultHandlerCodes::RESERVED));
|
||||
FaultHandlerCode::RESERVED));
|
||||
CHECK(fhMock.getFaultHandler(ConditionCode::KEEP_ALIVE_LIMIT_REACHED, fhCode));
|
||||
CHECK(fhCode == FaultHandlerCodes::IGNORE_ERROR);
|
||||
CHECK(not fhMock.setFaultHandler(ConditionCode::NO_ERROR, FaultHandlerCodes::IGNORE_ERROR));
|
||||
CHECK(fhCode == FaultHandlerCode::IGNORE_ERROR);
|
||||
CHECK(not fhMock.setFaultHandler(ConditionCode::NO_ERROR, FaultHandlerCode::IGNORE_ERROR));
|
||||
CHECK(not fhMock.getFaultHandler(ConditionCode::NO_ERROR, fhCode));
|
||||
}
|
||||
|
||||
SECTION("Set Other Fault Handler") {
|
||||
CHECK(fhMock.setFaultHandler(ConditionCode::FILE_CHECKSUM_FAILURE,
|
||||
FaultHandlerCodes::NOTICE_OF_CANCELLATION));
|
||||
FaultHandlerCode::NOTICE_OF_CANCELLATION));
|
||||
CHECK(fhMock.setFaultHandler(ConditionCode::INACTIVITY_DETECTED,
|
||||
FaultHandlerCodes::ABANDON_TRANSACTION));
|
||||
FaultHandlerCode::ABANDON_TRANSACTION));
|
||||
CHECK(fhMock.setFaultHandler(ConditionCode::KEEP_ALIVE_LIMIT_REACHED,
|
||||
FaultHandlerCodes::NOTICE_OF_SUSPENSION));
|
||||
auto& ignoreInfo = fhMock.getFhInfo(FaultHandlerCodes::IGNORE_ERROR);
|
||||
auto& cancellationInfo = fhMock.getFhInfo(FaultHandlerCodes::NOTICE_OF_CANCELLATION);
|
||||
auto& suspensionInfo = fhMock.getFhInfo(FaultHandlerCodes::NOTICE_OF_SUSPENSION);
|
||||
auto& abandonInfo = fhMock.getFhInfo(FaultHandlerCodes::ABANDON_TRANSACTION);
|
||||
FaultHandlerCode::NOTICE_OF_SUSPENSION));
|
||||
auto& ignoreInfo = fhMock.getFhInfo(FaultHandlerCode::IGNORE_ERROR);
|
||||
auto& cancellationInfo = fhMock.getFhInfo(FaultHandlerCode::NOTICE_OF_CANCELLATION);
|
||||
auto& suspensionInfo = fhMock.getFhInfo(FaultHandlerCode::NOTICE_OF_SUSPENSION);
|
||||
auto& abandonInfo = fhMock.getFhInfo(FaultHandlerCode::ABANDON_TRANSACTION);
|
||||
|
||||
CHECK(fhMock.reportFault(ConditionCode::FILE_CHECKSUM_FAILURE));
|
||||
CHECK(fhMock.reportFault(id, ConditionCode::FILE_CHECKSUM_FAILURE));
|
||||
CHECK(cancellationInfo.callCount == 1);
|
||||
CHECK(cancellationInfo.condCodes.back() == ConditionCode::FILE_CHECKSUM_FAILURE);
|
||||
CHECK(ignoreInfo.callCount == 0);
|
||||
CHECK(suspensionInfo.callCount == 0);
|
||||
CHECK(abandonInfo.callCount == 0);
|
||||
|
||||
CHECK(fhMock.reportFault(ConditionCode::INACTIVITY_DETECTED));
|
||||
CHECK(fhMock.reportFault(id, ConditionCode::INACTIVITY_DETECTED));
|
||||
CHECK(cancellationInfo.callCount == 1);
|
||||
CHECK(ignoreInfo.callCount == 0);
|
||||
CHECK(suspensionInfo.callCount == 0);
|
||||
CHECK(abandonInfo.callCount == 1);
|
||||
CHECK(abandonInfo.condCodes.back() == ConditionCode::INACTIVITY_DETECTED);
|
||||
|
||||
CHECK(fhMock.reportFault(ConditionCode::KEEP_ALIVE_LIMIT_REACHED));
|
||||
CHECK(fhMock.reportFault(id, ConditionCode::KEEP_ALIVE_LIMIT_REACHED));
|
||||
CHECK(cancellationInfo.callCount == 1);
|
||||
CHECK(ignoreInfo.callCount == 0);
|
||||
CHECK(suspensionInfo.callCount == 1);
|
||||
|
@ -15,19 +15,19 @@ TEST_CASE("ACK PDU", "[cfdp][pdu]") {
|
||||
auto seqNum = TransactionSeqNum(WidthInBytes::TWO_BYTES, 15);
|
||||
auto sourceId = EntityId(WidthInBytes::TWO_BYTES, 1);
|
||||
auto destId = EntityId(WidthInBytes::TWO_BYTES, 2);
|
||||
auto pduConf = PduConfig(sourceId, destId, TransmissionModes::ACKNOWLEDGED, seqNum);
|
||||
AckInfo ackInfo(FileDirectives::EOF_DIRECTIVE, ConditionCode::NO_ERROR,
|
||||
auto pduConf = PduConfig(sourceId, destId, TransmissionMode::ACKNOWLEDGED, seqNum);
|
||||
AckInfo ackInfo(FileDirective::EOF_DIRECTIVE, ConditionCode::NO_ERROR,
|
||||
AckTransactionStatus::ACTIVE);
|
||||
auto ackSerializer = AckPduCreator(ackInfo, pduConf);
|
||||
result = ackSerializer.serialize(&bufptr, &sz, maxsz, SerializeIF::Endianness::NETWORK);
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
|
||||
SECTION("Serialize") {
|
||||
REQUIRE(buf[sz - 3] == cfdp::FileDirectives::ACK);
|
||||
REQUIRE((buf[sz - 2] >> 4) == FileDirectives::EOF_DIRECTIVE);
|
||||
REQUIRE(buf[sz - 3] == cfdp::FileDirective::ACK);
|
||||
REQUIRE((buf[sz - 2] >> 4) == FileDirective::EOF_DIRECTIVE);
|
||||
REQUIRE((buf[sz - 2] & 0x0f) == 0);
|
||||
REQUIRE(buf[sz - 1] == AckTransactionStatus::ACTIVE);
|
||||
ackInfo.setAckedDirective(FileDirectives::FINISH);
|
||||
ackInfo.setAckedDirective(FileDirective::FINISH);
|
||||
ackInfo.setAckedConditionCode(ConditionCode::FILESTORE_REJECTION);
|
||||
ackInfo.setTransactionStatus(AckTransactionStatus::TERMINATED);
|
||||
auto ackSerializer2 = AckPduCreator(ackInfo, pduConf);
|
||||
@ -35,21 +35,21 @@ TEST_CASE("ACK PDU", "[cfdp][pdu]") {
|
||||
sz = 0;
|
||||
result = ackSerializer2.serialize(&bufptr, &sz, maxsz, SerializeIF::Endianness::NETWORK);
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
REQUIRE(buf[sz - 3] == cfdp::FileDirectives::ACK);
|
||||
REQUIRE((buf[sz - 2] >> 4) == FileDirectives::FINISH);
|
||||
REQUIRE(buf[sz - 3] == cfdp::FileDirective::ACK);
|
||||
REQUIRE((buf[sz - 2] >> 4) == FileDirective::FINISH);
|
||||
REQUIRE((buf[sz - 2] & 0x0f) == 0b0001);
|
||||
REQUIRE((buf[sz - 1] >> 4) == ConditionCode::FILESTORE_REJECTION);
|
||||
REQUIRE((buf[sz - 1] & 0b11) == AckTransactionStatus::TERMINATED);
|
||||
|
||||
bufptr = buf.data();
|
||||
sz = 0;
|
||||
ackInfo.setAckedDirective(FileDirectives::KEEP_ALIVE);
|
||||
ackInfo.setAckedDirective(FileDirective::KEEP_ALIVE);
|
||||
auto ackSerializer3 = AckPduCreator(ackInfo, pduConf);
|
||||
result = ackSerializer3.serialize(&bufptr, &sz, maxsz, SerializeIF::Endianness::NETWORK);
|
||||
// Invalid file directive
|
||||
REQUIRE(result != returnvalue::OK);
|
||||
|
||||
ackInfo.setAckedDirective(FileDirectives::FINISH);
|
||||
ackInfo.setAckedDirective(FileDirective::FINISH);
|
||||
// buffer too small
|
||||
result = ackSerializer.serialize(&bufptr, &sz, 8, SerializeIF::Endianness::NETWORK);
|
||||
REQUIRE(result == SerializeIF::BUFFER_TOO_SHORT);
|
||||
@ -60,12 +60,12 @@ TEST_CASE("ACK PDU", "[cfdp][pdu]") {
|
||||
auto reader = AckPduReader(buf.data(), sz, ackInfo2);
|
||||
result = reader.parseData();
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
REQUIRE(ackInfo2.getAckedDirective() == FileDirectives::EOF_DIRECTIVE);
|
||||
REQUIRE(ackInfo2.getAckedDirective() == FileDirective::EOF_DIRECTIVE);
|
||||
REQUIRE(ackInfo2.getAckedConditionCode() == ConditionCode::NO_ERROR);
|
||||
REQUIRE(ackInfo2.getDirectiveSubtypeCode() == 0);
|
||||
REQUIRE(ackInfo2.getTransactionStatus() == AckTransactionStatus::ACTIVE);
|
||||
|
||||
AckInfo newInfo = AckInfo(FileDirectives::FINISH, ConditionCode::FILESTORE_REJECTION,
|
||||
AckInfo newInfo = AckInfo(FileDirective::FINISH, ConditionCode::FILESTORE_REJECTION,
|
||||
AckTransactionStatus::TERMINATED);
|
||||
auto ackSerializer2 = AckPduCreator(newInfo, pduConf);
|
||||
bufptr = buf.data();
|
||||
@ -76,23 +76,23 @@ TEST_CASE("ACK PDU", "[cfdp][pdu]") {
|
||||
auto reader2 = AckPduReader(buf.data(), sz, ackInfo2);
|
||||
result = reader2.parseData();
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
REQUIRE(ackInfo2.getAckedDirective() == FileDirectives::FINISH);
|
||||
REQUIRE(ackInfo2.getAckedDirective() == FileDirective::FINISH);
|
||||
REQUIRE(ackInfo2.getAckedConditionCode() == ConditionCode::FILESTORE_REJECTION);
|
||||
REQUIRE(ackInfo2.getDirectiveSubtypeCode() == 0b0001);
|
||||
REQUIRE(ackInfo2.getTransactionStatus() == AckTransactionStatus::TERMINATED);
|
||||
|
||||
uint8_t prevVal = buf[sz - 2];
|
||||
buf[sz - 2] = FileDirectives::INVALID_DIRECTIVE << 4;
|
||||
buf[sz - 2] = FileDirective::INVALID_DIRECTIVE << 4;
|
||||
result = reader2.parseData();
|
||||
REQUIRE(result == cfdp::INVALID_ACK_DIRECTIVE_FIELDS);
|
||||
buf[sz - 2] = FileDirectives::FINISH << 4 | 0b1111;
|
||||
buf[sz - 2] = FileDirective::FINISH << 4 | 0b1111;
|
||||
result = reader2.parseData();
|
||||
REQUIRE(result == cfdp::INVALID_ACK_DIRECTIVE_FIELDS);
|
||||
buf[sz - 2] = prevVal;
|
||||
buf[sz - 3] = cfdp::FileDirectives::INVALID_DIRECTIVE;
|
||||
buf[sz - 3] = cfdp::FileDirective::INVALID_DIRECTIVE;
|
||||
result = reader2.parseData();
|
||||
REQUIRE(result == cfdp::INVALID_DIRECTIVE_FIELD);
|
||||
buf[sz - 3] = cfdp::FileDirectives::ACK;
|
||||
buf[sz - 3] = cfdp::FileDirective::ACK;
|
||||
auto maxSizeTooSmall = AckPduReader(buf.data(), sz - 2, ackInfo2);
|
||||
result = maxSizeTooSmall.parseData();
|
||||
REQUIRE(result == SerializeIF::STREAM_TOO_SHORT);
|
||||
|
@ -17,11 +17,11 @@ TEST_CASE("CFDP Header", "[cfdp]") {
|
||||
cfdp::EntityId sourceId = EntityId(cfdp::WidthInBytes::ONE_BYTE, 0);
|
||||
cfdp::EntityId destId = EntityId(cfdp::WidthInBytes::ONE_BYTE, 1);
|
||||
PduConfig pduConf =
|
||||
PduConfig(sourceId, destId, cfdp::TransmissionModes::ACKNOWLEDGED, seqNum, false);
|
||||
PduConfig(sourceId, destId, cfdp::TransmissionMode::ACKNOWLEDGED, seqNum, false);
|
||||
uint8_t* serTarget = serBuf.data();
|
||||
const uint8_t* deserTarget = serTarget;
|
||||
size_t serSize = 0;
|
||||
auto creator = HeaderCreator(pduConf, cfdp::PduTypes::FILE_DIRECTIVE, 0);
|
||||
auto creator = HeaderCreator(pduConf, cfdp::PduType::FILE_DIRECTIVE, 0);
|
||||
|
||||
SECTION("Header State") {
|
||||
REQUIRE(seqNum.getSerializedSize() == 1);
|
||||
@ -33,10 +33,10 @@ TEST_CASE("CFDP Header", "[cfdp]") {
|
||||
REQUIRE(creator.getLargeFileFlag() == false);
|
||||
REQUIRE(creator.getLenEntityIds() == 1);
|
||||
REQUIRE(creator.getLenSeqNum() == 1);
|
||||
REQUIRE(creator.getPduType() == cfdp::PduTypes::FILE_DIRECTIVE);
|
||||
REQUIRE(creator.getPduType() == cfdp::PduType::FILE_DIRECTIVE);
|
||||
REQUIRE(creator.getSegmentMetadataFlag() == cfdp::SegmentMetadataFlag::NOT_PRESENT);
|
||||
REQUIRE(creator.getSegmentationControl() == false);
|
||||
REQUIRE(creator.getTransmissionMode() == cfdp::TransmissionModes::ACKNOWLEDGED);
|
||||
REQUIRE(creator.getTransmissionMode() == cfdp::TransmissionMode::ACKNOWLEDGED);
|
||||
cfdp::TransactionSeqNum seqNumLocal;
|
||||
creator.getTransactionSeqNum(seqNumLocal);
|
||||
REQUIRE(seqNumLocal.getWidth() == cfdp::WidthInBytes::ONE_BYTE);
|
||||
@ -85,9 +85,9 @@ TEST_CASE("CFDP Header", "[cfdp]") {
|
||||
pduConf.crcFlag = true;
|
||||
pduConf.largeFile = true;
|
||||
pduConf.direction = cfdp::Direction::TOWARDS_SENDER;
|
||||
pduConf.mode = cfdp::TransmissionModes::UNACKNOWLEDGED;
|
||||
pduConf.mode = cfdp::TransmissionMode::UNACKNOWLEDGED;
|
||||
creator.setSegmentationControl(cfdp::SegmentationControl::RECORD_BOUNDARIES_PRESERVATION);
|
||||
creator.setPduType(cfdp::PduTypes::FILE_DATA);
|
||||
creator.setPduType(cfdp::PduType::FILE_DATA);
|
||||
creator.setSegmentMetadataFlag(cfdp::SegmentMetadataFlag::PRESENT);
|
||||
serTarget = serBuf.data();
|
||||
serSize = 0;
|
||||
@ -103,9 +103,9 @@ TEST_CASE("CFDP Header", "[cfdp]") {
|
||||
REQUIRE(creator.getLargeFileFlag() == true);
|
||||
REQUIRE(creator.getLenEntityIds() == 1);
|
||||
REQUIRE(creator.getLenSeqNum() == 1);
|
||||
REQUIRE(creator.getPduType() == cfdp::PduTypes::FILE_DATA);
|
||||
REQUIRE(creator.getPduType() == cfdp::PduType::FILE_DATA);
|
||||
REQUIRE(creator.getSegmentMetadataFlag() == cfdp::SegmentMetadataFlag::PRESENT);
|
||||
REQUIRE(creator.getTransmissionMode() == cfdp::TransmissionModes::UNACKNOWLEDGED);
|
||||
REQUIRE(creator.getTransmissionMode() == cfdp::TransmissionMode::UNACKNOWLEDGED);
|
||||
REQUIRE(creator.getSegmentationControl() == true);
|
||||
}
|
||||
|
||||
@ -122,9 +122,9 @@ TEST_CASE("CFDP Header", "[cfdp]") {
|
||||
REQUIRE(creator.getLargeFileFlag() == true);
|
||||
REQUIRE(creator.getLenEntityIds() == 4);
|
||||
REQUIRE(creator.getLenSeqNum() == 2);
|
||||
REQUIRE(creator.getPduType() == cfdp::PduTypes::FILE_DATA);
|
||||
REQUIRE(creator.getPduType() == cfdp::PduType::FILE_DATA);
|
||||
REQUIRE(creator.getSegmentMetadataFlag() == cfdp::SegmentMetadataFlag::PRESENT);
|
||||
REQUIRE(creator.getTransmissionMode() == cfdp::TransmissionModes::UNACKNOWLEDGED);
|
||||
REQUIRE(creator.getTransmissionMode() == cfdp::TransmissionMode::UNACKNOWLEDGED);
|
||||
REQUIRE(creator.getSegmentationControl() == true);
|
||||
// Last three bits are 2 now (length of seq number) and bit 1 to bit 3 is 4 (len entity IDs)
|
||||
REQUIRE(serBuf[3] == 0b11001010);
|
||||
@ -235,10 +235,10 @@ TEST_CASE("CFDP Header", "[cfdp]") {
|
||||
REQUIRE(reader.getLargeFileFlag() == false);
|
||||
REQUIRE(reader.getLenEntityIds() == 1);
|
||||
REQUIRE(reader.getLenSeqNum() == 1);
|
||||
REQUIRE(reader.getPduType() == cfdp::PduTypes::FILE_DIRECTIVE);
|
||||
REQUIRE(reader.getPduType() == cfdp::PduType::FILE_DIRECTIVE);
|
||||
REQUIRE(reader.getSegmentMetadataFlag() == cfdp::SegmentMetadataFlag::NOT_PRESENT);
|
||||
REQUIRE(reader.getSegmentationControl() == false);
|
||||
REQUIRE(reader.getTransmissionMode() == cfdp::TransmissionModes::ACKNOWLEDGED);
|
||||
REQUIRE(reader.getTransmissionMode() == cfdp::TransmissionMode::ACKNOWLEDGED);
|
||||
// No PDU data contained, so the PDU data field is empty
|
||||
REQUIRE(reader.getPduDataField() == nullptr);
|
||||
|
||||
@ -253,9 +253,9 @@ TEST_CASE("CFDP Header", "[cfdp]") {
|
||||
pduConf.crcFlag = true;
|
||||
pduConf.largeFile = true;
|
||||
pduConf.direction = cfdp::Direction::TOWARDS_SENDER;
|
||||
pduConf.mode = cfdp::TransmissionModes::UNACKNOWLEDGED;
|
||||
pduConf.mode = cfdp::TransmissionMode::UNACKNOWLEDGED;
|
||||
creator.setSegmentationControl(cfdp::SegmentationControl::RECORD_BOUNDARIES_PRESERVATION);
|
||||
creator.setPduType(cfdp::PduTypes::FILE_DATA);
|
||||
creator.setPduType(cfdp::PduType::FILE_DATA);
|
||||
creator.setSegmentMetadataFlag(cfdp::SegmentMetadataFlag::PRESENT);
|
||||
result = pduConf.seqNum.setValue(cfdp::WidthInBytes::TWO_BYTES, 0x0fff);
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
@ -278,10 +278,10 @@ TEST_CASE("CFDP Header", "[cfdp]") {
|
||||
REQUIRE(reader.getLargeFileFlag() == true);
|
||||
REQUIRE(reader.getLenEntityIds() == 4);
|
||||
REQUIRE(reader.getLenSeqNum() == 2);
|
||||
REQUIRE(reader.getPduType() == cfdp::PduTypes::FILE_DATA);
|
||||
REQUIRE(reader.getPduType() == cfdp::PduType::FILE_DATA);
|
||||
REQUIRE(reader.getSegmentMetadataFlag() == cfdp::SegmentMetadataFlag::PRESENT);
|
||||
REQUIRE(reader.getSegmentationControl() == true);
|
||||
REQUIRE(reader.getTransmissionMode() == cfdp::TransmissionModes::UNACKNOWLEDGED);
|
||||
REQUIRE(reader.getTransmissionMode() == cfdp::TransmissionMode::UNACKNOWLEDGED);
|
||||
// Again, no data field set because this is a header only
|
||||
REQUIRE(reader.getPduDataField() == nullptr);
|
||||
|
||||
|
@ -20,7 +20,7 @@ TEST_CASE("EOF PDU", "[cfdp][pdu]") {
|
||||
TransactionSeqNum seqNum(WidthInBytes::TWO_BYTES, 15);
|
||||
EntityId sourceId(WidthInBytes::TWO_BYTES, 1);
|
||||
|
||||
PduConfig pduConf(sourceId, destId, TransmissionModes::ACKNOWLEDGED, seqNum);
|
||||
PduConfig pduConf(sourceId, destId, TransmissionMode::ACKNOWLEDGED, seqNum);
|
||||
|
||||
auto eofSerializer = EofPduCreator(pduConf, eofInfo);
|
||||
SECTION("Serialize") {
|
||||
@ -37,7 +37,7 @@ TEST_CASE("EOF PDU", "[cfdp][pdu]") {
|
||||
SerializeIF::Endianness::NETWORK);
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
REQUIRE(fileSizeVal == 12);
|
||||
REQUIRE(buf[sz - 10] == cfdp::FileDirectives::EOF_DIRECTIVE);
|
||||
REQUIRE(buf[sz - 10] == cfdp::FileDirective::EOF_DIRECTIVE);
|
||||
REQUIRE(buf[sz - 9] == 0x00);
|
||||
REQUIRE(sz == 20);
|
||||
|
||||
@ -52,13 +52,13 @@ TEST_CASE("EOF PDU", "[cfdp][pdu]") {
|
||||
SerializeIF::Endianness::NETWORK);
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
REQUIRE(sz == 28);
|
||||
REQUIRE(buf[10] == cfdp::FileDirectives::EOF_DIRECTIVE);
|
||||
REQUIRE(buf[10] == cfdp::FileDirective::EOF_DIRECTIVE);
|
||||
REQUIRE(buf[11] >> 4 == cfdp::ConditionCode::FILESTORE_REJECTION);
|
||||
uint64_t fileSizeLarge = 0;
|
||||
result = SerializeAdapter::deSerialize(&fileSizeLarge, buf.data() + 16, nullptr,
|
||||
SerializeIF::Endianness::NETWORK);
|
||||
REQUIRE(fileSizeLarge == 0x10ffffff10);
|
||||
REQUIRE(buf[sz - 4] == cfdp::TlvTypes::ENTITY_ID);
|
||||
REQUIRE(buf[sz - 4] == cfdp::TlvType::ENTITY_ID);
|
||||
// width of entity ID is 2
|
||||
REQUIRE(buf[sz - 3] == 2);
|
||||
uint16_t entityIdRaw = 0;
|
||||
@ -105,7 +105,7 @@ TEST_CASE("EOF PDU", "[cfdp][pdu]") {
|
||||
REQUIRE(emptyInfo.getConditionCode() == cfdp::ConditionCode::FILESTORE_REJECTION);
|
||||
REQUIRE(emptyInfo.getChecksum() == 5);
|
||||
REQUIRE(emptyInfo.getFileSize().getSize() == 0x10ffffff10);
|
||||
REQUIRE(emptyInfo.getFaultLoc()->getType() == cfdp::TlvTypes::ENTITY_ID);
|
||||
REQUIRE(emptyInfo.getFaultLoc()->getType() == cfdp::TlvType::ENTITY_ID);
|
||||
REQUIRE(emptyInfo.getFaultLoc()->getSerializedSize() == 4);
|
||||
uint16_t destId = emptyInfo.getFaultLoc()->getEntityId().getValue();
|
||||
REQUIRE(destId == 2);
|
||||
|
@ -17,7 +17,7 @@ TEST_CASE("File Data PDU", "[cfdp][pdu]") {
|
||||
EntityId destId(WidthInBytes::TWO_BYTES, 2);
|
||||
TransactionSeqNum seqNum(WidthInBytes::TWO_BYTES, 15);
|
||||
EntityId sourceId(WidthInBytes::TWO_BYTES, 1);
|
||||
PduConfig pduConf(sourceId, destId, TransmissionModes::ACKNOWLEDGED, seqNum);
|
||||
PduConfig pduConf(sourceId, destId, TransmissionMode::ACKNOWLEDGED, seqNum);
|
||||
|
||||
for (uint8_t idx = 0; idx < 10; idx++) {
|
||||
fileBuffer[idx] = idx;
|
||||
|
@ -12,11 +12,11 @@ TEST_CASE("CFDP File Directive", "[cfdp][pdu]") {
|
||||
cfdp::EntityId sourceId = EntityId(cfdp::WidthInBytes::ONE_BYTE, 0);
|
||||
cfdp::EntityId destId = EntityId(cfdp::WidthInBytes::ONE_BYTE, 1);
|
||||
PduConfig pduConf =
|
||||
PduConfig(sourceId, destId, cfdp::TransmissionModes::ACKNOWLEDGED, seqNum, false);
|
||||
PduConfig(sourceId, destId, cfdp::TransmissionMode::ACKNOWLEDGED, seqNum, false);
|
||||
uint8_t* serTarget = serBuf.data();
|
||||
const uint8_t* deserTarget = serTarget;
|
||||
size_t serSize = 0;
|
||||
auto fdSer = FileDirectiveCreator(pduConf, FileDirectives::ACK, 4);
|
||||
auto fdSer = FileDirectiveCreator(pduConf, FileDirective::ACK, 4);
|
||||
|
||||
SECTION("Serialization") {
|
||||
REQUIRE(fdSer.getSerializedSize() == 8);
|
||||
@ -37,7 +37,7 @@ TEST_CASE("CFDP File Directive", "[cfdp][pdu]") {
|
||||
REQUIRE(serBuf[5] == 2);
|
||||
// Dest ID
|
||||
REQUIRE(serBuf[6] == 1);
|
||||
REQUIRE(serBuf[7] == FileDirectives::ACK);
|
||||
REQUIRE(serBuf[7] == FileDirective::ACK);
|
||||
}
|
||||
|
||||
SECTION("Serialization fails") {
|
||||
@ -73,10 +73,10 @@ TEST_CASE("CFDP File Directive", "[cfdp][pdu]") {
|
||||
REQUIRE(fdDeser.parseData() == returnvalue::OK);
|
||||
REQUIRE(not fdDeser.isNull());
|
||||
REQUIRE(fdDeser);
|
||||
REQUIRE(fdDeser.getFileDirective() == FileDirectives::ACK);
|
||||
REQUIRE(fdDeser.getFileDirective() == FileDirective::ACK);
|
||||
REQUIRE(fdDeser.getPduDataFieldLen() == 5);
|
||||
REQUIRE(fdDeser.getHeaderSize() == 8);
|
||||
REQUIRE(fdDeser.getPduType() == cfdp::PduTypes::FILE_DIRECTIVE);
|
||||
REQUIRE(fdDeser.getPduType() == cfdp::PduType::FILE_DIRECTIVE);
|
||||
|
||||
serBuf[7] = 0xff;
|
||||
// Invalid file directive
|
||||
|
@ -14,7 +14,7 @@ TEST_CASE("Finished PDU", "[cfdp][pdu]") {
|
||||
EntityId destId(WidthInBytes::TWO_BYTES, 2);
|
||||
TransactionSeqNum seqNum(WidthInBytes::TWO_BYTES, 15);
|
||||
EntityId sourceId(WidthInBytes::TWO_BYTES, 1);
|
||||
PduConfig pduConf(sourceId, destId, TransmissionModes::ACKNOWLEDGED, seqNum);
|
||||
PduConfig pduConf(sourceId, destId, TransmissionMode::ACKNOWLEDGED, seqNum);
|
||||
|
||||
cfdp::Lv emptyFsMsg;
|
||||
FinishedInfo info(cfdp::ConditionCode::INACTIVITY_DETECTED,
|
||||
@ -27,7 +27,7 @@ TEST_CASE("Finished PDU", "[cfdp][pdu]") {
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
REQUIRE(serializer.getSerializedSize() == 12);
|
||||
REQUIRE(((fnBuffer[1] << 8) | fnBuffer[2]) == 2);
|
||||
REQUIRE(fnBuffer[10] == cfdp::FileDirectives::FINISH);
|
||||
REQUIRE(fnBuffer[10] == cfdp::FileDirective::FINISH);
|
||||
REQUIRE(((fnBuffer[sz - 1] >> 4) & 0x0f) == cfdp::ConditionCode::INACTIVITY_DETECTED);
|
||||
REQUIRE(((fnBuffer[sz - 1] >> 2) & 0x01) == cfdp::FileDeliveryCode::DATA_INCOMPLETE);
|
||||
REQUIRE((fnBuffer[sz - 1] & 0b11) == cfdp::FileDeliveryStatus::DISCARDED_DELIBERATELY);
|
||||
@ -176,7 +176,7 @@ TEST_CASE("Finished PDU", "[cfdp][pdu]") {
|
||||
|
||||
fnBuffer[11] = tmp;
|
||||
// Invalid TLV type, should be entity ID
|
||||
fnBuffer[sz - 4] = cfdp::TlvTypes::FILESTORE_REQUEST;
|
||||
fnBuffer[sz - 4] = cfdp::TlvType::FILESTORE_REQUEST;
|
||||
result = deserializer3.parseData();
|
||||
REQUIRE(result == cfdp::INVALID_TLV_TYPE);
|
||||
|
||||
|
@ -14,7 +14,7 @@ TEST_CASE("Keep Alive PDU", "[cfdp][pdu]") {
|
||||
EntityId destId(WidthInBytes::TWO_BYTES, 2);
|
||||
TransactionSeqNum seqNum(WidthInBytes::TWO_BYTES, 15);
|
||||
EntityId sourceId(WidthInBytes::TWO_BYTES, 1);
|
||||
PduConfig pduConf(sourceId, destId, TransmissionModes::ACKNOWLEDGED, seqNum);
|
||||
PduConfig pduConf(sourceId, destId, TransmissionMode::ACKNOWLEDGED, seqNum);
|
||||
|
||||
FileSize progress(0x50);
|
||||
|
||||
@ -22,7 +22,7 @@ TEST_CASE("Keep Alive PDU", "[cfdp][pdu]") {
|
||||
KeepAlivePduCreator serializer(pduConf, progress);
|
||||
result = serializer.serialize(&buffer, &sz, kaBuffer.size(), SerializeIF::Endianness::NETWORK);
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
REQUIRE(kaBuffer[10] == cfdp::FileDirectives::KEEP_ALIVE);
|
||||
REQUIRE(kaBuffer[10] == cfdp::FileDirective::KEEP_ALIVE);
|
||||
uint32_t fsRaw = 0;
|
||||
result = SerializeAdapter::deSerialize(&fsRaw, kaBuffer.data() + 11, nullptr,
|
||||
SerializeIF::Endianness::NETWORK);
|
||||
|
@ -17,13 +17,13 @@ TEST_CASE("Metadata PDU", "[cfdp][pdu]") {
|
||||
EntityId destId(WidthInBytes::TWO_BYTES, 2);
|
||||
TransactionSeqNum seqNum(WidthInBytes::TWO_BYTES, 15);
|
||||
EntityId sourceId(WidthInBytes::TWO_BYTES, 1);
|
||||
PduConfig pduConf(sourceId, destId, TransmissionModes::ACKNOWLEDGED, seqNum);
|
||||
PduConfig pduConf(sourceId, destId, TransmissionMode::ACKNOWLEDGED, seqNum);
|
||||
|
||||
std::string firstFileName = "hello.txt";
|
||||
cfdp::StringLv sourceFileName(firstFileName);
|
||||
cfdp::StringLv destFileName;
|
||||
FileSize fileSize(35);
|
||||
MetadataInfo info(false, ChecksumTypes::MODULAR, fileSize, sourceFileName, destFileName);
|
||||
MetadataInfo info(false, ChecksumType::MODULAR, fileSize, sourceFileName, destFileName);
|
||||
|
||||
FilestoreResponseTlv response(FilestoreActionCode::CREATE_DIRECTORY, FSR_CREATE_NOT_ALLOWED,
|
||||
sourceFileName, nullptr);
|
||||
@ -46,7 +46,7 @@ TEST_CASE("Metadata PDU", "[cfdp][pdu]") {
|
||||
REQUIRE(info.getDestFileName().getSerializedSize() == 1);
|
||||
REQUIRE(info.getSerializedSize() == 16);
|
||||
REQUIRE((mdBuffer[1] << 8 | mdBuffer[2]) == 17);
|
||||
REQUIRE(mdBuffer[10] == FileDirectives::METADATA);
|
||||
REQUIRE(mdBuffer[10] == FileDirective::METADATA);
|
||||
// no closure requested and checksum type is modular => 0x00
|
||||
REQUIRE(mdBuffer[11] == 0x00);
|
||||
uint32_t fileSizeRaw = 0;
|
||||
@ -74,7 +74,7 @@ TEST_CASE("Metadata PDU", "[cfdp][pdu]") {
|
||||
REQUIRE(info.getMaxOptionsLen() == 2);
|
||||
info.setMaxOptionsLen(3);
|
||||
REQUIRE(info.getMaxOptionsLen() == 3);
|
||||
info.setChecksumType(cfdp::ChecksumTypes::CRC_32C);
|
||||
info.setChecksumType(cfdp::ChecksumType::CRC_32C);
|
||||
info.setClosureRequested(true);
|
||||
uint8_t* buffer = mdBuffer.data();
|
||||
size_t sz = 0;
|
||||
@ -83,8 +83,8 @@ TEST_CASE("Metadata PDU", "[cfdp][pdu]") {
|
||||
result = serializer.serialize(&buffer, &sz, mdBuffer.size(), SerializeIF::Endianness::NETWORK);
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
REQUIRE((mdBuffer[1] << 8 | mdBuffer[2]) == 37);
|
||||
auto checksumType = static_cast<cfdp::ChecksumTypes>(mdBuffer[11] & 0x0f);
|
||||
REQUIRE(checksumType == cfdp::ChecksumTypes::CRC_32C);
|
||||
auto checksumType = static_cast<cfdp::ChecksumType>(mdBuffer[11] & 0x0f);
|
||||
REQUIRE(checksumType == cfdp::ChecksumType::CRC_32C);
|
||||
bool closureRequested = mdBuffer[11] >> 6 & 0x01;
|
||||
REQUIRE(closureRequested == true);
|
||||
// The size of the two options is 19. Summing up:
|
||||
@ -130,7 +130,7 @@ TEST_CASE("Metadata PDU", "[cfdp][pdu]") {
|
||||
size_t maxSize = 4;
|
||||
info.setOptionsArray(options.data(), sizeOfOptions, maxSize);
|
||||
REQUIRE(info.getOptionsLen() == 2);
|
||||
info.setChecksumType(cfdp::ChecksumTypes::CRC_32C);
|
||||
info.setChecksumType(cfdp::ChecksumType::CRC_32C);
|
||||
info.setClosureRequested(true);
|
||||
uint8_t* buffer = mdBuffer.data();
|
||||
size_t sz = 0;
|
||||
@ -143,9 +143,9 @@ TEST_CASE("Metadata PDU", "[cfdp][pdu]") {
|
||||
MetadataPduReader deserializer2(mdBuffer.data(), mdBuffer.size(), info);
|
||||
result = deserializer2.parseData();
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
REQUIRE(options[0]->getType() == cfdp::TlvTypes::FILESTORE_RESPONSE);
|
||||
REQUIRE(options[0]->getType() == cfdp::TlvType::FILESTORE_RESPONSE);
|
||||
REQUIRE(options[0]->getSerializedSize() == 14);
|
||||
REQUIRE(options[1]->getType() == cfdp::TlvTypes::MSG_TO_USER);
|
||||
REQUIRE(options[1]->getType() == cfdp::TlvType::MSG_TO_USER);
|
||||
REQUIRE(options[1]->getSerializedSize() == 5);
|
||||
|
||||
for (size_t invalidFieldLen = 0; invalidFieldLen < 36; invalidFieldLen++) {
|
||||
|
@ -15,7 +15,7 @@ TEST_CASE("NAK PDU", "[cfdp][pdu]") {
|
||||
EntityId destId(WidthInBytes::TWO_BYTES, 2);
|
||||
TransactionSeqNum seqNum(WidthInBytes::TWO_BYTES, 15);
|
||||
EntityId sourceId(WidthInBytes::TWO_BYTES, 1);
|
||||
PduConfig pduConf(sourceId, destId, TransmissionModes::ACKNOWLEDGED, seqNum);
|
||||
PduConfig pduConf(sourceId, destId, TransmissionMode::ACKNOWLEDGED, seqNum);
|
||||
|
||||
FileSize startOfScope(50);
|
||||
FileSize endOfScope(1050);
|
||||
@ -29,7 +29,7 @@ TEST_CASE("NAK PDU", "[cfdp][pdu]") {
|
||||
REQUIRE(sz == 19);
|
||||
REQUIRE(serializer.getPduDataFieldLen() == 9);
|
||||
REQUIRE(((nakBuffer[1] << 8) | nakBuffer[2]) == 0x09);
|
||||
REQUIRE(nakBuffer[10] == cfdp::FileDirectives::NAK);
|
||||
REQUIRE(nakBuffer[10] == cfdp::FileDirective::NAK);
|
||||
uint32_t scope = 0;
|
||||
result = SerializeAdapter::deSerialize(&scope, nakBuffer.data() + 11, nullptr,
|
||||
SerializeIF::Endianness::NETWORK);
|
||||
|
@ -14,7 +14,7 @@ TEST_CASE("Prompt PDU", "[cfdp][pdu]") {
|
||||
EntityId destId(WidthInBytes::TWO_BYTES, 2);
|
||||
TransactionSeqNum seqNum(WidthInBytes::TWO_BYTES, 15);
|
||||
EntityId sourceId(WidthInBytes::TWO_BYTES, 1);
|
||||
PduConfig pduConf(sourceId, destId, TransmissionModes::ACKNOWLEDGED, seqNum);
|
||||
PduConfig pduConf(sourceId, destId, TransmissionMode::ACKNOWLEDGED, seqNum);
|
||||
|
||||
SECTION("Serialize") {
|
||||
PromptPduCreator serializer(pduConf, cfdp::PromptResponseRequired::PROMPT_KEEP_ALIVE);
|
||||
@ -23,7 +23,7 @@ TEST_CASE("Prompt PDU", "[cfdp][pdu]") {
|
||||
REQUIRE(serializer.getWholePduSize() == 12);
|
||||
REQUIRE(sz == 12);
|
||||
REQUIRE(serializer.getPduDataFieldLen() == 2);
|
||||
REQUIRE(rawBuf[10] == FileDirectives::PROMPT);
|
||||
REQUIRE(rawBuf[10] == FileDirective::PROMPT);
|
||||
REQUIRE(((rawBuf[sz - 1] >> 7) & 0x01) == cfdp::PromptResponseRequired::PROMPT_KEEP_ALIVE);
|
||||
|
||||
for (size_t invalidMaxSz = 0; invalidMaxSz < sz; invalidMaxSz++) {
|
||||
|
@ -16,13 +16,13 @@ TEST_CASE("CFDP Base", "[cfdp]") {
|
||||
cfdp::EntityId sourceId = EntityId(cfdp::WidthInBytes::ONE_BYTE, 0);
|
||||
cfdp::EntityId destId = EntityId(cfdp::WidthInBytes::ONE_BYTE, 1);
|
||||
PduConfig pduConf =
|
||||
PduConfig(sourceId, destId, cfdp::TransmissionModes::ACKNOWLEDGED, seqNum, false);
|
||||
PduConfig(sourceId, destId, cfdp::TransmissionMode::ACKNOWLEDGED, seqNum, false);
|
||||
uint8_t* serTarget = serBuf.data();
|
||||
const uint8_t* deserTarget = serTarget;
|
||||
size_t serSize = 0;
|
||||
|
||||
SECTION("File Directive") {
|
||||
auto fdSer = FileDirectiveCreator(pduConf, FileDirectives::ACK, 4);
|
||||
auto fdSer = FileDirectiveCreator(pduConf, FileDirective::ACK, 4);
|
||||
REQUIRE(fdSer.getSerializedSize() == 8);
|
||||
serTarget = serBuf.data();
|
||||
serSize = 0;
|
||||
@ -41,7 +41,7 @@ TEST_CASE("CFDP Base", "[cfdp]") {
|
||||
REQUIRE(serBuf[5] == 2);
|
||||
// Dest ID
|
||||
REQUIRE(serBuf[6] == 1);
|
||||
REQUIRE(serBuf[7] == FileDirectives::ACK);
|
||||
REQUIRE(serBuf[7] == FileDirective::ACK);
|
||||
|
||||
serTarget = serBuf.data();
|
||||
size_t deserSize = 20;
|
||||
@ -65,10 +65,10 @@ TEST_CASE("CFDP Base", "[cfdp]") {
|
||||
REQUIRE(fdDeser.getEndianness() == SerializeIF::Endianness::MACHINE);
|
||||
fdDeser.setEndianness(SerializeIF::Endianness::NETWORK);
|
||||
REQUIRE(fdDeser.parseData() == returnvalue::OK);
|
||||
REQUIRE(fdDeser.getFileDirective() == FileDirectives::ACK);
|
||||
REQUIRE(fdDeser.getFileDirective() == FileDirective::ACK);
|
||||
REQUIRE(fdDeser.getPduDataFieldLen() == 5);
|
||||
REQUIRE(fdDeser.getHeaderSize() == 8);
|
||||
REQUIRE(fdDeser.getPduType() == cfdp::PduTypes::FILE_DIRECTIVE);
|
||||
REQUIRE(fdDeser.getPduType() == cfdp::PduType::FILE_DIRECTIVE);
|
||||
|
||||
serBuf[7] = 0xff;
|
||||
// Invalid file directive
|
||||
|
@ -41,7 +41,7 @@ TEST_CASE("CFDP Other TLVs", "[cfdp][tlv]") {
|
||||
result = response.convertToTlv(rawResponse, serBuf.data(), serBuf.size(),
|
||||
SerializeIF::Endianness::NETWORK);
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
REQUIRE(rawResponse.getType() == cfdp::TlvTypes::FILESTORE_RESPONSE);
|
||||
REQUIRE(rawResponse.getType() == cfdp::TlvType::FILESTORE_RESPONSE);
|
||||
cfdp::StringLv emptyMsg;
|
||||
cfdp::StringLv emptySecondName;
|
||||
FilestoreResponseTlv emptyTlv(firstName, &emptyMsg);
|
||||
@ -96,12 +96,12 @@ TEST_CASE("CFDP Other TLVs", "[cfdp][tlv]") {
|
||||
result = request.convertToTlv(rawRequest, serBuf.data(), serBuf.size(),
|
||||
SerializeIF::Endianness::NETWORK);
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
REQUIRE(rawRequest.getType() == cfdp::TlvTypes::FILESTORE_REQUEST);
|
||||
REQUIRE(rawRequest.getType() == cfdp::TlvType::FILESTORE_REQUEST);
|
||||
|
||||
emptyRequest.setActionCode(cfdp::FilestoreActionCode::DELETE_FILE);
|
||||
result = emptyRequest.deSerialize(rawRequest, SerializeIF::Endianness::NETWORK);
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
REQUIRE(emptyRequest.getType() == cfdp::TlvTypes::FILESTORE_REQUEST);
|
||||
REQUIRE(emptyRequest.getType() == cfdp::TlvType::FILESTORE_REQUEST);
|
||||
REQUIRE(emptyRequest.getActionCode() == cfdp::FilestoreActionCode::APPEND_FILE);
|
||||
}
|
||||
|
||||
@ -111,7 +111,7 @@ TEST_CASE("CFDP Other TLVs", "[cfdp][tlv]") {
|
||||
FlowLabelTlv flowLabelTlv(&flowLabel, 1);
|
||||
|
||||
FaultHandlerOverrideTlv faultOverrideTlv(cfdp::ConditionCode::FILESTORE_REJECTION,
|
||||
cfdp::FaultHandlerCodes::NOTICE_OF_CANCELLATION);
|
||||
cfdp::FaultHandlerCode::NOTICE_OF_CANCELLATION);
|
||||
size_t sz = 0;
|
||||
result =
|
||||
faultOverrideTlv.serialize(&serPtr, &sz, rawBuf.size(), SerializeIF::Endianness::NETWORK);
|
||||
@ -128,7 +128,7 @@ TEST_CASE("CFDP Other TLVs", "[cfdp][tlv]") {
|
||||
EntityIdTlv idTlv(emptyId);
|
||||
serPtr = rawBuf.data();
|
||||
result = idTlv.serialize(&serPtr, &deserSize, rawBuf.size(), SerializeIF::Endianness::NETWORK);
|
||||
cfdp::Tlv rawTlv(cfdp::TlvTypes::ENTITY_ID, rawBuf.data() + 2, 2);
|
||||
cfdp::Tlv rawTlv(cfdp::TlvType::ENTITY_ID, rawBuf.data() + 2, 2);
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
deserPtr = rawBuf.data();
|
||||
result = idTlv.deSerialize(rawTlv, SerializeIF::Endianness::NETWORK);
|
||||
|
@ -22,14 +22,14 @@ TEST_CASE("CFDP TLV", "[cfdp][tlv]") {
|
||||
SECTION("TLV Serialization") {
|
||||
std::array<uint8_t, 8> tlvBuf{};
|
||||
REQUIRE(sourceId.serializeBe(tlvBuf.data(), deserSize, tlvBuf.size()) == returnvalue::OK);
|
||||
auto tlv = Tlv(TlvTypes::ENTITY_ID, tlvBuf.data(), deserSize);
|
||||
auto tlv = Tlv(TlvType::ENTITY_ID, tlvBuf.data(), deserSize);
|
||||
REQUIRE(tlv.getSerializedSize() == 4);
|
||||
REQUIRE(tlv.getLengthField() == 2);
|
||||
deserSize = 0;
|
||||
REQUIRE(tlv.serialize(&serPtr, &deserSize, rawBuf.size(), SerializeIF::Endianness::NETWORK) ==
|
||||
returnvalue::OK);
|
||||
REQUIRE(deserSize == 4);
|
||||
REQUIRE(rawBuf[0] == TlvTypes::ENTITY_ID);
|
||||
REQUIRE(rawBuf[0] == TlvType::ENTITY_ID);
|
||||
REQUIRE(rawBuf[1] == 2);
|
||||
uint16_t entityId = 0;
|
||||
REQUIRE(SerializeAdapter::deSerialize(&entityId, rawBuf.data() + 2, &deserSize,
|
||||
@ -38,7 +38,7 @@ TEST_CASE("CFDP TLV", "[cfdp][tlv]") {
|
||||
}
|
||||
|
||||
SECTION("TLV Other Value") {
|
||||
auto tlv = Tlv(TlvTypes::ENTITY_ID, rawBuf.data(), deserSize);
|
||||
auto tlv = Tlv(TlvType::ENTITY_ID, rawBuf.data(), deserSize);
|
||||
// Set new value
|
||||
sourceId.setValue(cfdp::WidthInBytes::FOUR_BYTES, 12);
|
||||
REQUIRE(sourceId.serialize(&serPtr, &deserSize, rawBuf.size(),
|
||||
@ -48,17 +48,17 @@ TEST_CASE("CFDP TLV", "[cfdp][tlv]") {
|
||||
deserSize = 0;
|
||||
result = tlv.serialize(&serPtr, &deserSize, rawBuf.size(), SerializeIF::Endianness::NETWORK);
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
REQUIRE(rawBuf[0] == TlvTypes::ENTITY_ID);
|
||||
REQUIRE(rawBuf[0] == TlvType::ENTITY_ID);
|
||||
REQUIRE(rawBuf[1] == 4);
|
||||
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
}
|
||||
|
||||
SECTION("TLV Invalid") {
|
||||
auto tlvInvalid = Tlv(cfdp::TlvTypes::INVALID_TLV, rawBuf.data(), 0);
|
||||
auto tlvInvalid = Tlv(cfdp::TlvType::INVALID_TLV, rawBuf.data(), 0);
|
||||
REQUIRE(tlvInvalid.serialize(&serPtr, &deserSize, rawBuf.size(),
|
||||
SerializeIF::Endianness::NETWORK) != returnvalue::OK);
|
||||
tlvInvalid = Tlv(cfdp::TlvTypes::ENTITY_ID, nullptr, 3);
|
||||
tlvInvalid = Tlv(cfdp::TlvType::ENTITY_ID, nullptr, 3);
|
||||
REQUIRE(tlvInvalid.serialize(&serPtr, &deserSize, rawBuf.size(),
|
||||
SerializeIF::Endianness::NETWORK) != returnvalue::OK);
|
||||
REQUIRE(tlvInvalid.serialize(&serPtr, &deserSize, 0, SerializeIF::Endianness::NETWORK) !=
|
||||
@ -69,13 +69,13 @@ TEST_CASE("CFDP TLV", "[cfdp][tlv]") {
|
||||
}
|
||||
|
||||
SECTION("TLV Zero Length Field") {
|
||||
Tlv zeroLenField(TlvTypes::FAULT_HANDLER, nullptr, 0);
|
||||
Tlv zeroLenField(TlvType::FAULT_HANDLER, nullptr, 0);
|
||||
REQUIRE(zeroLenField.getSerializedSize() == 2);
|
||||
serPtr = rawBuf.data();
|
||||
deserSize = 0;
|
||||
REQUIRE(zeroLenField.serialize(&serPtr, &deserSize, rawBuf.size(),
|
||||
SerializeIF::Endianness::NETWORK) == returnvalue::OK);
|
||||
REQUIRE(rawBuf[0] == TlvTypes::FAULT_HANDLER);
|
||||
REQUIRE(rawBuf[0] == TlvType::FAULT_HANDLER);
|
||||
REQUIRE(rawBuf[1] == 0);
|
||||
}
|
||||
|
||||
@ -85,7 +85,7 @@ TEST_CASE("CFDP TLV", "[cfdp][tlv]") {
|
||||
serPtr = tlvRawBuf.data();
|
||||
result =
|
||||
sourceId.serialize(&serPtr, &deserSize, tlvRawBuf.size(), SerializeIF::Endianness::NETWORK);
|
||||
auto tlvSerialization = Tlv(TlvTypes::ENTITY_ID, tlvRawBuf.data(), deserSize);
|
||||
auto tlvSerialization = Tlv(TlvType::ENTITY_ID, tlvRawBuf.data(), deserSize);
|
||||
serPtr = rawBuf.data();
|
||||
deserSize = 0;
|
||||
result = tlvSerialization.serialize(&serPtr, &deserSize, rawBuf.size(),
|
||||
@ -95,7 +95,7 @@ TEST_CASE("CFDP TLV", "[cfdp][tlv]") {
|
||||
result = tlv.deSerialize(&deserPtr, &deserSize, SerializeIF::Endianness::NETWORK);
|
||||
REQUIRE(result == returnvalue::OK);
|
||||
REQUIRE(tlv.getSerializedSize() == 4);
|
||||
REQUIRE(tlv.getType() == TlvTypes::ENTITY_ID);
|
||||
REQUIRE(tlv.getType() == TlvType::ENTITY_ID);
|
||||
deserPtr = tlv.getValue();
|
||||
uint16_t entityId = 0;
|
||||
deserSize = 0;
|
||||
@ -109,12 +109,12 @@ TEST_CASE("CFDP TLV", "[cfdp][tlv]") {
|
||||
REQUIRE(tlv.deSerialize(&deserPtr, &deserSize, SerializeIF::Endianness::NETWORK) ==
|
||||
SerializeIF::STREAM_TOO_SHORT);
|
||||
// Set invalid TLV
|
||||
rawBuf[0] = TlvTypes::INVALID_TLV;
|
||||
rawBuf[0] = TlvType::INVALID_TLV;
|
||||
deserSize = 4;
|
||||
REQUIRE(tlv.deSerialize(&deserPtr, &deserSize, SerializeIF::Endianness::NETWORK) !=
|
||||
returnvalue::OK);
|
||||
|
||||
Tlv zeroLenField(TlvTypes::FAULT_HANDLER, nullptr, 0);
|
||||
Tlv zeroLenField(TlvType::FAULT_HANDLER, nullptr, 0);
|
||||
serPtr = rawBuf.data();
|
||||
deserSize = 0;
|
||||
REQUIRE(zeroLenField.serialize(&serPtr, &deserSize, rawBuf.size(),
|
||||
|
Reference in New Issue
Block a user