* Use parantheses around logging macro parameter This allows the macro to expand "correctly", i.e. macro argument expression is fully evaluated before use. Signed-off-by: Abrar Rahman Protyasha <aprotyas@u.rochester.edu> * Remove redundant parantheses around macro param `decltype(X)` already provides sufficient "scoping" to the macro parameter `X`. Signed-off-by: Abrar Rahman Protyasha <aprotyas@u.rochester.edu> * Add test case for expressions as logging param Signed-off-by: Abrar Rahman Protyasha <aprotyas@u.rochester.edu> (cherry picked from commit f7bb88fc8fabcaf5008dfe87b5aec7d2269ba147) Co-authored-by: Abrar Rahman Protyasha <aprotyas@u.rochester.edu>
This commit is contained in:
parent
1ea25302c3
commit
15edc93a5f
2 changed files with 7 additions and 1 deletions
|
@ -149,7 +149,7 @@ def get_rclcpp_suffix_from_features(features):
|
|||
@[ if params]@
|
||||
@(''.join([' ' + p + ', \\\n' for p in params if p != stream_arg]))@
|
||||
@[ end if]@
|
||||
logger.get_name(), \
|
||||
(logger).get_name(), \
|
||||
@[ if 'stream' not in feature_combination]@
|
||||
rclcpp::get_c_string(RCLCPP_FIRST_ARG(__VA_ARGS__, "")), \
|
||||
RCLCPP_ALL_BUT_FIRST_ARGS(__VA_ARGS__,"")); \
|
||||
|
|
|
@ -249,6 +249,12 @@ TEST_F(TestLoggingMacros, test_throttle) {
|
|||
}
|
||||
}
|
||||
|
||||
TEST_F(TestLoggingMacros, test_parameter_expression) {
|
||||
RCLCPP_DEBUG_STREAM(*&g_logger, "message");
|
||||
EXPECT_EQ(1u, g_log_calls);
|
||||
EXPECT_EQ("message", g_last_log_event.message);
|
||||
}
|
||||
|
||||
bool log_function(rclcpp::Logger logger)
|
||||
{
|
||||
RCLCPP_INFO(logger, "successful log");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue