fix unittests

This commit is contained in:
Robin Müller 2022-08-15 19:16:31 +02:00
parent d7ec04bf4b
commit 9e064fe800
No known key found for this signature in database
GPG Key ID: 71B58F8A3CDFA9AC
16 changed files with 73 additions and 79 deletions

View File

@ -79,6 +79,9 @@ struct PacketId : public SerializeIF {
ccsds::PacketType packetType = ccsds::PacketType::TM; ccsds::PacketType packetType = ccsds::PacketType::TM;
bool secHeaderFlag = false; bool secHeaderFlag = false;
uint16_t apid = 0; uint16_t apid = 0;
using SerializeIF::deSerialize;
using SerializeIF::serialize;
}; };
#endif // FSFW_TMTCPACKET_PACKETID_H #endif // FSFW_TMTCPACKET_PACKETID_H

View File

@ -55,6 +55,9 @@ struct PacketSeqCtrl : public SerializeIF {
ccsds::SequenceFlags seqFlags = ccsds::SequenceFlags::CONTINUATION; ccsds::SequenceFlags seqFlags = ccsds::SequenceFlags::CONTINUATION;
uint16_t seqCount = 0; uint16_t seqCount = 0;
using SerializeIF::deSerialize;
using SerializeIF::serialize;
}; };
#endif // FSFW_TMTCPACKET_PACKETSEQCTRL_H #endif // FSFW_TMTCPACKET_PACKETSEQCTRL_H

View File

@ -103,13 +103,6 @@ ReturnValue_t PusTcCreator::setSerializableUserData(SerializeIF &serializable) {
return HasReturnvaluesIF::RETURN_OK; return HasReturnvaluesIF::RETURN_OK;
} }
ReturnValue_t PusTcCreator::serialize(uint8_t **buffer, size_t *size, size_t maxSize) const {
return serialize(buffer, size, maxSize, SerializeIF::Endianness::NETWORK);
}
ReturnValue_t PusTcCreator::serialize(uint8_t *buffer, size_t &serLen, size_t maxSize) const {
return SerializeIF::serialize(buffer, serLen, maxSize, SerializeIF::Endianness::NETWORK);
}
void PusTcCreator::setup() { void PusTcCreator::setup() {
spCreator.setPacketType(ccsds::PacketType::TC); spCreator.setPacketType(ccsds::PacketType::TC);
spCreator.setSecHeaderFlag(); spCreator.setSecHeaderFlag();

View File

@ -40,8 +40,6 @@ class PusTcCreator : public PusTcIF, public SerializeIF, public CustomUserDataIF
PusTcParams &getPusParams(); PusTcParams &getPusParams();
SpacePacketParams &getSpParams(); SpacePacketParams &getSpParams();
ReturnValue_t serialize(uint8_t **buffer, size_t *size, size_t maxSize) const override;
ReturnValue_t serialize(uint8_t *buffer, size_t &serLen, size_t maxSize) const override;
[[nodiscard]] size_t getSerializedSize() const override; [[nodiscard]] size_t getSerializedSize() const override;
[[nodiscard]] uint16_t getPacketIdRaw() const override; [[nodiscard]] uint16_t getPacketIdRaw() const override;
@ -55,7 +53,11 @@ class PusTcCreator : public PusTcIF, public SerializeIF, public CustomUserDataIF
ReturnValue_t setRawUserData(const uint8_t *data, size_t len) override; ReturnValue_t setRawUserData(const uint8_t *data, size_t len) override;
ReturnValue_t setSerializableUserData(SerializeIF &serializable) override; ReturnValue_t setSerializableUserData(SerializeIF &serializable) override;
// Load all big endian helpers into the class namespace
using SerializeIF::serializeBe;
private: private:
// Forbidden to use, enforce big endian serialization
ReturnValue_t serialize(uint8_t **buffer, size_t *size, size_t maxSize, ReturnValue_t serialize(uint8_t **buffer, size_t *size, size_t maxSize,
Endianness streamEndianness) const override; Endianness streamEndianness) const override;
// Forbidden to use // Forbidden to use

View File

@ -150,11 +150,3 @@ void PusTmCreator::setSubservice(uint8_t subservice) {
pusParams.secHeader.subservice = subservice; pusParams.secHeader.subservice = subservice;
} }
bool PusTmCreator::crcCalculationEnabled() const { return calculateCrcOnSerialization; } bool PusTmCreator::crcCalculationEnabled() const { return calculateCrcOnSerialization; }
ReturnValue_t PusTmCreator::serialize(uint8_t** buffer, size_t* size, size_t maxSize) const {
return serialize(buffer, size, maxSize, SerializeIF::Endianness::NETWORK);
}
ReturnValue_t PusTmCreator::serialize(uint8_t* buffer, size_t& serLen, size_t maxSize) const {
return SerializeIF::serialize(buffer, serLen, maxSize, SerializeIF::Endianness::NETWORK);
}

View File

@ -82,9 +82,6 @@ class PusTmCreator : public SerializeIF, public PusTmIF, public CustomUserDataIF
uint8_t getScTimeRefStatus() override; uint8_t getScTimeRefStatus() override;
uint16_t getMessageTypeCounter() override; uint16_t getMessageTypeCounter() override;
uint16_t getDestId() override; uint16_t getDestId() override;
// Override these to use default big endianness
ReturnValue_t serialize(uint8_t** buffer, size_t* size, size_t maxSize) const override;
ReturnValue_t serialize(uint8_t* buffer, size_t& serLen, size_t maxSize) const override;
ReturnValue_t serialize(uint8_t** buffer, size_t* size, size_t maxSize, ReturnValue_t serialize(uint8_t** buffer, size_t* size, size_t maxSize,
Endianness streamEndianness) const override; Endianness streamEndianness) const override;
[[nodiscard]] size_t getSerializedSize() const override; [[nodiscard]] size_t getSerializedSize() const override;
@ -92,6 +89,9 @@ class PusTmCreator : public SerializeIF, public PusTmIF, public CustomUserDataIF
ReturnValue_t setRawUserData(const uint8_t* data, size_t len) override; ReturnValue_t setRawUserData(const uint8_t* data, size_t len) override;
ReturnValue_t setSerializableUserData(SerializeIF& serializable) override; ReturnValue_t setSerializableUserData(SerializeIF& serializable) override;
// Load all big endian (network endian) helpers into scope
using SerializeIF::serializeBe;
private: private:
// Forbidden to use // Forbidden to use
ReturnValue_t deSerialize(const uint8_t** buffer, size_t* size, ReturnValue_t deSerialize(const uint8_t** buffer, size_t* size,

View File

@ -19,17 +19,12 @@ class UnsignedByteField: public SerializeIF {
return SerializeAdapter::deSerialize(&value, buffer, size, streamEndianness); return SerializeAdapter::deSerialize(&value, buffer, size, streamEndianness);
} }
[[nodiscard]] size_t getSerializedSize() const override { [[nodiscard]] size_t getSerializedSize() const override { return sizeof(T); }
return sizeof(T);
}
[[nodiscard]] T getValue() const { [[nodiscard]] T getValue() const { return value; }
return value;
} void setValue(T value_) { value = value_; }
void setValue(T value_) {
value = value_;
}
private: private:
T value; T value;
}; };

View File

@ -466,7 +466,8 @@ ReturnValue_t MgmLIS3MDLHandler::initializeLocalDataPool(localpool::DataPool &lo
LocalDataPoolManager &poolManager) { LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(MGMLIS3MDL::FIELD_STRENGTHS, &mgmXYZ); localDataPoolMap.emplace(MGMLIS3MDL::FIELD_STRENGTHS, &mgmXYZ);
localDataPoolMap.emplace(MGMLIS3MDL::TEMPERATURE_CELCIUS, &temperature); localDataPoolMap.emplace(MGMLIS3MDL::TEMPERATURE_CELCIUS, &temperature);
poolManager.subscribeForPeriodicPacket(dataset.getSid(), false, 10.0, false); poolManager.subscribeForRegularPeriodicPacket(
subdp::RegularHkPeriodicParams(dataset.getSid(), false, 10.0));
return HasReturnvaluesIF::RETURN_OK; return HasReturnvaluesIF::RETURN_OK;
} }

View File

@ -305,12 +305,13 @@ void MgmRM3100Handler::fillCommandAndReplyMap() {
insertInCommandAndReplyMap(RM3100::READ_DATA, 3, &primaryDataset); insertInCommandAndReplyMap(RM3100::READ_DATA, 3, &primaryDataset);
} }
void MgmRM3100Handler::modeChanged(void) { internalState = InternalState::NONE; } void MgmRM3100Handler::modeChanged() { internalState = InternalState::NONE; }
ReturnValue_t MgmRM3100Handler::initializeLocalDataPool(localpool::DataPool &localDataPoolMap, ReturnValue_t MgmRM3100Handler::initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) { LocalDataPoolManager &poolManager) {
localDataPoolMap.emplace(RM3100::FIELD_STRENGTHS, &mgmXYZ); localDataPoolMap.emplace(RM3100::FIELD_STRENGTHS, &mgmXYZ);
poolManager.subscribeForPeriodicPacket(primaryDataset.getSid(), false, 10.0, false); poolManager.subscribeForRegularPeriodicPacket(
subdp::RegularHkPeriodicParams(primaryDataset.getSid(), false, 10.0));
return HasReturnvaluesIF::RETURN_OK; return HasReturnvaluesIF::RETURN_OK;
} }

View File

@ -60,9 +60,9 @@ TEST_CASE("CCSDS Packet ID", "[ccsds-packet-id]") {
SECTION("Invalid Deser") { SECTION("Invalid Deser") {
size_t deserLen = 0; size_t deserLen = 0;
REQUIRE(packetId.SerializeIF::deSerialize(buf.data(), deserLen, 1) == REQUIRE(packetId.deSerialize(buf.data(), deserLen, 1, SerializeIF::Endianness::NETWORK) ==
SerializeIF::STREAM_TOO_SHORT); SerializeIF::STREAM_TOO_SHORT);
REQUIRE(packetId.SerializeIF::deSerialize(buf.data(), deserLen, 0) == REQUIRE(packetId.deSerialize(buf.data(), deserLen, 0, SerializeIF::Endianness::NETWORK) ==
SerializeIF::STREAM_TOO_SHORT); SerializeIF::STREAM_TOO_SHORT);
} }
@ -77,8 +77,8 @@ TEST_CASE("CCSDS Packet ID", "[ccsds-packet-id]") {
buf[0] = 0x1a; buf[0] = 0x1a;
buf[1] = 0xff; buf[1] = 0xff;
size_t deserLen = 0xff; size_t deserLen = 0xff;
REQUIRE(packetId.SerializeIF::deSerialize(buf.data(), deserLen, buf.size()) == REQUIRE(packetId.deSerialize(buf.data(), deserLen, buf.size(),
HasReturnvaluesIF::RETURN_OK); SerializeIF::Endianness::NETWORK) == HasReturnvaluesIF::RETURN_OK);
CHECK(packetId.apid == 0x2ff); CHECK(packetId.apid == 0x2ff);
CHECK(deserLen == 2); CHECK(deserLen == 2);
CHECK(packetId.packetType == ccsds::PacketType::TC); CHECK(packetId.packetType == ccsds::PacketType::TC);
@ -113,7 +113,7 @@ TEST_CASE("CCSDS Packet Seq Ctrl", "[ccsds-packet-seq-ctrl]") {
buf[0] = 0xbf; buf[0] = 0xbf;
buf[1] = 0xfe; buf[1] = 0xfe;
size_t deserLen = 0xff; size_t deserLen = 0xff;
REQUIRE(psc.SerializeIF::deSerialize(buf.data(), deserLen, buf.size()) == REQUIRE(psc.deSerialize(buf.data(), deserLen, buf.size(), SerializeIF::Endianness::NETWORK) ==
HasReturnvaluesIF::RETURN_OK); HasReturnvaluesIF::RETURN_OK);
CHECK(psc.seqFlags == ccsds::SequenceFlags::LAST_SEGMENT); CHECK(psc.seqFlags == ccsds::SequenceFlags::LAST_SEGMENT);
CHECK(deserLen == 2); CHECK(deserLen == 2);
@ -128,7 +128,9 @@ TEST_CASE("CCSDS Packet Seq Ctrl", "[ccsds-packet-seq-ctrl]") {
SECTION("Invalid Deser") { SECTION("Invalid Deser") {
size_t deserLen = 0; size_t deserLen = 0;
REQUIRE(psc.SerializeIF::deSerialize(buf.data(), deserLen, 1) == SerializeIF::STREAM_TOO_SHORT); REQUIRE(psc.deSerialize(buf.data(), deserLen, 1, SerializeIF::Endianness::NETWORK) ==
REQUIRE(psc.SerializeIF::deSerialize(buf.data(), deserLen, 0) == SerializeIF::STREAM_TOO_SHORT); SerializeIF::STREAM_TOO_SHORT);
REQUIRE(psc.deSerialize(buf.data(), deserLen, 0, SerializeIF::Endianness::NETWORK) ==
SerializeIF::STREAM_TOO_SHORT);
} }
} }

View File

@ -34,7 +34,7 @@ TEST_CASE("PUS TC Creator", "[pus-tc-creator]") {
} }
SECTION("Serialized") { SECTION("Serialized") {
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(serLen == 13); REQUIRE(serLen == 13);
REQUIRE(buf[0] == 0x18); REQUIRE(buf[0] == 0x18);
REQUIRE(buf[1] == 0x02); REQUIRE(buf[1] == 0x02);
@ -64,7 +64,7 @@ TEST_CASE("PUS TC Creator", "[pus-tc-creator]") {
auto& params = creator.getPusParams(); auto& params = creator.getPusParams();
params.sourceId = 0x5ff; params.sourceId = 0x5ff;
REQUIRE(creator.getSourceId() == 0x5ff); REQUIRE(creator.getSourceId() == 0x5ff);
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(((buf[9] << 8) | buf[10]) == 0x5ff); REQUIRE(((buf[9] << 8) | buf[10]) == 0x5ff);
} }
@ -76,7 +76,7 @@ TEST_CASE("PUS TC Creator", "[pus-tc-creator]") {
REQUIRE(creator.getSerializedSize() == 13); REQUIRE(creator.getSerializedSize() == 13);
creator.updateSpLengthField(); creator.updateSpLengthField();
REQUIRE(creator.getSerializedSize() == 16); REQUIRE(creator.getSerializedSize() == 16);
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(serLen == 16); REQUIRE(serLen == 16);
REQUIRE(buf[11] == 1); REQUIRE(buf[11] == 1);
REQUIRE(buf[12] == 2); REQUIRE(buf[12] == 2);
@ -88,7 +88,7 @@ TEST_CASE("PUS TC Creator", "[pus-tc-creator]") {
auto simpleSer = SimpleSerializable(); auto simpleSer = SimpleSerializable();
creator.setSerializableUserData(simpleSer); creator.setSerializableUserData(simpleSer);
REQUIRE(creator.getSerializedSize() == 16); REQUIRE(creator.getSerializedSize() == 16);
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(serLen == 16); REQUIRE(serLen == 16);
REQUIRE(buf[11] == 1); REQUIRE(buf[11] == 1);
REQUIRE(buf[12] == 2); REQUIRE(buf[12] == 2);
@ -100,7 +100,7 @@ TEST_CASE("PUS TC Creator", "[pus-tc-creator]") {
auto simpleSer = SimpleSerializable(); auto simpleSer = SimpleSerializable();
creator.setSerializableUserData(simpleSer); creator.setSerializableUserData(simpleSer);
REQUIRE(creator.getSerializedSize() == 16); REQUIRE(creator.getSerializedSize() == 16);
REQUIRE(creator.serialize(dataPtr, serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(dataPtr, serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(serLen == 16); REQUIRE(serLen == 16);
REQUIRE(buf[11] == 1); REQUIRE(buf[11] == 1);
REQUIRE(buf[12] == 2); REQUIRE(buf[12] == 2);
@ -120,13 +120,13 @@ TEST_CASE("PUS TC Creator", "[pus-tc-creator]") {
for (size_t maxSize = 0; maxSize < reqSize; maxSize++) { for (size_t maxSize = 0; maxSize < reqSize; maxSize++) {
dataPtr = buf.data(); dataPtr = buf.data();
serLen = 0; serLen = 0;
REQUIRE(creator.serialize(&dataPtr, &serLen, maxSize) == SerializeIF::BUFFER_TOO_SHORT); REQUIRE(creator.serializeBe(&dataPtr, &serLen, maxSize) == SerializeIF::BUFFER_TOO_SHORT);
} }
} }
SECTION("Invalid PUS Version") { SECTION("Invalid PUS Version") {
auto& params = creator.getPusParams(); auto& params = creator.getPusParams();
params.pusVersion = 0; params.pusVersion = 0;
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == PusIF::INVALID_PUS_VERSION); REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == PusIF::INVALID_PUS_VERSION);
} }
} }

View File

@ -16,7 +16,7 @@ TEST_CASE("PUS TC Reader", "[pus-tc-reader]") {
PusTcReader reader; PusTcReader reader;
SECTION("State") { SECTION("State") {
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(reader.isNull()); REQUIRE(reader.isNull());
REQUIRE(not reader); REQUIRE(not reader);
PusTcReader* readerPtr = nullptr; PusTcReader* readerPtr = nullptr;
@ -55,14 +55,14 @@ TEST_CASE("PUS TC Reader", "[pus-tc-reader]") {
} }
SECTION("Invalid CRC") { SECTION("Invalid CRC") {
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(reader.setReadOnlyData(buf.data(), serLen) == HasReturnvaluesIF::RETURN_OK); REQUIRE(reader.setReadOnlyData(buf.data(), serLen) == HasReturnvaluesIF::RETURN_OK);
buf[11] = 0x00; buf[11] = 0x00;
REQUIRE(reader.parseDataWithCrcCheck() == PusIF::INVALID_CRC_16); REQUIRE(reader.parseDataWithCrcCheck() == PusIF::INVALID_CRC_16);
} }
SECTION("Invalid CRC but no check") { SECTION("Invalid CRC but no check") {
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(reader.setReadOnlyData(buf.data(), serLen) == HasReturnvaluesIF::RETURN_OK); REQUIRE(reader.setReadOnlyData(buf.data(), serLen) == HasReturnvaluesIF::RETURN_OK);
buf[11] = 0x00; buf[11] = 0x00;
REQUIRE(reader.parseDataWithoutCrcCheck() == HasReturnvaluesIF::RETURN_OK); REQUIRE(reader.parseDataWithoutCrcCheck() == HasReturnvaluesIF::RETURN_OK);
@ -72,7 +72,7 @@ TEST_CASE("PUS TC Reader", "[pus-tc-reader]") {
auto& params = creator.getPusParams(); auto& params = creator.getPusParams();
std::array<uint8_t, 3> data{1, 2, 3}; std::array<uint8_t, 3> data{1, 2, 3};
creator.setRawUserData(data.data(), data.size()); creator.setRawUserData(data.data(), data.size());
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(reader.setReadOnlyData(buf.data(), serLen) == HasReturnvaluesIF::RETURN_OK); REQUIRE(reader.setReadOnlyData(buf.data(), serLen) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(reader.parseDataWithCrcCheck() == HasReturnvaluesIF::RETURN_OK); REQUIRE(reader.parseDataWithCrcCheck() == HasReturnvaluesIF::RETURN_OK);
const uint8_t* userDataPtr = reader.getUserData(); const uint8_t* userDataPtr = reader.getUserData();

View File

@ -90,7 +90,7 @@ TEST_CASE("PUS TM Creator", "[pus-tm-creator]") {
REQUIRE(creator.getApid() == 0x3ff); REQUIRE(creator.getApid() == 0x3ff);
REQUIRE(creator.getDestId() == 0xfff); REQUIRE(creator.getDestId() == 0xfff);
REQUIRE(creator.getMessageTypeCounter() == 0x313); REQUIRE(creator.getMessageTypeCounter() == 0x313);
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
// Message Sequence Count // Message Sequence Count
REQUIRE(((buf[9] << 8) | buf[10]) == 0x313); REQUIRE(((buf[9] << 8) | buf[10]) == 0x313);
// Destination ID // Destination ID
@ -108,8 +108,7 @@ TEST_CASE("PUS TM Creator", "[pus-tm-creator]") {
std::array<uint8_t, 3> data{1, 2, 3}; std::array<uint8_t, 3> data{1, 2, 3};
creator.setRawUserData(data.data(), data.size()); creator.setRawUserData(data.data(), data.size());
REQUIRE(creator.getFullPacketLen() == 25); REQUIRE(creator.getFullPacketLen() == 25);
REQUIRE(creator.SerializeIF::serialize(&dataPtr, &serLen, buf.size()) == REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
HasReturnvaluesIF::RETURN_OK);
REQUIRE(buf[20] == 1); REQUIRE(buf[20] == 1);
REQUIRE(buf[21] == 2); REQUIRE(buf[21] == 2);
REQUIRE(buf[22] == 3); REQUIRE(buf[22] == 3);
@ -119,7 +118,8 @@ TEST_CASE("PUS TM Creator", "[pus-tm-creator]") {
auto simpleSer = SimpleSerializable(); auto simpleSer = SimpleSerializable();
creator.setSerializableUserData(simpleSer); creator.setSerializableUserData(simpleSer);
REQUIRE(creator.getFullPacketLen() == 25); REQUIRE(creator.getFullPacketLen() == 25);
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size(), SerializeIF::Endianness::NETWORK) ==
HasReturnvaluesIF::RETURN_OK);
REQUIRE(buf[20] == 1); REQUIRE(buf[20] == 1);
REQUIRE(buf[21] == 2); REQUIRE(buf[21] == 2);
REQUIRE(buf[22] == 3); REQUIRE(buf[22] == 3);
@ -143,7 +143,7 @@ TEST_CASE("PUS TM Creator", "[pus-tm-creator]") {
for (size_t maxSize = 0; maxSize < reqSize; maxSize++) { for (size_t maxSize = 0; maxSize < reqSize; maxSize++) {
dataPtr = buf.data(); dataPtr = buf.data();
serLen = 0; serLen = 0;
REQUIRE(creator.SerializeIF::serialize(&dataPtr, &serLen, maxSize) == REQUIRE(creator.serialize(&dataPtr, &serLen, maxSize, SerializeIF::Endianness::NETWORK) ==
SerializeIF::BUFFER_TOO_SHORT); SerializeIF::BUFFER_TOO_SHORT);
} }
} }
@ -151,7 +151,7 @@ TEST_CASE("PUS TM Creator", "[pus-tm-creator]") {
SECTION("No CRC Generation") { SECTION("No CRC Generation") {
creator.disableCrcCalculation(); creator.disableCrcCalculation();
REQUIRE(not creator.crcCalculationEnabled()); REQUIRE(not creator.crcCalculationEnabled());
REQUIRE(creator.serialize(dataPtr, serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(dataPtr, serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(serLen == 22); REQUIRE(serLen == 22);
REQUIRE(buf[20] == 0x00); REQUIRE(buf[20] == 0x00);
REQUIRE(buf[21] == 0x00); REQUIRE(buf[21] == 0x00);

View File

@ -62,7 +62,7 @@ TEST_CASE("PUS TM Reader", "[pus-tm-reader]") {
} }
SECTION("Invalid CRC") { SECTION("Invalid CRC") {
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
buf[20] = 0; buf[20] = 0;
REQUIRE(reader.setReadOnlyData(buf.data(), serLen) == HasReturnvaluesIF::RETURN_OK); REQUIRE(reader.setReadOnlyData(buf.data(), serLen) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(reader.parseDataWithCrcCheck() == PusIF::INVALID_CRC_16); REQUIRE(reader.parseDataWithCrcCheck() == PusIF::INVALID_CRC_16);
@ -74,7 +74,7 @@ TEST_CASE("PUS TM Reader", "[pus-tm-reader]") {
} }
SECTION("Invalid CRC ignored") { SECTION("Invalid CRC ignored") {
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
buf[20] = 0; buf[20] = 0;
REQUIRE(reader.setReadOnlyData(buf.data(), serLen) == HasReturnvaluesIF::RETURN_OK); REQUIRE(reader.setReadOnlyData(buf.data(), serLen) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(reader.parseDataWithoutCrcCheck() == HasReturnvaluesIF::RETURN_OK); REQUIRE(reader.parseDataWithoutCrcCheck() == HasReturnvaluesIF::RETURN_OK);
@ -83,7 +83,7 @@ TEST_CASE("PUS TM Reader", "[pus-tm-reader]") {
SECTION("Read with source data") { SECTION("Read with source data") {
std::array<uint8_t, 3> data{1, 2, 3}; std::array<uint8_t, 3> data{1, 2, 3};
creator.setRawUserData(data.data(), data.size()); creator.setRawUserData(data.data(), data.size());
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(reader.setReadOnlyData(buf.data(), serLen) == HasReturnvaluesIF::RETURN_OK); REQUIRE(reader.setReadOnlyData(buf.data(), serLen) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(reader.parseDataWithCrcCheck() == HasReturnvaluesIF::RETURN_OK); REQUIRE(reader.parseDataWithCrcCheck() == HasReturnvaluesIF::RETURN_OK);
REQUIRE(reader.getUserDataLen() == 3); REQUIRE(reader.getUserDataLen() == 3);
@ -94,7 +94,7 @@ TEST_CASE("PUS TM Reader", "[pus-tm-reader]") {
} }
SECTION("Invalid stream lengths") { SECTION("Invalid stream lengths") {
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
for (size_t i = 0; i < serLen - 1; i++) { for (size_t i = 0; i < serLen - 1; i++) {
REQUIRE(reader.setReadOnlyData(buf.data(), i) == SerializeIF::STREAM_TOO_SHORT); REQUIRE(reader.setReadOnlyData(buf.data(), i) == SerializeIF::STREAM_TOO_SHORT);
} }
@ -102,7 +102,7 @@ TEST_CASE("PUS TM Reader", "[pus-tm-reader]") {
SECTION("Reading timestamp fails") { SECTION("Reading timestamp fails") {
timeStamperAndReader.nextDeserFails = true; timeStamperAndReader.nextDeserFails = true;
REQUIRE(creator.serialize(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); REQUIRE(creator.serializeBe(&dataPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(reader.setReadOnlyData(buf.data(), serLen) == HasReturnvaluesIF::RETURN_OK); REQUIRE(reader.setReadOnlyData(buf.data(), serLen) == HasReturnvaluesIF::RETURN_OK);
REQUIRE(reader.parseDataWithCrcCheck() == HasReturnvaluesIF::RETURN_FAILED); REQUIRE(reader.parseDataWithCrcCheck() == HasReturnvaluesIF::RETURN_FAILED);
} }

View File

@ -18,7 +18,7 @@ TEST_CASE("TM ZC Helper", "[tm-zc-helper]") {
size_t serLen = 0; size_t serLen = 0;
SECTION("No Crash For Uninitialized Object") { SECTION("No Crash For Uninitialized Object") {
REQUIRE(creator.serialize(dataPtr, serLen, buf.size()) == result::OK); REQUIRE(creator.serializeBe(dataPtr, serLen, buf.size()) == result::OK);
PusTmZeroCopyWriter writer(timeStamper, dataPtr, serLen); PusTmZeroCopyWriter writer(timeStamper, dataPtr, serLen);
REQUIRE(writer.getSequenceCount() == 22); REQUIRE(writer.getSequenceCount() == 22);
writer.setSequenceCount(23); writer.setSequenceCount(23);
@ -28,7 +28,7 @@ TEST_CASE("TM ZC Helper", "[tm-zc-helper]") {
} }
SECTION("Basic") { SECTION("Basic") {
REQUIRE(creator.serialize(dataPtr, serLen, buf.size()) == result::OK); REQUIRE(creator.serializeBe(dataPtr, serLen, buf.size()) == result::OK);
PusTmZeroCopyWriter writer(timeStamper, dataPtr, serLen); PusTmZeroCopyWriter writer(timeStamper, dataPtr, serLen);
REQUIRE(writer.parseDataWithoutCrcCheck() == result::OK); REQUIRE(writer.parseDataWithoutCrcCheck() == result::OK);
REQUIRE(writer.getSequenceCount() == 22); REQUIRE(writer.getSequenceCount() == 22);

View File

@ -1,10 +1,9 @@
#include <array>
#include <catch2/catch_test_macros.hpp> #include <catch2/catch_test_macros.hpp>
#include "fsfw/util/UnsignedByteField.h" #include "fsfw/util/UnsignedByteField.h"
#include <array>
TEST_CASE("Unsigned Byte Field", "[unsigned-byte-field]") { TEST_CASE("Unsigned Byte Field", "[unsigned-byte-field]") {
auto testByteField = UnsignedByteField<uint32_t>(10); auto testByteField = UnsignedByteField<uint32_t>(10);
auto u32ByteField = U32ByteField(10); auto u32ByteField = U32ByteField(10);
@ -28,7 +27,8 @@ TEST_CASE("Unsigned Byte Field", "[unsigned-byte-field]") {
} }
SECTION("Serialize U32") { SECTION("Serialize U32") {
CHECK(testByteField.serializeBe(buf.data(), serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); CHECK(testByteField.serializeBe(buf.data(), serLen, buf.size()) ==
HasReturnvaluesIF::RETURN_OK);
CHECK(serLen == 4); CHECK(serLen == 4);
CHECK(buf[0] == 0); CHECK(buf[0] == 0);
CHECK(buf[3] == 10); CHECK(buf[3] == 10);
@ -60,7 +60,8 @@ TEST_CASE("Unsigned Byte Field", "[unsigned-byte-field]") {
buf[2] = 0x30; buf[2] = 0x30;
buf[3] = 0x20; buf[3] = 0x20;
size_t deserLen = 0; size_t deserLen = 0;
CHECK(testByteField.deSerializeBe(buf.data(), deserLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); CHECK(testByteField.deSerializeBe(buf.data(), deserLen, buf.size()) ==
HasReturnvaluesIF::RETURN_OK);
CHECK(testByteField.getValue() == 0x50403020); CHECK(testByteField.getValue() == 0x50403020);
} }
@ -68,7 +69,8 @@ TEST_CASE("Unsigned Byte Field", "[unsigned-byte-field]") {
buf[0] = 0x50; buf[0] = 0x50;
buf[1] = 0x40; buf[1] = 0x40;
size_t deserLen = 0; size_t deserLen = 0;
CHECK(u16ByteField.deSerializeBe(buf.data(), deserLen, buf.size()) == HasReturnvaluesIF::RETURN_OK); CHECK(u16ByteField.deSerializeBe(buf.data(), deserLen, buf.size()) ==
HasReturnvaluesIF::RETURN_OK);
CHECK(u16ByteField.getValue() == 0x5040); CHECK(u16ByteField.getValue() == 0x5040);
} }
} }