correct initialization of rmw_qos_profile_t struct instances (#416)

Signed-off-by: Miaofei <miaofei@amazon.com>
This commit is contained in:
M. M 2019-04-15 17:43:51 -07:00 committed by William Woodall
parent d94c958a23
commit edaa18ae4b
2 changed files with 38 additions and 26 deletions

View file

@ -145,6 +145,35 @@ TEST_P_RMW(TestGetActualQoS, test_publisher_get_qos_settings) {
rcl_reset_error(); rcl_reset_error();
} }
static constexpr rmw_qos_profile_t non_default_qos_profile()
{
rmw_qos_profile_t profile = rmw_qos_profile_default;
profile.history = RMW_QOS_POLICY_HISTORY_KEEP_ALL;
profile.depth = 1000;
profile.reliability = RMW_QOS_POLICY_RELIABILITY_BEST_EFFORT;
profile.durability = RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL;
profile.liveliness = RMW_QOS_POLICY_LIVELINESS_AUTOMATIC;
profile.avoid_ros_namespace_conventions = true;
return profile;
}
static constexpr rmw_qos_profile_t expected_fastrtps_default_qos_profile()
{
rmw_qos_profile_t profile = rmw_qos_profile_default;
profile.depth = 1;
profile.durability = RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL;
profile.liveliness = RMW_QOS_POLICY_LIVELINESS_AUTOMATIC;
return profile;
}
static constexpr rmw_qos_profile_t expected_system_default_qos_profile()
{
rmw_qos_profile_t profile = rmw_qos_profile_default;
profile.depth = 1;
profile.liveliness = RMW_QOS_POLICY_LIVELINESS_AUTOMATIC;
return profile;
}
std::vector<TestParameters> std::vector<TestParameters>
get_parameters() get_parameters()
{ {
@ -162,20 +191,8 @@ get_parameters()
Test with non-default settings. Test with non-default settings.
*/ */
{ {
{ non_default_qos_profile(),
RMW_QOS_POLICY_HISTORY_KEEP_ALL, non_default_qos_profile(),
1000,
RMW_QOS_POLICY_RELIABILITY_BEST_EFFORT,
RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL,
true
},
{
RMW_QOS_POLICY_HISTORY_KEEP_ALL,
1000,
RMW_QOS_POLICY_RELIABILITY_BEST_EFFORT,
RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL,
true
},
"publisher_non_default_qos" "publisher_non_default_qos"
} }
}); });
@ -185,12 +202,7 @@ get_parameters()
if (!rmw_implementation_str.compare("rmw_fastrtps_cpp") || if (!rmw_implementation_str.compare("rmw_fastrtps_cpp") ||
!rmw_implementation_str.compare("rmw_fastrtps_dynamic_cpp")) !rmw_implementation_str.compare("rmw_fastrtps_dynamic_cpp"))
{ {
rmw_qos_profile_t expected_system_default_qos = { rmw_qos_profile_t expected_system_default_qos = expected_fastrtps_default_qos_profile();
RMW_QOS_POLICY_HISTORY_KEEP_LAST,
1,
RMW_QOS_POLICY_RELIABILITY_RELIABLE,
RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL,
false};
parameters.push_back({ parameters.push_back({
rmw_qos_profile_system_default, rmw_qos_profile_system_default,
expected_system_default_qos, expected_system_default_qos,
@ -200,12 +212,7 @@ get_parameters()
!rmw_implementation_str.compare("rmw_connext_cpp") || !rmw_implementation_str.compare("rmw_connext_cpp") ||
!rmw_implementation_str.compare("rmw_connext_dynamic_cpp")) !rmw_implementation_str.compare("rmw_connext_dynamic_cpp"))
{ {
rmw_qos_profile_t expected_system_default_qos = { rmw_qos_profile_t expected_system_default_qos = expected_system_default_qos_profile();
RMW_QOS_POLICY_HISTORY_KEEP_LAST,
1,
RMW_QOS_POLICY_RELIABILITY_RELIABLE,
RMW_QOS_POLICY_DURABILITY_VOLATILE,
false};
parameters.push_back({ parameters.push_back({
rmw_qos_profile_system_default, rmw_qos_profile_system_default,
expected_system_default_qos, expected_system_default_qos,
@ -213,6 +220,7 @@ get_parameters()
} }
} }
#endif #endif
return parameters; return parameters;
} }

View file

@ -29,6 +29,10 @@ static const rmw_qos_profile_t rcl_action_qos_profile_status_default =
1, 1,
RMW_QOS_POLICY_RELIABILITY_RELIABLE, RMW_QOS_POLICY_RELIABILITY_RELIABLE,
RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL, RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL,
RMW_QOS_DEADLINE_DEFAULT,
RMW_QOS_LIFESPAN_DEFAULT,
RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT,
RMW_QOS_LIVELINESS_LEASE_DURATION_DEFAULT,
false false
}; };