LCOV - code coverage report
Current view: top level - test/DAQdata - GenericFragmentSimulator_t.cc (source / functions) Coverage Total Hit
Test: artdaq.info.cleaned Lines: 100.0 % 18 18
Test Date: 2025-09-04 00:45:34 Functions: 100.0 % 2 2

            Line data    Source code
       1              : #define BOOST_TEST_MODULE GenericFragmentSimulator_t
       2              : #include <boost/test/unit_test.hpp>
       3              : 
       4              : #include "artdaq-core/Data/Fragment.hh"
       5              : #include "artdaq-core/Data/detail/RawFragmentHeader.hh"
       6              : #include "artdaq-core/Plugins/FragmentGenerator.hh"
       7              : #include "artdaq-core/Plugins/makeFragmentGenerator.hh"
       8              : #include "fhiclcpp/ParameterSet.h"
       9              : 
      10              : #include <cstddef>
      11              : 
      12              : std::size_t const NUM_EVENTS = 2;
      13              : std::size_t const NUM_FRAGS_PER_EVENT = 5;
      14              : std::size_t const FRAGMENT_SIZE = 110;
      15              : 
      16              : BOOST_AUTO_TEST_SUITE(GenericFragmentSimulator_t)
      17              : 
      18            2 : BOOST_AUTO_TEST_CASE(Simple)
      19              : {
      20            1 :         fhicl::ParameterSet sim_config;
      21            1 :         sim_config.put("fragments_per_event", NUM_FRAGS_PER_EVENT);
      22            3 :         sim_config.put("want_random_payload_size", false);
      23            2 :         sim_config.put("payload_size", FRAGMENT_SIZE);
      24            1 :         auto sim = artdaq::makeFragmentGenerator("GenericFragmentSimulator", sim_config);
      25            1 :         artdaq::FragmentPtrs fragments;
      26            1 :         std::size_t num_events_seen = 0;
      27            3 :         while (fragments.clear(), num_events_seen < NUM_EVENTS && sim->getNext(fragments))
      28              :         {
      29            2 :                 BOOST_REQUIRE_EQUAL(fragments.size(), NUM_FRAGS_PER_EVENT);
      30           12 :                 for (auto&& fragptr : fragments)
      31              :                 {
      32           10 :                         BOOST_CHECK(fragptr.get());
      33           10 :                         BOOST_CHECK_EQUAL(fragptr->sequenceID(), num_events_seen + 1);
      34           10 :                         BOOST_CHECK_EQUAL(fragptr->size(), FRAGMENT_SIZE + artdaq::detail::RawFragmentHeader::num_words());
      35           10 :                         BOOST_CHECK_EQUAL(fragptr->dataSize(), FRAGMENT_SIZE);
      36              :                 }
      37            2 :                 ++num_events_seen;
      38              :         }
      39            1 :         BOOST_REQUIRE_EQUAL(num_events_seen, NUM_EVENTS);
      40            1 : }
      41              : 
      42              : BOOST_AUTO_TEST_SUITE_END()
        

Generated by: LCOV version 2.0-1