Skip to content

Commit 4de454d

Browse files
committed
Refs #23716: Add UserDataReaderListener unittests
Signed-off-by: Carlosespicur <[email protected]>
1 parent 6f885ba commit 4de454d

File tree

12 files changed

+282
-938
lines changed

12 files changed

+282
-938
lines changed

test/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,9 @@ add_subdirectory(unittest)
1616

1717
# TODO: Uncomment when the test is fixed
1818
# add_subdirectory(dds/communication)
19+
20+
add_custom_target(copy_idl_files ALL
21+
COMMAND ${CMAKE_COMMAND} -E copy_directory
22+
${CMAKE_CURRENT_SOURCE_DIR}/types
23+
${CMAKE_BINARY_DIR}/test/types
24+
)

test/mock/dds/DataReader/fastdds/dds/subscriber/DataReader.hpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
#include <fastdds/dds/subscriber/Subscriber.hpp>
2626
#include <fastdds/dds/subscriber/SampleInfo.hpp>
27+
#include <fastdds/dds/xtypes/dynamic_types/DynamicData.hpp>
2728
#include <fastdds/rtps/common/Guid.hpp>
2829
#include <fastdds_statistics_backend/topic_types/types.hpp>
2930

@@ -41,8 +42,10 @@ class DataReader
4142

4243
using StatisticsData = eprosima::fastdds::statistics::Data;
4344
using MonitorData = eprosima::fastdds::statistics::MonitorServiceStatusData;
45+
using UserData = eprosima::fastdds::dds::DynamicData::_ref_type;
4446
using StatisticsSample = std::pair<std::shared_ptr<StatisticsData>, std::shared_ptr<SampleInfo>>;
4547
using MonitorSample = std::pair<std::shared_ptr<MonitorData>, std::shared_ptr<SampleInfo>>;
48+
using UserDataSample = std::pair<UserData, std::shared_ptr<SampleInfo>>;
4649

4750
using StatisticsWriterReaderData = eprosima::fastdds::statistics::WriterReaderData;
4851
using StatisticsLocator2LocatorData = eprosima::fastdds::statistics::Locator2LocatorData;
@@ -132,6 +135,12 @@ class DataReader
132135
*info = *(monitor_history_.front().second.get());
133136
monitor_history_.pop();
134137
}
138+
else if (!user_data_history_.empty())
139+
{
140+
*static_cast<UserData*>(data) = user_data_history_.front().first->clone();
141+
*info = *(user_data_history_.front().second.get());
142+
user_data_history_.pop();
143+
}
135144
else
136145
{
137146
return RETCODE_NO_DATA;
@@ -166,6 +175,13 @@ class DataReader
166175
monitor_history_.push(std::make_pair(data, info));
167176
}
168177

178+
void add_user_data_sample(
179+
UserData data,
180+
std::shared_ptr<SampleInfo> info)
181+
{
182+
user_data_history_.push(std::make_pair(data, info));
183+
}
184+
169185
void set_guid(
170186
fastdds::rtps::GUID_t guid)
171187
{
@@ -193,6 +209,7 @@ class DataReader
193209
fastdds::rtps::GUID_t guid_;
194210
std::queue<StatisticsSample> history_;
195211
std::queue<MonitorSample> monitor_history_;
212+
std::queue<UserDataSample> user_data_history_;
196213
TopicDescription topic_description_;
197214
std::unique_ptr<Subscriber> subscriber_;
198215
};

test/types/UserData/FooType.hpp

Lines changed: 0 additions & 227 deletions
This file was deleted.

test/types/UserData/FooTypeCdrAux.hpp

Lines changed: 0 additions & 45 deletions
This file was deleted.

0 commit comments

Comments
 (0)