mirror of
https://github.com/paulscherrerinstitute/sf_daq_buffer.git
synced 2026-05-06 08:24:14 +02:00
Fix array length==1 bug
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
#include "../src/ZmqReceiver.hpp"
|
||||
#include "../src/ZmqReceiver.hpp"
|
||||
|
||||
using namespace std;
|
||||
namespace pt = boost::property_tree;
|
||||
@@ -33,7 +34,7 @@ TEST(ZmqReceiver, get_value_from_json)
|
||||
|
||||
uint64_t frame_number = 1234567890;
|
||||
json_header.add("frame_number", frame_number);
|
||||
HeaderDataType header_data_type_scalar("uint64", 1);
|
||||
HeaderDataType header_data_type_scalar("uint64");
|
||||
|
||||
auto scalar_buffer = get_value_from_json(json_header, "frame_number", header_data_type_scalar);
|
||||
auto scalar_value = reinterpret_cast<uint64_t*>(scalar_buffer.get());
|
||||
@@ -59,4 +60,34 @@ TEST(ZmqReceiver, get_value_from_json)
|
||||
for (int i=0; i<3; i++) {
|
||||
ASSERT_TRUE(array_values[i] == modules_number[i]);
|
||||
}
|
||||
}
|
||||
|
||||
TEST(ZmqReceiver, read_json_header)
|
||||
{
|
||||
int n_modules = 1;
|
||||
|
||||
auto header_values = shared_ptr<unordered_map<string, HeaderDataType>>(new unordered_map<string, HeaderDataType> {
|
||||
{"pulse_id", HeaderDataType("uint64")},
|
||||
{"frame", HeaderDataType("uint64")},
|
||||
{"is_good_frame", HeaderDataType("uint64")},
|
||||
{"daq_rec", HeaderDataType("int64")},
|
||||
|
||||
{"pulse_id_diff", HeaderDataType("int64", n_modules)},
|
||||
{"framenum_diff", HeaderDataType("int64", n_modules)},
|
||||
|
||||
{"missing_packets_1", HeaderDataType("uint64", n_modules)},
|
||||
{"missing_packets_2", HeaderDataType("uint64", n_modules)},
|
||||
{"daq_recs", HeaderDataType("uint64", n_modules)},
|
||||
|
||||
{"pulse_ids", HeaderDataType("uint64", n_modules)},
|
||||
{"framenums", HeaderDataType("uint64", n_modules)},
|
||||
|
||||
{"module_number", HeaderDataType("uint64", n_modules)}
|
||||
});
|
||||
|
||||
ZmqReceiver receiver("something", 1, 1, header_values);
|
||||
|
||||
auto header_string = "{\"missing_packets_2\":[0],\"missing_packets_1\":[0],\"frame\":0,\"daq_recs\":[3840],\"module_number\":[0],\"shape\":[512,1024],\"pulse_id\":6021771850,\"framenum_diff\":[0],\"pulse_ids\":[6021771850],\"is_good_frame\":1,\"framenums\":[193],\"pulse_id_diff\":[0],\"daq_rec\":3840,\"type\":\"uint16\",\"htype\":\"array-1.0\"}";
|
||||
|
||||
auto frame_metadata = receiver.read_json_header(header_string);
|
||||
}
|
||||
Reference in New Issue
Block a user