From 81feebd4f6fd872f955533f2e37b6367c1f0371c Mon Sep 17 00:00:00 2001 From: Andrej Babic Date: Thu, 2 Apr 2020 15:46:52 +0200 Subject: [PATCH] Implement a simple transfer test --- core-writer/test/test_ZmqRecvModule.cpp | 63 ++++++++++++++++--------- 1 file changed, 41 insertions(+), 22 deletions(-) diff --git a/core-writer/test/test_ZmqRecvModule.cpp b/core-writer/test/test_ZmqRecvModule.cpp index 5779acd..304613e 100644 --- a/core-writer/test/test_ZmqRecvModule.cpp +++ b/core-writer/test/test_ZmqRecvModule.cpp @@ -1,35 +1,30 @@ #include "gtest/gtest.h" #include "ZmqRecvModule.hpp" +#include +#include #include "RingBuffer.hpp" using namespace std; +void generate_stream(size_t n_messages) +{ + zmq::context_t context(1); + zmq::socket_t socket(context, ZMQ_PUSH); + socket.bind("tcp://127.0.0.1:11000"); + + for (size_t i=0; i header_values { - {"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)} - }; - - ZmqRecvModule zmq_recv_module(ring_buffer,header_values); + ZmqRecvModule zmq_recv_module(ring_buffer, {}); uint8_t n_receivers = 4; zmq_recv_module.start_recv("tcp://127.0.0.1:10000", n_receivers); @@ -39,3 +34,27 @@ TEST(ZmqRecvModule, basic_interaction) zmq_recv_module.stop_recv(); } + +TEST(ZmqRecvModule, simple_recv) +{ + size_t n_msg = 10; + + thread sender(generate_stream, n_msg); + RingBuffer ring_buffer(n_msg); + + ZmqRecvModule zmq_recv_module(ring_buffer, {}); + zmq_recv_module.start_writing(); + zmq_recv_module.start_recv("tcp://127.0.0.1:11000", 4); + + sender.join(); + zmq_recv_module.stop_recv(); + + for (size_t i=0;i