mirror of
https://github.com/paulscherrerinstitute/sf_daq_buffer.git
synced 2026-05-01 17:02:22 +02:00
Adapting tests to device name
This commit is contained in:
@@ -21,7 +21,8 @@ TEST(JFH5Writer, basic_interaction)
|
||||
metadata->block_start_pulse_id = 0;
|
||||
metadata->block_stop_pulse_id = BUFFER_BLOCK_SIZE - 1;
|
||||
|
||||
JFH5Writer writer("ignore.h5", n_modules, start_pulse_id, stop_pulse_id, 1);
|
||||
JFH5Writer writer("ignore.h5", "detector",
|
||||
n_modules, start_pulse_id, stop_pulse_id, 1);
|
||||
writer.write(metadata.get(), data.get());
|
||||
}
|
||||
|
||||
@@ -38,12 +39,13 @@ TEST(JFH5Writer, test_writing)
|
||||
// The writer closes the file on destruction.
|
||||
{
|
||||
JFH5Writer writer(
|
||||
"ignore.h5", n_modules, start_pulse_id, stop_pulse_id, 1);
|
||||
"ignore.h5", "detector",
|
||||
n_modules, start_pulse_id, stop_pulse_id, 1);
|
||||
writer.write(meta.get(), (char*)(&data[0]));
|
||||
}
|
||||
|
||||
H5::H5File reader("ignore.h5", H5F_ACC_RDONLY);
|
||||
auto image_dataset = reader.openDataSet("image");
|
||||
auto image_dataset = reader.openDataSet("/data/detector/data");
|
||||
image_dataset.read(&data[0], H5::PredType::NATIVE_UINT16);
|
||||
|
||||
for (int i_image=0; i_image < n_images; i_image++) {
|
||||
@@ -59,19 +61,20 @@ TEST(JFH5Writer, test_writing)
|
||||
}
|
||||
|
||||
auto pulse_id_data = make_unique<uint64_t[]>(n_images);
|
||||
auto pulse_id_dataset = reader.openDataSet("pulse_id");
|
||||
auto pulse_id_dataset = reader.openDataSet("/data/detector/pulse_id");
|
||||
pulse_id_dataset.read(&pulse_id_data[0], H5::PredType::NATIVE_UINT64);
|
||||
|
||||
auto frame_index_data = make_unique<uint64_t[]>(n_images);
|
||||
auto frame_index_dataset = reader.openDataSet("frame_index");
|
||||
auto frame_index_dataset = reader.openDataSet("/data/detector/frame_index");
|
||||
frame_index_dataset.read(&frame_index_data[0], H5::PredType::NATIVE_UINT64);
|
||||
|
||||
auto daq_rec_data = make_unique<uint32_t[]>(n_images);
|
||||
auto daq_rec_dataset = reader.openDataSet("daq_rec");
|
||||
auto daq_rec_dataset = reader.openDataSet("/data/detector/daq_rec");
|
||||
daq_rec_dataset.read(&daq_rec_data[0], H5::PredType::NATIVE_UINT32);
|
||||
|
||||
auto is_good_frame_data = make_unique<uint8_t[]>(n_images);
|
||||
auto is_good_frame_dataset = reader.openDataSet("is_good_frame");
|
||||
auto is_good_frame_dataset =
|
||||
reader.openDataSet("/data/detector/is_good_frame");
|
||||
is_good_frame_dataset.read(
|
||||
&is_good_frame_data[0], H5::PredType::NATIVE_UINT8);
|
||||
|
||||
@@ -89,39 +92,46 @@ TEST(JFH5Writer, test_writing)
|
||||
TEST(JFH5Writer, test_step_pulse_id)
|
||||
{
|
||||
// Start pulse id (5) larger than stop pulse id (4).
|
||||
ASSERT_THROW(JFH5Writer writer("ignore.h5", 1,
|
||||
5, 4, 1), runtime_error);
|
||||
ASSERT_THROW(JFH5Writer writer("ignore.h5", "d", 1 , 5, 4, 1),
|
||||
runtime_error);
|
||||
|
||||
// Start pulse id (5) is equal to stop pulse id (5).
|
||||
ASSERT_NO_THROW(JFH5Writer writer("ignore.h5", 1, 5, 5, 1));
|
||||
ASSERT_NO_THROW(JFH5Writer writer("ignore.h5", "d", 1, 5, 5, 1));
|
||||
|
||||
// The step is exactly on start nad stop pulse id.
|
||||
ASSERT_NO_THROW(JFH5Writer writer("ignore.h5", 1, 5, 5, 5));
|
||||
ASSERT_NO_THROW(JFH5Writer writer("ignore.h5", "d", 1, 5, 5, 5));
|
||||
|
||||
// No pulses in given range with step = 10
|
||||
ASSERT_THROW(JFH5Writer writer("ignore.h5", 1, 1, 9, 10), runtime_error);
|
||||
ASSERT_THROW(JFH5Writer writer("ignore.h5", "d", 1, 1, 9, 10),
|
||||
runtime_error);
|
||||
|
||||
// Stop pulse id is divisible by step, but start is not.
|
||||
ASSERT_THROW(JFH5Writer writer("ignore.h5", 1, 5, 10, 10), runtime_error);
|
||||
ASSERT_THROW(JFH5Writer writer("ignore.h5", "d", 1, 5, 10, 10),
|
||||
runtime_error);
|
||||
|
||||
// Start pulse id is divisible by step, but stop is not.
|
||||
ASSERT_THROW(JFH5Writer writer("ignore.h5", 1, 10, 19, 10), runtime_error);
|
||||
ASSERT_THROW(JFH5Writer writer("ignore.h5", "d", 1, 10, 19, 10),
|
||||
runtime_error);
|
||||
|
||||
// Should be ok.
|
||||
ASSERT_NO_THROW(JFH5Writer("ignore.h5", 1, 1234, 1234, 1));
|
||||
ASSERT_NO_THROW(JFH5Writer("ignore.h5", "d", 1, 1234, 1234, 1));
|
||||
// Should be ok.
|
||||
ASSERT_NO_THROW(JFH5Writer("ignore.h5", 1, 1234, 4567, 1));
|
||||
ASSERT_NO_THROW(JFH5Writer("ignore.h5", "d", 1, 1234, 4567, 1));
|
||||
// Should be ok.
|
||||
ASSERT_NO_THROW(JFH5Writer("ignore.h5", 1, 4, 4, 4));
|
||||
ASSERT_NO_THROW(JFH5Writer("ignore.h5", "d", 1, 4, 4, 4));
|
||||
|
||||
// stop smaller than start.
|
||||
ASSERT_THROW(JFH5Writer("ignore.h5", 1, 1234, 1233, 1), runtime_error);
|
||||
ASSERT_THROW(JFH5Writer("ignore.h5", "d", 1, 1234, 1233, 1),
|
||||
runtime_error);
|
||||
// step is not valid for 100Hz.
|
||||
ASSERT_THROW(JFH5Writer("ignore.h5", 1, 1234, 1234, 3), runtime_error);
|
||||
ASSERT_THROW(JFH5Writer("ignore.h5", "d", 1, 1234, 1234, 3),
|
||||
runtime_error);
|
||||
// start not divisible by step.
|
||||
ASSERT_THROW(JFH5Writer("ignore.h5", 1, 10, 10, 4), runtime_error);
|
||||
ASSERT_THROW(JFH5Writer("ignore.h5", "d", 1, 10, 10, 4),
|
||||
runtime_error);
|
||||
// stop not divisible by step
|
||||
ASSERT_THROW(JFH5Writer("ignore.h5", 1, 8, 10, 4), runtime_error);
|
||||
ASSERT_THROW(JFH5Writer("ignore.h5", "d", 1, 8, 10, 4),
|
||||
runtime_error);
|
||||
}
|
||||
|
||||
TEST(JFH5Writer, test_writing_with_step)
|
||||
@@ -139,14 +149,21 @@ TEST(JFH5Writer, test_writing_with_step)
|
||||
// The writer closes the file on destruction.
|
||||
{
|
||||
JFH5Writer writer(
|
||||
"ignore.h5", n_modules, start_pulse_id, stop_pulse_id, 1);
|
||||
"ignore.h5", "detector",
|
||||
n_modules, start_pulse_id, stop_pulse_id, 1);
|
||||
writer.write(meta.get(), (char*)(&data[0]));
|
||||
}
|
||||
|
||||
H5::H5File reader("ignore.h5", H5F_ACC_RDONLY);
|
||||
auto image_dataset = reader.openDataSet("image");
|
||||
auto image_dataset = reader.openDataSet("/data/detector/data");
|
||||
image_dataset.read(&data[0], H5::PredType::NATIVE_UINT16);
|
||||
|
||||
hsize_t dims[3];
|
||||
image_dataset.getSpace().getSimpleExtentDims(dims);
|
||||
ASSERT_EQ(dims[0], n_images);
|
||||
ASSERT_EQ(dims[1], n_modules * MODULE_Y_SIZE);
|
||||
ASSERT_EQ(dims[2], MODULE_X_SIZE);
|
||||
|
||||
for (int i_image=0; i_image < n_images; i_image++) {
|
||||
for (int i_module=0; i_module<n_modules; i_module++) {
|
||||
|
||||
@@ -160,19 +177,20 @@ TEST(JFH5Writer, test_writing_with_step)
|
||||
}
|
||||
|
||||
auto pulse_id_data = make_unique<uint64_t[]>(n_images);
|
||||
auto pulse_id_dataset = reader.openDataSet("pulse_id");
|
||||
auto pulse_id_dataset = reader.openDataSet("/data/detector/pulse_id");
|
||||
pulse_id_dataset.read(&pulse_id_data[0], H5::PredType::NATIVE_UINT64);
|
||||
|
||||
auto frame_index_data = make_unique<uint64_t[]>(n_images);
|
||||
auto frame_index_dataset = reader.openDataSet("frame_index");
|
||||
auto frame_index_dataset = reader.openDataSet("/data/detector/frame_index");
|
||||
frame_index_dataset.read(&frame_index_data[0], H5::PredType::NATIVE_UINT64);
|
||||
|
||||
auto daq_rec_data = make_unique<uint32_t[]>(n_images);
|
||||
auto daq_rec_dataset = reader.openDataSet("daq_rec");
|
||||
auto daq_rec_dataset = reader.openDataSet("/data/detector/daq_rec");
|
||||
daq_rec_dataset.read(&daq_rec_data[0], H5::PredType::NATIVE_UINT32);
|
||||
|
||||
auto is_good_frame_data = make_unique<uint8_t[]>(n_images);
|
||||
auto is_good_frame_dataset = reader.openDataSet("is_good_frame");
|
||||
auto is_good_frame_dataset =
|
||||
reader.openDataSet("/data/detector/is_good_frame");
|
||||
is_good_frame_dataset.read(
|
||||
&is_good_frame_data[0], H5::PredType::NATIVE_UINT8);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user