1212#include " dfmessages/TriggerDecisionToken.hpp"
1313#include " dfmessages/TriggerInhibit.hpp"
1414#include " dfmodules/CommonIssues.hpp"
15+ #include " dfmodules/opmon/DFOModule.pb.h"
1516#include " iomanager/IOManager.hpp"
1617#include " iomanager/Sender.hpp"
1718#include " opmonlib/TestOpMonManager.hpp"
18- #include " dfmodules/opmon/DFOModule.pb.h"
1919
2020#define BOOST_TEST_MODULE DFOModule_test // NOLINT
2121
@@ -30,7 +30,6 @@ using namespace dunedaq::dfmodules;
3030
3131namespace dunedaq {
3232
33-
3433struct EnvFixture
3534{
3635 EnvFixture () { setenv (" DUNEDAQ_PARTITION" , " partition_name" , 0 ); }
@@ -40,33 +39,32 @@ BOOST_TEST_GLOBAL_FIXTURE(EnvFixture);
4039struct CfgFixture
4140{
4241 CfgFixture ()
43- { std::string oksConfig = " oksconflibs:test/config/datafloworchestrator_test.data.xml" ;
42+ {
43+ std::string oksConfig = " oksconflibs:test/config/datafloworchestrator_test.data.xml" ;
4444 std::string appName = " TestApp" ;
4545 std::string sessionName = " partition_name" ;
4646 cfgMgr = std::make_shared<dunedaq::appfwk::ConfigurationManager>(oksConfig, appName, sessionName);
4747 get_iomanager ()->configure (sessionName, cfgMgr->get_queues (), cfgMgr->get_networkconnections (), nullptr , opmgr);
4848 }
49- ~CfgFixture () {
50- get_iomanager ()->reset ();
51- }
49+ ~CfgFixture () { get_iomanager ()->reset (); }
5250
53- auto get_dfo_info () {
51+ auto get_dfo_info ()
52+ {
5453
5554 opmgr.collect ();
5655 auto opmon_facility = opmgr.get_backend_facility ();
5756 auto list = opmon_facility->get_entries (std::regex (" .*DFOInfo" ));
5857 BOOST_REQUIRE_EQUAL (list.size (), 1 );
59- const auto & entry = list.front ();
60- return opmonlib::from_entry<dfmodules::opmon::DFOInfo>( entry );
58+ const auto & entry = list.front ();
59+ return opmonlib::from_entry<dfmodules::opmon::DFOInfo>(entry);
6160 }
62-
61+
6362 dunedaq::opmonlib::TestOpMonManager opmgr;
6463 std::shared_ptr<dunedaq::appfwk::ConfigurationManager> cfgMgr;
6564};
6665
6766BOOST_FIXTURE_TEST_SUITE (DFOModule_test, CfgFixture)
6867
69-
7068void
7169send_init_token (std::string connection_name = " trigdec_0" )
7270{
@@ -147,13 +145,14 @@ BOOST_AUTO_TEST_CASE(Commands)
147145 opmgr.register_node (" dfo" , dfo);
148146 dfo->init (cfgMgr);
149147
150- auto start_json = static_cast <appfwk::DAQModule::CommandData_t>(" {\" run\" : 1}" _json);
151- appfwk::DAQModule::CommandData_t null_json;
148+ appfwk::DAQModule::CommandData_t null_data;
149+ appfwk::DAQModule::CommandData_t start_data;
150+ start_data.emplace (" run" , 1 );
152151
153- dfo->execute_command (" conf" , null_json );
154- dfo->execute_command (" start" , start_json );
155- dfo->execute_command (" drain_dataflow" , null_json );
156- dfo->execute_command (" scrap" , null_json );
152+ dfo->execute_command (" conf" , null_data );
153+ dfo->execute_command (" start" , start_data );
154+ dfo->execute_command (" drain_dataflow" , null_data );
155+ dfo->execute_command (" scrap" , null_data );
157156
158157 auto metric = get_dfo_info ();
159158 BOOST_REQUIRE_EQUAL (metric.tokens_received (), 0 );
@@ -164,7 +163,6 @@ BOOST_AUTO_TEST_CASE(Commands)
164163 BOOST_REQUIRE_EQUAL (metric.deciding_destination (), 0 );
165164 BOOST_REQUIRE_EQUAL (metric.waiting_for_token (), 0 );
166165 BOOST_REQUIRE_EQUAL (metric.processing_token (), 0 );
167-
168166}
169167
170168BOOST_AUTO_TEST_CASE (DataFlow)
@@ -173,10 +171,11 @@ BOOST_AUTO_TEST_CASE(DataFlow)
173171 opmgr.register_node (" dfo" , dfo);
174172 dfo->init (cfgMgr);
175173
176- auto start_json = static_cast <appfwk::DAQModule::CommandData_t>(" {\" run\" : 1}" _json);
177- appfwk::DAQModule::CommandData_t null_json;
174+ appfwk::DAQModule::CommandData_t null_data;
175+ appfwk::DAQModule::CommandData_t start_data;
176+ start_data.emplace (" run" , 1 );
178177
179- dfo->execute_command (" conf" , null_json );
178+ dfo->execute_command (" conf" , null_data );
180179
181180 auto iom = iomanager::IOManager::get ();
182181 auto dec_recv = iom->get_receiver <dfmessages::TriggerDecision>(" trigdec_0" );
@@ -191,14 +190,12 @@ BOOST_AUTO_TEST_CASE(DataFlow)
191190 send_token (9999 , " trigdec_0" , true );
192191 std::this_thread::sleep_for (std::chrono::milliseconds (50 ));
193192
194-
195-
196193 // Note: Counters are reset by calling get_dfo_info!
197194 auto metric = get_dfo_info ();
198-
195+
199196 BOOST_REQUIRE_EQUAL (metric.tokens_received (), 0 );
200197
201- dfo->execute_command (" start" , start_json );
198+ dfo->execute_command (" start" , start_data );
202199 send_init_token ();
203200
204201 std::this_thread::sleep_for (std::chrono::milliseconds (150 ));
@@ -227,8 +224,8 @@ BOOST_AUTO_TEST_CASE(DataFlow)
227224 BOOST_REQUIRE_EQUAL (metric.decisions_sent (), 1 );
228225 BOOST_REQUIRE (!busy_signal_recvd.load ());
229226
230- dfo->execute_command (" drain_dataflow" , null_json );
231- dfo->execute_command (" scrap" , null_json );
227+ dfo->execute_command (" drain_dataflow" , null_data );
228+ dfo->execute_command (" scrap" , null_data );
232229
233230 dec_recv->remove_callback ();
234231 inh_recv->remove_callback ();
@@ -240,12 +237,13 @@ BOOST_AUTO_TEST_CASE(SendTrigDecFailed)
240237 opmgr.register_node (" dfo" , dfo);
241238 dfo->init (cfgMgr);
242239
243- auto start_json = static_cast <appfwk::DAQModule::CommandData_t>(" {\" run\" : 1}" _json);
244- appfwk::DAQModule::CommandData_t null_json;
240+ appfwk::DAQModule::CommandData_t null_data;
241+ appfwk::DAQModule::CommandData_t start_data;
242+ start_data.emplace (" run" , 1 );
245243
246- dfo->execute_command (" conf" , null_json );
244+ dfo->execute_command (" conf" , null_data );
247245
248- dfo->execute_command (" start" , start_json );
246+ dfo->execute_command (" start" , start_data );
249247
250248 send_init_token (" invalid_connection" );
251249
@@ -267,8 +265,8 @@ BOOST_AUTO_TEST_CASE(SendTrigDecFailed)
267265 send_token (1000 );
268266 std::this_thread::sleep_for (std::chrono::milliseconds (50 ));
269267
270- dfo->execute_command (" drain_dataflow" , null_json );
271- dfo->execute_command (" scrap" , null_json );
268+ dfo->execute_command (" drain_dataflow" , null_data );
269+ dfo->execute_command (" scrap" , null_data );
272270}
273271
274272BOOST_AUTO_TEST_SUITE_END ()
0 commit comments