LCOV - code coverage report
Current view: top level - ers/src - Schema.cpp (source / functions) Coverage Total Hit
Test: code.result Lines: 0.0 % 53 0
Test Date: 2026-10-11 15:05:20 Functions: 0.0 % 6 0

            Line data    Source code
       1              : #include <ers/Schema.hpp>
       2              : 
       3              : // converters with allocation
       4              : dunedaq::ersschema::Context
       5            0 : ers::to_schema(const Context& c)
       6              : {
       7              : 
       8            0 :   dunedaq::ersschema::Context out;
       9            0 :   to_schema(c, out);
      10            0 :   return out;
      11            0 : }
      12              : 
      13              : dunedaq::ersschema::SimpleIssue
      14            0 : ers::to_schema(const Issue& i)
      15              : {
      16              : 
      17            0 :   dunedaq::ersschema::SimpleIssue out;
      18            0 :   to_schema(i, out);
      19            0 :   return out;
      20            0 : }
      21              : 
      22              : dunedaq::ersschema::IssueChain
      23            0 : ers::to_schema_chain(const Issue& i)
      24              : {
      25              : 
      26            0 :   dunedaq::ersschema::IssueChain out;
      27            0 :   to_schema(i, out);
      28            0 :   return out;
      29            0 : }
      30              : 
      31              : void
      32            0 : ers::to_schema(const Context& c, dunedaq::ersschema::Context& out)
      33              : {
      34              : 
      35            0 :   out.set_cwd(c.cwd());
      36            0 :   out.set_file_name(c.file_name());
      37            0 :   out.set_function_name(c.function_name());
      38            0 :   out.set_host_name(c.host_name());
      39            0 :   out.set_line_number(c.line_number());
      40            0 :   out.set_package_name(c.package_name());
      41              : 
      42            0 :   out.set_process_id(c.process_id());
      43            0 :   out.set_thread_id(c.thread_id());
      44            0 :   out.set_user_id(c.user_id());
      45            0 :   out.set_user_name(c.user_name());
      46            0 :   out.set_application_name(c.application_name());
      47            0 : }
      48              : 
      49              : void
      50            0 : ers::to_schema(const Issue& i, dunedaq::ersschema::SimpleIssue& out)
      51              : {
      52              : 
      53            0 :   auto c = to_schema(i.context());
      54              : 
      55            0 :   (*out.mutable_context()) = c;
      56              : 
      57            0 :   out.set_name(i.get_class_name());
      58              : 
      59            0 :   auto inheritance = i.get_class_inheritance();
      60            0 :   for (auto& c : inheritance) {
      61            0 :     out.add_inheritance(c);
      62              :   }
      63              : 
      64            0 :   out.set_message(i.message());
      65            0 :   out.set_severity(ers::to_string(i.severity()));
      66            0 :   auto time = std::chrono::duration_cast<std::chrono::nanoseconds>(i.ptime().time_since_epoch()).count();
      67            0 :   out.set_time(time);
      68              : 
      69            0 :   auto& params = (*out.mutable_parameters());
      70            0 :   for (auto p : i.parameters()) {
      71            0 :     params[p.first] = p.second;
      72            0 :   }
      73            0 : }
      74              : 
      75              : void
      76            0 : ers::to_schema(const Issue& i, dunedaq::ersschema::IssueChain& out)
      77              : {
      78              : 
      79            0 :   (*out.mutable_final()) = to_schema(i);
      80              : 
      81            0 :   auto cause_ptr = i.cause();
      82              : 
      83            0 :   while (cause_ptr) {
      84            0 :     auto ptr = out.add_causes();
      85            0 :     to_schema(*cause_ptr, *ptr);
      86            0 :     ptr->set_severity(ers::to_string(i.severity())); // severity is forced to be the same as the top issue
      87            0 :     cause_ptr = cause_ptr->cause();
      88              :   }
      89            0 : }
        

Generated by: LCOV version 2.0-1