From 04b0d76edfcb10c4ce0e9436a2052bb07e34bd42 Mon Sep 17 00:00:00 2001 From: Andrej Babic Date: Fri, 19 Jun 2020 11:42:06 +0200 Subject: [PATCH] Adapting tests to device name --- sf-writer/test/test_JFH5Writer.cpp | 72 +++++++++++++++++++----------- 1 file changed, 45 insertions(+), 27 deletions(-) diff --git a/sf-writer/test/test_JFH5Writer.cpp b/sf-writer/test/test_JFH5Writer.cpp index 6577f3c..29364c6 100644 --- a/sf-writer/test/test_JFH5Writer.cpp +++ b/sf-writer/test/test_JFH5Writer.cpp @@ -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(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(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(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(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_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(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(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(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);