59 std::vector<InputSpec> inputspecs = {
60 InputSpec{
"tpc",
"TPC",
"SOMEDATA", 0, Lifetime::Timeframe},
62 InputSpec{
"tof",
"TOF",
"SOMEDATA", 1, Lifetime::Timeframe}};
72 std::vector<InputRoute>
schema = {
73 createRoute(
"tpc_source", inputspecs[0]),
74 createRoute(
"its_source", inputspecs[1]),
75 createRoute(
"tof_source", inputspecs[2])};
77 decltype(DataSet::values) checkValues;
78 DataSet::Messages messages;
80 auto createMessage = [&messages, &checkValues](
DataHeader dh) {
81 checkValues.emplace_back(fmt::format(
"{}_{}_{}", dh.dataOrigin, dh.dataDescription, dh.subSpecification));
82 std::string
const&
data = checkValues.back();
83 dh.payloadSize =
data.size();
86 auto it = messages.begin(),
end = messages.end();
87 for (; it !=
end; ++it) {
88 if (it->first == dh.dataOrigin) {
93 messages.resize(messages.size() + 1);
94 it = messages.end() - 1;
95 it->first = dh.dataOrigin;
97 auto& routemessages = it->second;
98 routemessages.emplace_back(std::make_unique<std::vector<char>>(
stack.size()));
99 memcpy(routemessages.back()->data(),
stack.data(), routemessages.back()->size());
100 routemessages.emplace_back(std::make_unique<std::vector<char>>(dh.payloadSize));
101 memcpy(routemessages.back()->data(),
data.data(), routemessages.back()->size());
133 return {std::move(
schema), std::move(messages), std::move(checkValues), registry};
140 REQUIRE(dataset.messages.size() > 0);
141 REQUIRE(dataset.messages[0].second.at(0) !=
nullptr);
142 REQUIRE(inputs.
size() == 3);
143 REQUIRE((*inputs.
begin()).header == dataset.messages[0].second.at(0)->data());
147 auto const* dh = DataRefUtils::getHeader<o2::header::DataHeader*>(
ref);
148 auto const data = inputs.
get<std::string>(
ref);
154 std::vector<InputSpec>
filter{
155 {
"tpc",
"TPC",
"SOMEDATA", 0, Lifetime::Timeframe},
161 auto const data = inputs.
get<std::string>(
ref);