diff --git a/jf-zmqstreamer/test/CMakeLists.txt b/jf-zmqstreamer/test/CMakeLists.txt index 83358a3..e8b74fa 100644 --- a/jf-zmqstreamer/test/CMakeLists.txt +++ b/jf-zmqstreamer/test/CMakeLists.txt @@ -1,8 +1,8 @@ -add_executable(jfj-combined-tests main.cpp) +add_executable(jf-zmqstreamer-tests main.cpp) -target_link_libraries(jfj-combined-tests +target_link_libraries(jf-zmqstreamer-tests core-buffer-lib - jfj-combined-lib + jf-zmqstreamer-lib gtest ) diff --git a/jf-zmqstreamer/test/main.cpp b/jf-zmqstreamer/test/main.cpp index de16fb4..566b48a 100644 --- a/jf-zmqstreamer/test/main.cpp +++ b/jf-zmqstreamer/test/main.cpp @@ -1,6 +1,6 @@ #include "gtest/gtest.h" #include "test_PacketUdpReceiver.cpp" -#include "test_FrameUdpReceiver.cpp" +// #include "test_FrameUdpReceiver.cpp" #include "test_PacketBuffer.cpp" using namespace std; diff --git a/jf-zmqstreamer/test/test_FrameUdpReceiver.cpp b/jf-zmqstreamer/test/test_FrameUdpReceiver.cpp deleted file mode 100644 index 9410415..0000000 --- a/jf-zmqstreamer/test/test_FrameUdpReceiver.cpp +++ /dev/null @@ -1,199 +0,0 @@ -#include -#include -#include "gtest/gtest.h" -#include "JfjFrameUdpReceiver.hpp" -#include "mock/udp.hpp" - -#include -#include -#include - -using namespace std; -#define NUM_TEST_MODULES 3 - - -TEST(BufferUdpReceiver, simple_recv){ - int n_packets = NUM_TEST_MODULES * JFJOCH_N_PACKETS_PER_MODULE; - int n_frames = 3; - - uint16_t udp_port = MOCK_UDP_PORT; - auto server_address = get_server_address(udp_port); - auto send_socket_fd = socket(AF_INET, SOCK_DGRAM, 0); - ASSERT_TRUE(send_socket_fd >= 0); - - JfjFrameUdpReceiver udp_receiver(udp_port, NUM_TEST_MODULES); - - auto handle = async(launch::async, [&](){ - for (int64_t i_frame=0; i_frame < n_frames; i_frame++){ - for (size_t i_packet=0; i_packet(NUM_TEST_MODULES*JFJOCH_DATA_BYTES_PER_MODULE); - - for (int i_frame=0; i_frame < n_frames; i_frame++) { - auto pulse_id = udp_receiver.get_frame_from_udp(metadata, frame_buffer.get()); - - ASSERT_EQ(i_frame + 1, pulse_id); - ASSERT_EQ(metadata.frame_index, i_frame + 1000); - ASSERT_EQ(metadata.daq_rec, i_frame + 10000); - ASSERT_EQ(metadata.n_recv_packets, n_packets); - } - - ::close(send_socket_fd); -} - -TEST(BufferUdpReceiver, missing_middle_packet){ - int n_packets = NUM_TEST_MODULES * JFJOCH_N_PACKETS_PER_MODULE; - int n_frames = 3; - - uint16_t udp_port = MOCK_UDP_PORT; - auto server_address = get_server_address(udp_port); - auto send_socket_fd = socket(AF_INET, SOCK_DGRAM, 0); - ASSERT_TRUE(send_socket_fd >= 0); - - JfjFrameUdpReceiver udp_receiver(udp_port, NUM_TEST_MODULES); - - auto handle = async(launch::async, [&](){ - for (int64_t i_frame=0; i_frame < n_frames; i_frame++){ - for (size_t i_packet=0; i_packet(NUM_TEST_MODULES * JFJOCH_DATA_BYTES_PER_MODULE); - - for (int i_frame=0; i_frame < n_frames; i_frame++) { - auto pulse_id = udp_receiver.get_frame_from_udp( - metadata, frame_buffer.get()); - - ASSERT_EQ(i_frame + 1, pulse_id); - ASSERT_EQ(metadata.frame_index, i_frame + 1000); - ASSERT_EQ(metadata.daq_rec, i_frame + 10000); - // -1 because we skipped a packet. - ASSERT_EQ(metadata.n_recv_packets, n_packets - 1); - } - - ::close(send_socket_fd); -} - -TEST(BufferUdpReceiver, missing_first_packet){ - auto n_packets = NUM_TEST_MODULES * JFJOCH_N_PACKETS_PER_MODULE; - int n_frames = 3; - - uint16_t udp_port = MOCK_UDP_PORT; - auto server_address = get_server_address(udp_port); - auto send_socket_fd = socket(AF_INET, SOCK_DGRAM, 0); - ASSERT_TRUE(send_socket_fd >= 0); - - JfjFrameUdpReceiver udp_receiver(udp_port, NUM_TEST_MODULES); - - auto handle = async(launch::async, [&](){ - for (int64_t i_frame=0; i_frame < n_frames; i_frame++){ - for (size_t i_packet=0; i_packet(NUM_TEST_MODULES * JFJOCH_DATA_BYTES_PER_MODULE); - - for (int i_frame=0; i_frame < n_frames; i_frame++) { - auto pulse_id = udp_receiver.get_frame_from_udp(metadata, frame_buffer.get()); - - ASSERT_EQ(i_frame + 1, pulse_id); - ASSERT_EQ(metadata.frame_index, i_frame + 1000); - ASSERT_EQ(metadata.daq_rec, i_frame + 10000); - // -2 because we skipped a packet. - ASSERT_EQ(metadata.n_recv_packets, n_packets - 1); - } - - ::close(send_socket_fd); -} - -TEST(BufferUdpReceiver, missing_last_packet){ - int n_packets = NUM_TEST_MODULES * JFJOCH_N_PACKETS_PER_MODULE; - int n_frames = 4; - - uint16_t udp_port = MOCK_UDP_PORT; - auto server_address = get_server_address(udp_port); - auto send_socket_fd = socket(AF_INET, SOCK_DGRAM, 0); - ASSERT_TRUE(send_socket_fd >= 0); - - JfjFrameUdpReceiver udp_receiver(udp_port, NUM_TEST_MODULES); - - auto handle = async(launch::async, [&](){ - for (int64_t i_frame=0; i_frame < n_frames+1; i_frame++){ - for (size_t i_packet=0; i_packet(NUM_TEST_MODULES * JFJOCH_DATA_BYTES_PER_MODULE); - - // n_frames -1 because the last frame is not complete. - for (int i_frame=0; i_frame < n_frames - 1; i_frame++) { - auto pulse_id = udp_receiver.get_frame_from_udp(metadata, frame_buffer.get()); - - ASSERT_EQ(i_frame + 1, pulse_id); - ASSERT_EQ(metadata.frame_index, i_frame + 1000); - ASSERT_EQ(metadata.daq_rec, i_frame + 10000); - // -1 because we skipped a packet. - ASSERT_EQ(metadata.n_recv_packets, n_packets - 1); - } - - ::close(send_socket_fd); -} diff --git a/jf-zmqstreamer/test/test_PacketBuffer.cpp b/jf-zmqstreamer/test/test_PacketBuffer.cpp index 7b602a8..14b9335 100644 --- a/jf-zmqstreamer/test/test_PacketBuffer.cpp +++ b/jf-zmqstreamer/test/test_PacketBuffer.cpp @@ -1,7 +1,7 @@ #include #include #include "gtest/gtest.h" -#include "PacketBuffer.hpp" +#include "../include/PacketBuffer.hpp" #include #include diff --git a/jf-zmqstreamer/test/test_PacketUdpReceiver.cpp b/jf-zmqstreamer/test/test_PacketUdpReceiver.cpp index 1be343a..b123eaa 100644 --- a/jf-zmqstreamer/test/test_PacketUdpReceiver.cpp +++ b/jf-zmqstreamer/test/test_PacketUdpReceiver.cpp @@ -2,7 +2,7 @@ #include #include "gtest/gtest.h" #include "mock/udp.hpp" -#include "PacketUdpReceiver.hpp" +#include "../include/PacketUdpReceiver.hpp" #include #include @@ -167,4 +167,4 @@ TEST(PacketUdpReceiver, receive_many) udp_receiver.disconnect(); ::close(send_socket_fd); -} \ No newline at end of file +} diff --git a/zmq-receiver/include/BufferTypes.hpp b/zmq-receiver/include/BufferTypes.hpp index f769334..c5283ac 100644 --- a/zmq-receiver/include/BufferTypes.hpp +++ b/zmq-receiver/include/BufferTypes.hpp @@ -132,7 +132,7 @@ public: writer.writeVector(hsh.get&>("user_2"), "/data/" + detector_name + "/user_2"); std::cout << "Writing data: " << hsh.get&>("data").size() << std::endl; - writer.writeArray(hsh.get&>("data"), "/data/" + detector_name + "/data"); + writer.writeArray(hsh.get&>("data"), {m_buffer_size, hsh.get&>("height")[0], hsh.get&>("height")[0], 1}, "/data/" + detector_name + "/data"); run_id++; diff --git a/zmq-receiver/include/Hdf5Writer.hpp b/zmq-receiver/include/Hdf5Writer.hpp index 596134d..976336d 100644 --- a/zmq-receiver/include/Hdf5Writer.hpp +++ b/zmq-receiver/include/Hdf5Writer.hpp @@ -57,7 +57,7 @@ public: }; template - void writeArray(const std::vector& data_ref, const std::vector& shape_ref, std::string ipath){ + void writeArray(const std::vector& data_ref, const std::vector& shape_ref, std::string ipath){ /* Allocating containers for the data */ int64_t n_dim = shape_ref.size(); hsize_t ds_dims[n_dim];