mirror of
https://github.com/paulscherrerinstitute/sf_daq_buffer.git
synced 2026-05-02 23:24:13 +02:00
Fixed all tests
This commit is contained in:
@@ -62,8 +62,6 @@ inline uint64_t JfjFrameUdpReceiver::process_packets(ModuleFrame& metadata, char
|
||||
|
||||
uint64_t JfjFrameUdpReceiver::get_frame_from_udp(ModuleFrame& metadata, char* frame_buffer){
|
||||
// Reset the metadata and frame buffer for the next frame. (really needed?)
|
||||
std::cout << "Asking for next frame..." << std::endl;
|
||||
|
||||
metadata.pulse_id = 0;
|
||||
metadata.n_recv_packets = 0;
|
||||
memset(frame_buffer, 0, m_num_data_bytes);
|
||||
@@ -78,9 +76,6 @@ uint64_t JfjFrameUdpReceiver::get_frame_from_udp(ModuleFrame& metadata, char* fr
|
||||
|
||||
while (true) {
|
||||
// Receive new packages (pass if none)...
|
||||
std::cout << "Fetching new data..." << std::endl;
|
||||
|
||||
// m_buffer.reset();
|
||||
m_buffer.fill_from(m_udp_receiver);
|
||||
if (m_buffer.is_empty()) { continue; }
|
||||
|
||||
|
||||
@@ -187,7 +187,6 @@ TEST(BufferUdpReceiver, missing_last_packet){
|
||||
// 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());
|
||||
std::cout << "Retrieved pulse_id: " << pulse_id << std::endl;
|
||||
|
||||
ASSERT_EQ(i_frame + 1, pulse_id);
|
||||
ASSERT_EQ(metadata.frame_index, i_frame + 1000);
|
||||
|
||||
@@ -28,18 +28,15 @@ class MockReceiver{
|
||||
uint64_t packet_per_frame = 512;
|
||||
uint64_t num_bunches = 100;
|
||||
uint64_t num_packets =50;
|
||||
jfjoch_packet_t tmp;
|
||||
|
||||
uint64_t receive_many(mmsghdr* msgs, const size_t n_msgs){
|
||||
// Receive 'num_packets numner of packets'
|
||||
for(int ii=0; ii<num_packets; ii++){
|
||||
std::cout << "Buffer length: " << msgs[ii].msg_hdr.msg_iov->iov_len << "\tExpected: " << sizeof(jfjoch_packet_t) << std::endl;
|
||||
|
||||
jfjoch_packet_t& refer = reinterpret_cast<jfjoch_packet_t&>(msgs[ii].msg_hdr.msg_iov->iov_base);
|
||||
refer.framenum = idx_packet / packet_per_frame;
|
||||
refer.bunchid = idx_packet / packet_per_frame;
|
||||
refer.packetnum = idx_packet % packet_per_frame;
|
||||
|
||||
std::cout << refer << "\n";
|
||||
for(int ii=0; ii<num_packets; ii++){
|
||||
tmp.framenum = idx_packet / packet_per_frame;
|
||||
tmp.bunchid = 1000 + idx_packet / packet_per_frame;
|
||||
tmp.packetnum = idx_packet % packet_per_frame;
|
||||
memcpy( msgs[ii].msg_hdr.msg_iov->iov_base, &tmp, sizeof(tmp));
|
||||
idx_packet++;
|
||||
}
|
||||
return num_packets;
|
||||
@@ -49,7 +46,6 @@ class MockReceiver{
|
||||
|
||||
|
||||
TEST(BufferUdpReceiver, packetbuffer_simple){
|
||||
std::cout << "Testing PacketBuffer..." << std::endl;
|
||||
|
||||
PacketBuffer<jfjoch_packet_t, 128> p_buffer;
|
||||
MockReceiver mockery;
|
||||
@@ -63,12 +59,9 @@ TEST(BufferUdpReceiver, packetbuffer_simple){
|
||||
|
||||
// First packet
|
||||
ASSERT_FALSE(p_buffer.is_empty());
|
||||
ASSERT_EQ(p_buffer.size(), 25);
|
||||
|
||||
std::cout << "Current packet:\n" << p_buffer.peek_front();
|
||||
ASSERT_EQ(p_buffer.size(), 25);
|
||||
|
||||
|
||||
ASSERT_EQ(p_buffer.peek_front().bunchid, 7);
|
||||
ASSERT_EQ(p_buffer.peek_front().bunchid, 1007);
|
||||
ASSERT_EQ(p_buffer.peek_front().packetnum, 13);
|
||||
prev_bunch = p_buffer.peek_front().bunchid;
|
||||
prev_packet = p_buffer.peek_front().packetnum;
|
||||
@@ -80,6 +73,4 @@ TEST(BufferUdpReceiver, packetbuffer_simple){
|
||||
ASSERT_EQ(p_pop.packetnum, prev_packet);
|
||||
ASSERT_EQ(p_buffer.peek_front().bunchid, prev_bunch);
|
||||
ASSERT_EQ(p_buffer.peek_front().packetnum, prev_packet+1);
|
||||
std::cout << "Done..." << std::endl;
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user