From 88364592bf0e6a2b9e874528e2daae8deae23926 Mon Sep 17 00:00:00 2001 From: Andrej Babic Date: Mon, 11 May 2020 17:13:20 +0200 Subject: [PATCH] Add first BufferUdpReceiver test --- core-buffer/test/main.cpp | 1 + core-buffer/test/test_BufferUdpReceiver.cpp | 55 +++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 core-buffer/test/test_BufferUdpReceiver.cpp diff --git a/core-buffer/test/main.cpp b/core-buffer/test/main.cpp index 1709861..895d0c6 100644 --- a/core-buffer/test/main.cpp +++ b/core-buffer/test/main.cpp @@ -7,6 +7,7 @@ #include "test_SFWriter.cpp" #include "test_FastQueue.cpp" #include "test_LiveRecvModule.cpp" +#include "test_BufferUdpReceiver.cpp" using namespace std; diff --git a/core-buffer/test/test_BufferUdpReceiver.cpp b/core-buffer/test/test_BufferUdpReceiver.cpp new file mode 100644 index 0000000..4a13156 --- /dev/null +++ b/core-buffer/test/test_BufferUdpReceiver.cpp @@ -0,0 +1,55 @@ +#include +#include +#include "gtest/gtest.h" +#include "BufferUdpReceiver.hpp" +#include "mock/udp.hpp" + +#include +#include +#include + +using namespace std; + +TEST(BufferUdpReceiver, simple_recv) +{ + auto n_packets = JUNGFRAU_N_PACKETS_PER_FRAME; + + 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); + + BufferUdpReceiver udp_receiver(udp_port, 1); + this_thread::sleep_for(chrono::milliseconds(100)); + + uint64_t send_pulse_id = 1234567; + + auto handle = async(launch::async, [&](){ + for (size_t i_packet=0; i_packet(JUNGFRAU_DATA_BYTES_PER_FRAME); + + auto pulse_id = udp_receiver.get_frame_from_udp(metadata, frame_buffer.get()); + ASSERT_EQ(send_pulse_id, pulse_id); + + ::close(send_socket_fd); +}