Improvements before MAX IV test
This commit is contained in:
+85
-67
@@ -69,12 +69,12 @@ TEST_CASE("CBORSerialize_Start", "[CBOR]") {
|
||||
|
||||
REQUIRE_NOTHROW(serializer.SerializeSequenceStart(message));
|
||||
|
||||
CBORStream2Deserializer deserializer;
|
||||
REQUIRE_NOTHROW(deserializer.Process(buffer.data(), serializer.GetBufferSize()));
|
||||
REQUIRE(deserializer.GetType() == CBORStream2Deserializer::Type::START);
|
||||
auto deserialized = CBORStream2Deserialize(buffer.data(), serializer.GetBufferSize());
|
||||
REQUIRE(deserialized);
|
||||
REQUIRE(deserialized->msg_type == CBORImageType::START);
|
||||
REQUIRE(deserialized->start_message);
|
||||
StartMessage &output_message = *deserialized->start_message;
|
||||
|
||||
StartMessage output_message;
|
||||
REQUIRE_NOTHROW(output_message = deserializer.GetStartMessage());
|
||||
CHECK(output_message.images_per_file == message.images_per_file);
|
||||
CHECK(output_message.detector_distance == Approx(message.detector_distance));
|
||||
CHECK(output_message.beam_center_x == Approx(message.beam_center_x));
|
||||
@@ -166,12 +166,12 @@ TEST_CASE("CBORSerialize_Start_PixelMask", "[CBOR]") {
|
||||
message.AddPixelMask(image_mask);
|
||||
REQUIRE_NOTHROW(serializer.SerializeSequenceStart(message));
|
||||
|
||||
CBORStream2Deserializer deserializer;
|
||||
REQUIRE_NOTHROW(deserializer.Process(buffer.data(), serializer.GetBufferSize()));
|
||||
REQUIRE(deserializer.GetType() == CBORStream2Deserializer::Type::START);
|
||||
auto deserialized = CBORStream2Deserialize(buffer.data(), serializer.GetBufferSize());
|
||||
REQUIRE(deserialized);
|
||||
REQUIRE(deserialized->msg_type == CBORImageType::START);
|
||||
REQUIRE(deserialized->start_message);
|
||||
StartMessage &output_message = *deserialized->start_message;
|
||||
|
||||
StartMessage output_message;
|
||||
REQUIRE_NOTHROW(output_message = deserializer.GetStartMessage());
|
||||
REQUIRE(output_message.pixel_mask.size() == 1);
|
||||
CHECK(!output_message.pixel_mask[0].pixel_is_float);
|
||||
CHECK(output_message.pixel_mask[0].xpixel == 456);
|
||||
@@ -205,12 +205,12 @@ TEST_CASE("CBORSerialize_Calibration", "[CBOR]") {
|
||||
|
||||
REQUIRE_NOTHROW(serializer.SerializeCalibration(image1));
|
||||
|
||||
CBORStream2Deserializer deserializer;
|
||||
REQUIRE_NOTHROW(deserializer.Process(buffer.data(), serializer.GetBufferSize()));
|
||||
REQUIRE(deserializer.GetType() == CBORStream2Deserializer::Type::CALIBRATION);
|
||||
auto deserialized = CBORStream2Deserialize(buffer.data(), serializer.GetBufferSize());
|
||||
REQUIRE(deserialized);
|
||||
REQUIRE(deserialized->msg_type == CBORImageType::CALIBRATION);
|
||||
REQUIRE(deserialized->calibration);
|
||||
CompressedImage &output_message = *deserialized->calibration;
|
||||
|
||||
CompressedImage output_message;
|
||||
REQUIRE_NOTHROW(output_message = deserializer.GetCalibrationImage());
|
||||
CHECK(output_message.pixel_is_float);
|
||||
CHECK(output_message.xpixel == 16);
|
||||
CHECK(output_message.ypixel == 16);
|
||||
@@ -234,13 +234,13 @@ TEST_CASE("CBORSerialize_End", "[CBOR]") {
|
||||
};
|
||||
|
||||
REQUIRE_NOTHROW(serializer.SerializeSequenceEnd(message));
|
||||
|
||||
CBORStream2Deserializer deserializer;
|
||||
REQUIRE_NOTHROW(deserializer.Process(buffer.data(), serializer.GetBufferSize()));
|
||||
REQUIRE(deserializer.GetType() == CBORStream2Deserializer::Type::END);
|
||||
|
||||
EndMessage output_message{};
|
||||
REQUIRE_NOTHROW(output_message = deserializer.GetEndMessage());
|
||||
auto deserialized = CBORStream2Deserialize(buffer.data(), serializer.GetBufferSize());
|
||||
REQUIRE(deserialized);
|
||||
REQUIRE(deserialized->msg_type == CBORImageType::END);
|
||||
REQUIRE(deserialized->end_message);
|
||||
EndMessage &output_message = *deserialized->end_message;
|
||||
|
||||
REQUIRE(output_message.max_receiver_delay == message.max_receiver_delay);
|
||||
REQUIRE(output_message.max_image_number == message.max_image_number);
|
||||
REQUIRE(output_message.images_collected_count == message.images_collected_count);
|
||||
@@ -255,7 +255,7 @@ TEST_CASE("CBORSerialize_End", "[CBOR]") {
|
||||
|
||||
TEST_CASE("CBORSerialize_End_RadIntResult", "[CBOR]") {
|
||||
std::vector<uint8_t> buffer(8*1024*1024);
|
||||
CBORStream2Serializer serializer(buffer.data(), buffer.size());
|
||||
CBORStream2Serializer serializer(buffer.data(), buffer.size());
|
||||
|
||||
EndMessage message {
|
||||
.max_image_number = 57789,
|
||||
@@ -271,12 +271,11 @@ CBORStream2Serializer serializer(buffer.data(), buffer.size());
|
||||
|
||||
REQUIRE_NOTHROW(serializer.SerializeSequenceEnd(message));
|
||||
|
||||
CBORStream2Deserializer deserializer;
|
||||
REQUIRE_NOTHROW(deserializer.Process(buffer.data(), serializer.GetBufferSize()));
|
||||
REQUIRE(deserializer.GetType() == CBORStream2Deserializer::Type::END);
|
||||
auto deserialized = CBORStream2Deserialize(buffer.data(), serializer.GetBufferSize());
|
||||
REQUIRE(deserialized);
|
||||
REQUIRE(deserialized->msg_type == CBORImageType::END);
|
||||
EndMessage &output_message = *deserialized->end_message;
|
||||
|
||||
EndMessage output_message{};
|
||||
REQUIRE_NOTHROW(output_message = deserializer.GetEndMessage());
|
||||
REQUIRE(output_message.az_int_result.size() == 2);
|
||||
REQUIRE(output_message.az_int_result.contains("avg"));
|
||||
REQUIRE(output_message.az_int_result.contains("file0"));
|
||||
@@ -303,12 +302,12 @@ TEST_CASE("CBORSerialize_End_ADUHistogram", "[CBOR]") {
|
||||
|
||||
REQUIRE_NOTHROW(serializer.SerializeSequenceEnd(message));
|
||||
|
||||
CBORStream2Deserializer deserializer;
|
||||
REQUIRE_NOTHROW(deserializer.Process(buffer.data(), serializer.GetBufferSize()));
|
||||
REQUIRE(deserializer.GetType() == CBORStream2Deserializer::Type::END);
|
||||
auto deserialized = CBORStream2Deserialize(buffer.data(), serializer.GetBufferSize());
|
||||
REQUIRE(deserialized);
|
||||
REQUIRE(deserialized->msg_type == CBORImageType::END);
|
||||
REQUIRE(deserialized->end_message);
|
||||
EndMessage &output_message = *deserialized->end_message;
|
||||
|
||||
EndMessage output_message{};
|
||||
REQUIRE_NOTHROW(output_message = deserializer.GetEndMessage());
|
||||
REQUIRE(output_message.adu_histogram.size() == 2);
|
||||
REQUIRE(output_message.adu_histogram.contains("avg"));
|
||||
REQUIRE(output_message.adu_histogram.contains("file0"));
|
||||
@@ -317,7 +316,6 @@ TEST_CASE("CBORSerialize_End_ADUHistogram", "[CBOR]") {
|
||||
CHECK(message.adu_histogram_bin_width == output_message.adu_histogram_bin_width);
|
||||
}
|
||||
|
||||
|
||||
TEST_CASE("CBORSerialize_Image", "[CBOR]") {
|
||||
std::vector<uint8_t> buffer(8*1024*1024);
|
||||
CBORStream2Serializer serializer(buffer.data(), buffer.size());
|
||||
@@ -347,6 +345,9 @@ TEST_CASE("CBORSerialize_Image", "[CBOR]") {
|
||||
.spots = spots,
|
||||
.bkg_estimate = 12.345f,
|
||||
.indexing_result = 1,
|
||||
.corr_beam_x_pxl = -123.4,
|
||||
.corr_beam_y_pxl = -125.4,
|
||||
.corr_det_dist_mm = 12345.0,
|
||||
.adu_histogram = {3, 4, 5, 8},
|
||||
.timestamp = 1ul<<27 | 1ul <<35,
|
||||
.exptime = 1000,
|
||||
@@ -361,15 +362,17 @@ TEST_CASE("CBORSerialize_Image", "[CBOR]") {
|
||||
.storage_cell = 0xF,
|
||||
.xfel_pulse_id = UINT64_MAX - 5678,
|
||||
.xfel_event_code = UINT64_MAX - 123,
|
||||
.original_number = 12789
|
||||
};
|
||||
|
||||
REQUIRE_NOTHROW(serializer.SerializeImage(message));
|
||||
|
||||
CBORStream2Deserializer deserializer;
|
||||
REQUIRE_NOTHROW(deserializer.Process(buffer.data(), serializer.GetBufferSize()));
|
||||
REQUIRE(deserializer.GetType() == CBORStream2Deserializer::Type::IMAGE);
|
||||
auto deserialized = CBORStream2Deserialize(buffer.data(), serializer.GetBufferSize());
|
||||
REQUIRE(deserialized);
|
||||
REQUIRE(deserialized->msg_type == CBORImageType::IMAGE);
|
||||
REQUIRE(deserialized->data_message);
|
||||
DataMessage &image_array = *deserialized->data_message;
|
||||
|
||||
auto image_array = deserializer.GetDataMessage();
|
||||
REQUIRE(image_array.image.algorithm == CompressionAlgorithm::NO_COMPRESSION);
|
||||
REQUIRE(image_array.image.xpixel == 256);
|
||||
REQUIRE(image_array.image.ypixel == 2);
|
||||
@@ -398,11 +401,15 @@ TEST_CASE("CBORSerialize_Image", "[CBOR]") {
|
||||
REQUIRE(image_array.bkg_estimate == message.bkg_estimate);
|
||||
REQUIRE(image_array.image_collection_efficiency == message.image_collection_efficiency);
|
||||
REQUIRE(image_array.user_data == message.user_data);
|
||||
REQUIRE(image_array.original_number == message.original_number);
|
||||
REQUIRE(image_array.corr_beam_x_pxl == message.corr_beam_x_pxl);
|
||||
REQUIRE(image_array.corr_beam_y_pxl == message.corr_beam_y_pxl);
|
||||
REQUIRE(image_array.corr_det_dist_mm == message.corr_det_dist_mm);
|
||||
}
|
||||
|
||||
TEST_CASE("CBORSerialize_Image_2", "[CBOR]") {
|
||||
std::vector<uint8_t> buffer(8*1024*1024);
|
||||
CBORStream2Serializer serializer(buffer.data(), buffer.size());
|
||||
CBORStream2Serializer serializer(buffer.data(), buffer.size());
|
||||
|
||||
std::vector<SpotToSave> spots;
|
||||
|
||||
@@ -431,11 +438,12 @@ CBORStream2Serializer serializer(buffer.data(), buffer.size());
|
||||
|
||||
REQUIRE_NOTHROW(serializer.SerializeImage(message));
|
||||
|
||||
CBORStream2Deserializer deserializer;
|
||||
REQUIRE_NOTHROW(deserializer.Process(buffer.data(), serializer.GetBufferSize()));
|
||||
REQUIRE(deserializer.GetType() == CBORStream2Deserializer::Type::IMAGE);
|
||||
auto deserialized = CBORStream2Deserialize(buffer.data(), serializer.GetBufferSize());
|
||||
REQUIRE(deserialized);
|
||||
REQUIRE(deserialized->msg_type == CBORImageType::IMAGE);
|
||||
REQUIRE(deserialized->data_message);
|
||||
DataMessage &image_array = *deserialized->data_message;
|
||||
|
||||
auto image_array = deserializer.GetDataMessage();
|
||||
REQUIRE(image_array.image.algorithm == CompressionAlgorithm::NO_COMPRESSION);
|
||||
REQUIRE(image_array.image.xpixel == 1024);
|
||||
REQUIRE(image_array.image.ypixel == 512);
|
||||
@@ -447,6 +455,10 @@ CBORStream2Serializer serializer(buffer.data(), buffer.size());
|
||||
REQUIRE(image_array.indexing_result == message.indexing_result);
|
||||
REQUIRE(image_array.number == 480);
|
||||
REQUIRE(memcmp(image_array.image.data, test.data(), test.size()) == 0);
|
||||
REQUIRE(!image_array.original_number);
|
||||
REQUIRE(!image_array.corr_det_dist_mm);
|
||||
REQUIRE(!image_array.corr_beam_x_pxl);
|
||||
REQUIRE(!image_array.corr_beam_y_pxl);
|
||||
}
|
||||
|
||||
TEST_CASE("CBORSerialize_Image_Float", "[CBOR]") {
|
||||
@@ -480,11 +492,12 @@ TEST_CASE("CBORSerialize_Image_Float", "[CBOR]") {
|
||||
|
||||
REQUIRE_NOTHROW(serializer.SerializeImage(message));
|
||||
|
||||
CBORStream2Deserializer deserializer;
|
||||
REQUIRE_NOTHROW(deserializer.Process(buffer.data(), serializer.GetBufferSize()));
|
||||
REQUIRE(deserializer.GetType() == CBORStream2Deserializer::Type::IMAGE);
|
||||
auto deserialized = CBORStream2Deserialize(buffer.data(), serializer.GetBufferSize());
|
||||
REQUIRE(deserialized);
|
||||
REQUIRE(deserialized->msg_type == CBORImageType::IMAGE);
|
||||
REQUIRE(deserialized->data_message);
|
||||
DataMessage &image_array = *deserialized->data_message;
|
||||
|
||||
auto image_array = deserializer.GetDataMessage();
|
||||
REQUIRE(image_array.image.algorithm == CompressionAlgorithm::NO_COMPRESSION);
|
||||
REQUIRE(image_array.image.xpixel == 1024);
|
||||
REQUIRE(image_array.image.ypixel == 512);
|
||||
@@ -500,7 +513,7 @@ TEST_CASE("CBORSerialize_Image_Float", "[CBOR]") {
|
||||
|
||||
TEST_CASE("CBORSerialize_Image_Compressed", "[CBOR]") {
|
||||
std::vector<uint8_t> buffer(8*1024*1024);
|
||||
CBORStream2Serializer serializer(buffer.data(), buffer.size());
|
||||
CBORStream2Serializer serializer(buffer.data(), buffer.size());
|
||||
|
||||
std::vector<SpotToSave> spots;
|
||||
|
||||
@@ -528,11 +541,12 @@ CBORStream2Serializer serializer(buffer.data(), buffer.size());
|
||||
|
||||
REQUIRE_NOTHROW(serializer.SerializeImage(message));
|
||||
|
||||
CBORStream2Deserializer deserializer;
|
||||
REQUIRE_NOTHROW(deserializer.Process(buffer.data(), serializer.GetBufferSize()));
|
||||
REQUIRE(deserializer.GetType() == CBORStream2Deserializer::Type::IMAGE);
|
||||
auto deserialized = CBORStream2Deserialize(buffer.data(), serializer.GetBufferSize());
|
||||
REQUIRE(deserialized);
|
||||
REQUIRE(deserialized->msg_type == CBORImageType::IMAGE);
|
||||
REQUIRE(deserialized->data_message);
|
||||
DataMessage &image_array = *deserialized->data_message;
|
||||
|
||||
auto image_array = deserializer.GetDataMessage();
|
||||
REQUIRE(image_array.image.algorithm == CompressionAlgorithm::BSHUF_LZ4);
|
||||
REQUIRE(image_array.image.xpixel == 256);
|
||||
REQUIRE(image_array.image.ypixel == 2);
|
||||
@@ -571,11 +585,12 @@ TEST_CASE("CBORSerialize_Image_Rad_Int_Profile", "[CBOR]") {
|
||||
|
||||
REQUIRE_NOTHROW(serializer.SerializeImage(message));
|
||||
|
||||
CBORStream2Deserializer deserializer;
|
||||
REQUIRE_NOTHROW(deserializer.Process(buffer.data(), serializer.GetBufferSize()));
|
||||
REQUIRE(deserializer.GetType() == CBORStream2Deserializer::Type::IMAGE);
|
||||
auto deserialized = CBORStream2Deserialize(buffer.data(), serializer.GetBufferSize());
|
||||
REQUIRE(deserialized);
|
||||
REQUIRE(deserialized->msg_type == CBORImageType::IMAGE);
|
||||
REQUIRE(deserialized->data_message);
|
||||
DataMessage &image_array = *deserialized->data_message;
|
||||
|
||||
auto image_array = deserializer.GetDataMessage();
|
||||
REQUIRE(image_array.number == 789);
|
||||
|
||||
REQUIRE(image_array.image.size == test.size());
|
||||
@@ -613,11 +628,12 @@ TEST_CASE("CBORSerialize_Image_Spots", "[CBOR]") {
|
||||
|
||||
REQUIRE_NOTHROW(serializer.SerializeImage(message));
|
||||
|
||||
CBORStream2Deserializer deserializer;
|
||||
REQUIRE_NOTHROW(deserializer.Process(buffer.data(), serializer.GetBufferSize()));
|
||||
REQUIRE(deserializer.GetType() == CBORStream2Deserializer::Type::IMAGE);
|
||||
auto deserialized = CBORStream2Deserialize(buffer.data(), serializer.GetBufferSize());
|
||||
REQUIRE(deserialized);
|
||||
REQUIRE(deserialized->msg_type == CBORImageType::IMAGE);
|
||||
REQUIRE(deserialized->data_message);
|
||||
DataMessage &image_array = *deserialized->data_message;
|
||||
|
||||
auto image_array = deserializer.GetDataMessage();
|
||||
REQUIRE(image_array.number == 789);
|
||||
|
||||
REQUIRE(image_array.image.size == test.size());
|
||||
@@ -662,11 +678,12 @@ TEST_CASE("CBORSerialize_Image_ROI", "[CBOR]") {
|
||||
|
||||
REQUIRE_NOTHROW(serializer.SerializeImage(message));
|
||||
|
||||
CBORStream2Deserializer deserializer;
|
||||
REQUIRE_NOTHROW(deserializer.Process(buffer.data(), serializer.GetBufferSize()));
|
||||
REQUIRE(deserializer.GetType() == CBORStream2Deserializer::Type::IMAGE);
|
||||
auto deserialized = CBORStream2Deserialize(buffer.data(), serializer.GetBufferSize());
|
||||
REQUIRE(deserialized);
|
||||
REQUIRE(deserialized->msg_type == CBORImageType::IMAGE);
|
||||
REQUIRE(deserialized->data_message);
|
||||
DataMessage &image_array = *deserialized->data_message;
|
||||
|
||||
auto image_array = deserializer.GetDataMessage();
|
||||
REQUIRE(image_array.number == 789);
|
||||
|
||||
REQUIRE(image_array.roi.size() == 2);
|
||||
@@ -712,12 +729,13 @@ TEST_CASE("CBORSerialize_Image_Append", "[CBOR]") {
|
||||
memcpy(buffer.data() + serializer.GetImageAppendOffset(), test.data(), 512 * 1024);
|
||||
//REQUIRE_THROWS(serializer.AppendImage(16*1024*1024));
|
||||
REQUIRE_NOTHROW(serializer.AppendImage(512 * 1024));
|
||||
CBORStream2Deserializer deserializer;
|
||||
|
||||
REQUIRE_NOTHROW(deserializer.Process(buffer.data(), serializer.GetBufferSize()));
|
||||
REQUIRE(deserializer.GetType() == CBORStream2Deserializer::Type::IMAGE);
|
||||
auto deserialized = CBORStream2Deserialize(buffer.data(), serializer.GetBufferSize());
|
||||
REQUIRE(deserialized);
|
||||
REQUIRE(deserialized->msg_type == CBORImageType::IMAGE);
|
||||
REQUIRE(deserialized->data_message);
|
||||
DataMessage &image_array = *deserialized->data_message;
|
||||
|
||||
auto image_array = deserializer.GetDataMessage();
|
||||
REQUIRE(image_array.image.algorithm == CompressionAlgorithm::NO_COMPRESSION);
|
||||
REQUIRE(image_array.image.xpixel == 1024);
|
||||
REQUIRE(image_array.image.ypixel == 512);
|
||||
|
||||
Reference in New Issue
Block a user