#include "GeneralData.h" #include "catch.hpp" #include // using namespace sls; // TEST_CASE("Parse jungfrauctb header", "[receiver]") { // struct packet { // unsigned char emptyHeader[6]; // unsigned char reserved[4]; // unsigned char packetNumber[1]; // unsigned char frameNumber[3]; // unsigned char bunchid[8]; // unsigned char data[UDP_PACKET_DATA_BYTES]; // } __attribute__((packed)); // MoenchData data; // packet test_packet; // test_packet.packetNumber[0] = 53u; // test_packet.frameNumber[0] = 32u; // test_packet.frameNumber[1] = 15u; // test_packet.frameNumber[2] = 91u; // test_packet.bunchid[0] = 91u; // test_packet.bunchid[1] = 25u; // test_packet.bunchid[2] = 15u; // test_packet.bunchid[3] = 1u; // test_packet.bunchid[4] = 32u; // test_packet.bunchid[5] = 251u; // test_packet.bunchid[6] = 18u; // test_packet.bunchid[7] = 240u; // int index = 0; // char *packetData = reinterpret_cast(&test_packet); // uint32_t dynamicRange{0}; // bool oddStartingPacket{0}; // uint64_t frameNumber{0}; // uint32_t packetNumber{0}; // uint32_t subFrameNumber{0}; // uint64_t bunchId{0}; // data.GetHeaderInfo(index, packetData, dynamicRange, oddStartingPacket, // frameNumber, packetNumber, subFrameNumber, bunchId); // CHECK(packetNumber == 53); // CHECK(frameNumber == 0x5b0f20); // CHECK(bunchId == 0xf012fb20010f195b); // CHECK(subFrameNumber == -1); // } TEST_CASE("Parse header gotthard data", "[receiver]") { GotthardData data; struct packet { uint32_t frameNumber; unsigned char data[GOTTHARD_PACKET_SIZE]; } __attribute__((packed)); packet test_packet; test_packet.frameNumber = 25698u; int index = 0; char *packetData = reinterpret_cast(&test_packet); uint32_t dynamicRange{0}; bool oddStartingPacket{0}; uint64_t frameNumber{0}; uint32_t packetNumber{0}; uint32_t subFrameNumber{0}; uint64_t bunchId{0}; data.GetHeaderInfo(index, packetData, dynamicRange, oddStartingPacket, frameNumber, packetNumber, subFrameNumber, bunchId); CHECK(frameNumber == test_packet.frameNumber/2); CHECK(subFrameNumber == -1); CHECK(bunchId == -1); }